Fundamentos de C - Lección 1

De Wikiversidad
Ortografía

Esta página o sección necesita una revisión de ortografía y gramática.
Puedes ayudar editándolo


Si usted es de las personas que nunca ha programado, este curso es para usted. Aprender los fundamentos de un lenguaje de programación es como abrir las puertas a la oportunidad y a la aventura. Y, en estos tiempos, aprender a programar, aún a un nivel básico, es bastante beneficioso, ya que el lenguaje C proporciona una base para la comprensión de los conceptos básicos de programación. Si sabe cómo programar en C, puede aprender C++, C#, Java, y muchos lenguajes adicionales de programación.

Comenzando[editar]

Para empezar a programar en lenguaje C, necesitará un compilador como Turbo C, GCC, TCC o Dev-C++. Si usa el sistema operativo GNU puede usar el compilador de C, llamado GCC (GNU Compiler Collection).

Para este curso usaremos el compilador Dev-C++.

Una vez que haya obtenido e instalado Dev-C++ en su computador, puede empezar a programar. He aquí un pequeño ejemplo con la clásica aplicación Hola mundo:

Ejecute Dev-C++, vaya al menú Archivo y en el submenú Nuevo seleccione Archivo Fuente, (El atajo de teclado es Ctrl+N).

Escriba esto en su compilador:

 #include <stdio.h>
 int main()
 {
     printf("¡Hola, mundo!\n");
     getchar();
 }

Seguidamente vaya al menú Ejecutar y seleccione el submenú Compilar y Ejecutar, (El atajo de teclado es F9).

Guau. Ahí está. Su primera aplicación en C. Excitante. Y todo lo que tomó fue escribir algunas palabras.

Hemos dicho que usaremos Dev-C++ en este curso, pero puede estar tentado a usar otro compilador tal como Tiny C Compiler o the GNU Compiler Collection.

Debe tener mucho cuidado al realizar su elección, especialmente si eres principiante, porque a menudo puede usar un código que no es estándar para 'ayudarte'.

Si desea aprender correctamente el lenguaje C, debe conocer y comprender las normas ANSI/ISO C de modo que tenga una idea de lo que haces. Un ejemplo de lo anterior es que el archivo de cabecera <conio.h> no está definido por el estándar de C.

Dentro de la estructura de un programa en C existen elementos básicos tales como tipos de datos, operadores, expresiones, variables, constantes, directivas de preproceso, palabras reservadas y caracteres especiales; los cuales pasaremos a explicar a continuación.

Tipos de Datos[editar]

El compilador de C reconoce unos tipos de datos estándar como enteros, flotante y carácter. Estos tipos de datos son:

  • char: ocupa un byte en memoria, se suele utilizar para almacenar caracteres, pues el ASCII-E usa exactamente 8 bits para representar un caracter. (-128 a +127 ó 0 a 255).
  • int: ocupa 4 bytes y es actualmente el tamaño de la palabra de un ordenador de 32 bits, salvo que se esté en posesión de un ordenador de 64 bits con un SO que lo soporte (-2^31 a 2^31-1 ó 0 a 2^32-1).
  • long ó long int: generalmente ocupa dos palabras (64 bits u 8 bytes) pero depende del ordenador.
  • float: ocupa una palabra y se usa para representar números reales dado que su rango es mucho mayor, usaremos este tipo para la representación de números reales.
  • double: ocupa dos palabras y tiene una capacidad mucho mayor que un float.
  • short: ocupa dos bytes en memoria, lo usaremos exclusivamente cuando vayamos a necesitar grandes cantidades de memoria y nos sobre precisión, si no, utilizaremos o el int o char, por cuestiones de arquitectura del ordenador (-2^15 a 2^15-1 ó 0 a 2^16-1).
  • unsigned: se usa para especificar que la variable no tiene signo, por lo que "aumenta" su capacidad en cuanto a número positivos.
  • void: esto no es un tipo de dato en sí mismo, pero se usa para determinar que una función no recibe parámetros o no devuelve un resultado. No pueden existir variables del tipo void.
Tipo Rango Bytes Bits
char -128 ... 127 (ASCII) 1 8
int -32.768 ... 32.767 2 16
long -2.147.483.648 ... 2.147.483.647 4 32
float 3.4*10^-38 ... 3.4*10^38 4 32
double 1.7*10^-308 ... 1.7*10^308 8 64
void Valor nulo nulo -

la sintaxis para declarar variables o constantes con los diferentes tipos de datos es:

tipo_de_dato nombre_variable;

Operadores[editar]

Los programas en C constan de datos, sentencias y expresiones. Una expresión es una ecuación matemática, tal como 25*13. en esta expresión el símbolo (*) es el operador de multiplicación y los números 25 y 13 se llaman operandos.

El lenguaje C soporta diferentes tipos de operadores: aritméticos, lógicos, y relacionales.

Operadores Aritméticos[editar]

Se utilizan para crear expresiones aritméticas; estas pueden resultar de la unión de variables o constantes con operadores.

Nota: El operador módulo ( % ) se utiliza para calcular el resto del cociente entre dos enteros , y NO puede ser aplicado a variables del tipo float ó double.

Operador Simbolo Ejemplo Significado
Suma + a + b a más b
Resta - a - b a menos b
Multiplicación * a * b a por b
División / a / b a dividido b
Residuo % a % b a residuo de b
Signo (negativo) - -a a negativo

Operadores Relacionales[editar]

Son aquellos operadores que se utilizan para la toma de decisiones que se puedan necesitar dentro de un programa.

Operador Simbolo Ejemplo Significado
Igual == x == y x es igual a y
Diferente != x != y x es diferente de y
Mayor que > x > y x es mayor que y
Mayor o igual que >= x >= y x es mayor o igual que y
Menor que < x < y x es menor que y
Menor o igual que <= x <= y x es menor o igual que y

Operadores Lógicos[editar]

Son operadores usados para realizar conectividad lógica en las expresiones.

Nota: C interpreta cualquier número entero distinto de 0 (cero) como verdadero, ya sea positivo como negativo, por lo que para usar el tipo de dato boolean no definido en C podremos usar tanto un int como un char (el short no es aconsejable usarlo salvo problemas de memoria, cosa que a partir del año 2000 no suele ocurrir salvo al programar algunos microprocesadores).

Operador Simbolo Ejemplo Significado
Y (AND) && (a>b) && (c<d) a es mayor que b y c es menor que d
O (OR) || (a>b) || (c<d) a es mayor que b o c es menor que d
NEGACION (NOT) ! !(a>b) a no es mayor que b

Operadores de Incremento o Decremento[editar]

Estos operadores permiten incrementar o decrementar en una unidad el valor de una variable

Ejemplo Significado
Variable++ El valor de la variable incrementa después de una operación
++Variable El valor de la variable incrementa antes de una operación
Variable-- El valor de la variable disminuye después de una operación
--Variable El valor de la variable disminuye antes de una operación

También es posible crear variables de incremento o decremento mayores a la unidad, asi:

Ejemplo Significado
Variable+=3 La variable incrementa su valor en 3 unidades
Variable-=5 La variable decrementa su valor en 5 unidades

Precedencia de Operadores[editar]

La precedencia de los operadores determina el orden en que se ejecutaran las operaciones dentro de las expresiones.

Lo siguiente lista todos los operadores del C en orden descendente de precedencia. Los operadores en el mismo renglón tienen la misma precedencia.

Nivel 1: () [] ->

Nivel 2:  ! ~ ++ -- *(indireccion) &(direccion de) +(unario) -(unario)

Nivel 3: *(multiplicación) /  %

Nivel 4: + -

Nivel 5: << >>

Nivel 6: < <= => >

Nivel 7: ==  !=

Nivel 8: &(AND a nivel de bit)

Nivel 9: ^

Nivel 10: |

Nivel 11: &&

Nivel 12: ||

Nivel 13: ?:

Nivel 14: = += -= /=  %= &= ^= |= <<= >>=

Nivel 15: ,

Proyecto: Programación en C
Anterior: Programación en C — Fundamentos de C - Lección 1 — Siguiente: Fundamentos de C - Lección 2