Fundamentos de C - Lección 1

De Wikiversidad
Ir a la navegación Ir a la búsqueda

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 otros lenguajes 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 un sistema operativo Linux este por defecto trae algún compilador C.

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
char -128 ... 127 (ASCII) 1
int -32.768 ... 32.767 4
long -2.147.483.648 ... 2.147.483.647 8
float 3.4*10^-38 ... 3.4*10^38 4
double 1.7*10^-308 ... 1.7*10^308 8
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.

Nuvola apps important.svg

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.

Nuvola apps important.svg

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