Fundamentos de C - Lección 1
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 |