4. Programación en C
¿Qué es el lenguaje C?
C es un lenguaje de programación de propósito general, imperativo y estructurado, desarrollado en 1972 por Dennis Ritchie en los laboratorios Bell. Es conocido por su eficiencia, cercanía al hardware y portabilidad, y ha sido la base para muchos lenguajes modernos como C++, Java y Python.
Ventajas y desventajas
Ventajas:
- Alto rendimiento y control directo de la memoria (punteros).
- Portabilidad: se puede compilar en múltiples plataformas.
- Base para entender la arquitectura de computadoras y sistemas operativos.
- Rico en operadores y funciones de bajo nivel.
Desventajas:
- No es orientado a objetos (a diferencia de C++ o Java).
- Falta de manejo automático de memoria (sin recolector de basura).
- Mayor riesgo de errores (ej. desbordamiento de búfer, fugas de memoria).
- Curva de aprendizaje más pronunciada para principiantes.
Sintaxis básica
Un programa en C sigue una estructura estándar:
#include <stdio.h>
int main() {
// Código del programa
return 0;
}
- #include: incluye bibliotecas.
- main(): función principal donde inicia la ejecución.
- return 0: indica que el programa terminó correctamente.
Ejemplos cortos
Hola Mundo
#include <stdio.h>
int main() {
printf("¡Hola, mundo!\n");
return 0;
}
Lectura y escritura de enteros
#include <stdio.h>
int main() {
int numero;
printf("Ingrese un número: ");
scanf("%d", &numero);
printf("El doble es: %d\n", numero * 2);
return 0;
}
Uso de condicionales
#include <stdio.h>
int main() {
int edad;
printf("Edad: ");
scanf("%d", &edad);
if (edad >= 18)
printf("Es mayor de edad.\n");
else
printf("Es menor de edad.\n");
return 0;
}
Comandos más usados en C
| Comando | Descripción |
|---|---|
#include |
Incluye archivos de cabecera (bibliotecas estándar o personalizadas). |
printf() |
Imprime texto o valores en la consola. |
scanf() |
Lee datos ingresados por el usuario. |
if / else |
Estructuras condicionales para tomar decisiones. |
for / while / do-while |
Estructuras repetitivas (bucles). |
int main() |
Función principal donde comienza la ejecución del programa. |
// o /* */ |
Comentarios (no se ejecutan). |