← C EspañolChapter 01 of 13

Introducción a C

## Objetivos de Aprendizaje - Comprender la historia e importancia de C - Configurar el entorno de desarrollo de C - Escribir y ejecutar tu primer programa en C - Comprender los conceptos básicos de la sintaxis de C ## ¿Qué es C? C es un lenguaje de programación procedimental desarrollado por Dennis Ritchie en Bell Labs en 1972. Fue diseñado para implementar el sistema operativo UNIX. ```c #include int main(void) { printf("Hello, World!\n"); return 0; } ``` ## ¿Por qué Aprender C? ### Características Clave - **Acceso de bajo nivel** - Manipulación directa de memoria - **Eficiencia** - Ejecución rápida, tiempo de ejecución mínimo - **Portabilidad** - Se ejecuta en prácticamente cualquier plataforma - **Fundamento** - Inspiró C++, Java, Python y más - **Control** - Control completo sobre los recursos del sistema ### Usos Comunes | Área | Ejemplos | |------|----------| | Programación de Sistemas | Sistemas operativos, controladores, sistemas embebidos | | Software de Aplicación | Bases de datos, compiladores, intérpretes | | Sistemas Embebidos | Microcontroladores, dispositivos IoT | | Desarrollo de Juegos | Motores de juegos, gráficos de alto rendimiento | ## Instalando C ### Linux ```bash sudo apt-get install build-essential ``` ### macOS ```bash xcode-select --install ``` ### Windows Instala MinGW o usa WSL (Windows Subsystem for Linux) ### Verificar Instalación ```bash gcc --version ``` ## Tu Primer Programa ### Archivo: hello.c ```c #include int main(void) { printf("Hello, World!\n"); return 0; } ``` ### Compilar y Ejecutar ```bash gcc hello.c -o hello # Compilar ./hello # Ejecutar el programa ``` Salida: ```text Hello, World! ``` ## Estructura de un Programa en C ```c #include // Directiva del preprocesador int main(void) { // Función principal (punto de entrada) // Declaraciones return 0; // Estado de retorno } ``` ### Componentes 1. **Directivas del preprocesador** - Declaraciones `#include` 2. **Función principal** - Punto de entrada de cada programa en C 3. **Declaraciones** - Comandos a ejecutar 4. **Declaración de retorno** - Estado de salida (0 = éxito) ## Comentarios ```c // Comentario de una sola línea /* * Comentario de * múltiples líneas */ ``` ## La Función printf ```c // Salida básica printf("Hello\n"); // Salida con formato printf("Name: %s, Age: %d\n", "Alice", 30); // Secuencias de escape printf("Tab:\tTab\n"); printf("Newline:\nDone\n"); printf("Backslash: \\\n"); printf("Percent: %%"); ``` ### Especificadores de Formato | Especificador | Tipo | |---------------|------| | `%d` | int | | `%f` | float/double | | `%c` | char | | `%s` | string | | `%p` | puntero | | `%%` | % literal | ## La Función main ### Formas Estándar ```c int main(void) { return 0; } int main(int argc, char *argv[]) { // argc: conteo de argumentos // argv: valores de argumentos return 0; } ``` ### Argumentos de Línea de Comandos ```c #include int main(int argc, char *argv[]) { printf("Program: %s\n", argv[0]); for (int i = 1; i < argc; i++) { printf("Arg %d: %s\n", i, argv[i]); } return 0; } ``` ```bash gcc main.c -o main ./main Alice 42 ``` Salida: ```text Program: ./main Arg 1: Alice Arg 2: 42 ``` ## Entrada con scanf ```c #include int main(void) { int age; printf("Enter your age: "); scanf("%d", &age); printf("You are %d years old\n", age); return 0; } ``` ## IDEs ### IDEs Populares - VS Code (recomendado con extensión C/C++) - CLion - Eclipse CDT - Code::Blocks ## Estándares de C | Estándar | Año | Características | |----------|------|----------| | C89/C90 | 1989 | C ANSI original | | C99 | 1999 | Comentarios `//`, `bool`, `stdint.h` | | C11 | 2011 | Multihilo, soporte Unicode | | C17 | 2017 | Corrección de errores, sin nuevas características | | C23 | 2023 | Estándar más reciente | ```bash gcc -std=c11 hello.c -o hello ``` ## Resumen - C fue creado en 1972 por Dennis Ritchie - GCC es el compilador GNU C (usa `gcc --version` para verificar) - Cada programa en C necesita la función `main()` - `gcc file.c -o program` compila código C - `printf()` muestra texto con formato - `scanf()` lee entrada - Comentarios: `//` o `/* */`

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →