Crea tu primer programa en C en LabEx

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo escribir y ejecutar tu primer programa en C en la máquina virtual (VM) de LabEx. Comenzarás con un simple programa de "Hola, Mundo!", luego mejorarás la salida con múltiples declaraciones de impresión, personalizarás la salida utilizando variables, explorarás la manipulación de cadenas en C y, finalmente, aprenderás cómo compilar y depurar programas en C.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/comments("Comments") c/ControlFlowGroup -.-> c/if_else("If...Else") c/CompoundTypesGroup -.-> c/strings("Strings") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-438241{{"Crea tu primer programa en C en LabEx"}} c/comments -.-> lab-438241{{"Crea tu primer programa en C en LabEx"}} c/if_else -.-> lab-438241{{"Crea tu primer programa en C en LabEx"}} c/strings -.-> lab-438241{{"Crea tu primer programa en C en LabEx"}} c/output -.-> lab-438241{{"Crea tu primer programa en C en LabEx"}} end

Escribe y ejecuta tu primer programa en C

En este paso, escribirás y ejecutarás tu primer programa en C en la máquina virtual (VM) de LabEx. Te guiaremos a través de la creación de un simple programa de "Hola, Mundo!" que te introducirá a la estructura básica de la programación en C.

Abre el WebIDE

  1. Haz clic en la pestaña "WebIDE" (por defecto) en la interfaz de LabEx para abrir el entorno similar a VS Code.
  2. En el explorador de archivos de la barra lateral izquierda, haz clic derecho y selecciona "Nuevo archivo".
  3. Nombrar el archivo hello.c. La extensión .c indica que este es un archivo de código fuente en C.
Captura de pantalla de la interfaz del WebIDE

Si quieres aprender más sobre el WebIDE, consulta la Guía del WebIDE.

Escribe tu primer programa en C

Copia y pega el siguiente código en tu archivo hello.c:

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Desglosemos este código:

  • #include <stdio.h>: Incluye la biblioteca estándar de entrada/salida
  • int main() {... }: La función principal donde comienza la ejecución del programa
  • printf("Hello, World!\n");: Imprime texto en la pantalla
  • \n: Pasa a una nueva línea después de imprimir
  • return 0;: Indica que el programa se ha completado con éxito

Compila y ejecuta el programa

Abre la terminal en tu WebIDE y ejecuta estos comandos:

gcc hello.c -o hello
./hello
Terminal ejecutando un programa en C

Ejemplo de salida:

Hello, World!

Explicación de los comandos

  • gcc hello.c -o hello: Compila el código fuente en C en un ejecutable llamado hello
  • ./hello: Ejecuta el programa compilado

Mejora la salida con múltiples declaraciones de impresión

En este paso, aprenderás cómo mejorar tu programa en C agregando múltiples declaraciones de impresión. Esto te ayudará a entender cómo mostrar una salida más compleja y usar múltiples líneas de texto en tus programas.

Modifica tu programa existente

  1. Abre el archivo hello.c en el WebIDE que creaste en el paso anterior.
  2. Reemplaza el contenido del archivo con el siguiente código:
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    printf("Welcome to C programming!\n");
    printf("This is your first multi-line program.\n");
    return 0;
}

Explicación del código

  • Hemos agregado dos declaraciones printf más.
  • Cada declaración printf termina con \n para crear una nueva línea.
  • Los puntos y comas (;) marcan el final de cada instrucción.

Compila y ejecuta el programa actualizado

Abre la terminal en tu WebIDE y ejecuta estos comandos:

gcc hello.c -o hello
./hello

Ejemplo de salida:

Hello, World!
Welcome to C programming!
This is your first multi-line program.

Observaciones clave

  • Cada declaración printf se imprime en una línea separada.
  • El \n asegura saltos de línea entre las salidas.
  • Puedes agregar tantas declaraciones printf como sea necesario.

Consejos de solución de problemas:

  • Asegúrate de que cada línea termine con \n.
  • Verifica que cada declaración printf termine con un punto y coma.
  • Confirma que has guardado el archivo antes de compilar.

Personaliza la salida utilizando variables

En este paso, aprenderás cómo utilizar variables en C para crear una salida más dinámica y personalizada. Las variables te permiten almacenar y manipular datos dentro de tu programa.

Crea un nuevo programa en C con variables

  1. Abre el WebIDE y crea un nuevo archivo llamado greeting.c. O bien, puedes escribir touch greeting.c en la terminal para crear el archivo.
  2. Ingresa el siguiente código en el archivo greeting.c:
#include <stdio.h>

int main() {
    char name[] = "LabEx";
    printf("Hello, %s!\n", name);
    printf("Welcome to C programming, %s!\n", name);
    return 0;
}

Explicación del código

  • char name[] = "LabEx";: Crea una variable de tipo arreglo de caracteres (cadena) llamada name
  • %s es un especificador de formato que le indica a printf que inserte una cadena
  • , name después de la cadena de formato especifica qué variable se debe insertar

Compila y ejecuta el programa

Abre la terminal en tu WebIDE y ejecuta estos comandos:

gcc greeting.c -o greeting
./greeting

Ejemplo de salida:

Hello, LabEx!
Welcome to C programming, LabEx!

Experimentando con variables

Intenta cambiar la variable name por tu propio nombre:

char name[] = "Your Name";

Vuelve a compilar y ejecuta el programa para ver la salida personalizada.

Consejos de solución de problemas:

  • Asegúrate de que la variable esté definida antes de usarla en printf
  • Verifica que hayas guardado el archivo antes de compilar
  • Confirma que el nombre de la variable esté escrito correctamente

Explora la manipulación de cadenas en C

En este paso, aprenderás técnicas básicas de manipulación de cadenas en C, incluyendo la concatenación de cadenas y el uso de funciones relacionadas con cadenas de la biblioteca estándar.

Crea un programa de manipulación de cadenas

  1. Abre el WebIDE y crea un nuevo archivo llamado strings.c.
  2. Ingresa el siguiente código:
#include <stdio.h>
#include <string.h>

int main() {
    char first_name[] = "Lab";
    char last_name[] = "Ex";
    char full_name[20];

    // Concatenate strings
    strcpy(full_name, first_name);
    strcat(full_name, " ");
    strcat(full_name, last_name);

    // Print string length and concatenated name
    printf("First name length: %lu\n", strlen(first_name));
    printf("Last name length: %lu\n", strlen(last_name));
    printf("Full name: %s\n", full_name);

    return 0;
}

Explicación del código

  • #include <string.h>: Incluye funciones de manipulación de cadenas
  • strcpy(): Copia una cadena a otra
  • strcat(): Concatena (une) dos cadenas
  • strlen(): Devuelve la longitud de una cadena
  • %lu: Especificador de formato para enteros sin signo largos (se utiliza con la longitud de la cadena)

Compila y ejecuta el programa

Abre la terminal en tu WebIDE y ejecuta estos comandos:

gcc strings.c -o strings
./strings

Ejemplo de salida:

First name length: 3
Last name length: 2
Full name: Lab Ex

Técnicas de manipulación de cadenas

Operaciones clave de cadenas demostradas:

  • Creación de arreglos de caracteres
  • Copia de cadenas con strcpy()
  • Unión de cadenas con strcat()
  • Cálculo de la longitud de una cadena con strlen()

Consejos de solución de problemas:

  • Asegúrate de tener suficiente espacio en la cadena de destino
  • Siempre incluye <string.h> para usar funciones de cadenas
  • Ten cuidado con el tamaño de los buffers de cadenas para evitar desbordamientos

Compilar y depurar programas en C

En este paso, aprenderás técnicas esenciales de compilación y depuración para programas en C, incluyendo la comprensión de las advertencias del compilador, el uso de banderas de compilación y estrategias básicas de depuración.

Crea un programa con errores intencionales

  1. Abre el WebIDE y crea un nuevo archivo llamado debug.c.
  2. Ingresa el siguiente código con algunos errores intencionales:
#include <stdio.h>

int main() {
    int x = 10;
    int y = 0;

    // Intentional division by zero
    int result = x / y;

    printf("Result: %d\n", result);

    // Unused variable
    int z = 5;

    return 0;
}

Compila con advertencias

Compila el programa con banderas de advertencia adicionales:

gcc -Wall -Wextra debug.c -o debug

Explicación de las banderas de compilación

  • -Wall: Habilita la mayoría de los mensajes de advertencia
  • -Wextra: Habilita advertencias aún más detalladas

Ejemplo de salida del compilador:

debug.c: In function ‘main’:
debug.c:13:9: warning: unused variable ‘z’ [-Wunused-variable]
   13 |     int z = 5;
      |         ^

Utiliza GDB para depurar

Compila con símbolos de depuración:

gcc -g debug.c -o debug

Inicia la depuración:

gdb./debug

Comandos de GDB:

  • run: Inicia el programa
  • break main: Establece un punto de interrupción en la función principal
  • print x: Imprime el valor de la variable x
  • next: Ejecuta la siguiente línea
  • quit: Sale de GDB
(gdb) run
Starting program: /home/labex/project/debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGFPE, Arithmetic exception.
0x0000555555555167 in main () at debug.c:8
8           int result = x / y;
(gdb) print x
$1 = 10
(gdb) break main
Breakpoint 1 at 0x555555555155: file debug.c, line 4.
(gdb) next

Program terminated with signal SIGFPE, Arithmetic exception.
The program no longer exists.
(gdb) quit

GDB muestra un error de división por cero en la línea 8. El programa se bloquea debido a una excepción aritmética.

Corrige el programa

Modifica debug.c para manejar la división de forma segura:

#include <stdio.h>

int main() {
    int x = 10;
    int y = 2;  // Change from 0 to a non-zero value

    if (y!= 0) {
        int result = x / y;
        printf("Result: %d\n", result);
    } else {
        printf("Error: Division by zero!\n");
    }

    return 0;
}

Vuelve a compilar y ejecuta:

gcc -Wall -Wextra debug.c -o debug
./debug

Salida:

Result: 5

Consejos de solución de problemas:

  • Siempre compila con -Wall -Wextra
  • Presta atención a las advertencias del compilador
  • Utiliza GDB para escenarios de depuración complejos
  • Agrega comprobaciones de errores para posibles problemas en tiempo de ejecución

Resumen

En este laboratorio, aprendiste cómo escribir y ejecutar tu primer programa en C, mejorar la salida con múltiples declaraciones de impresión, personalizar la salida utilizando variables, explorar la manipulación de cadenas en C y compilar y depurar programas en C. Adquiriste experiencia práctica con la estructura básica de la programación en C, incluyendo la inclusión de bibliotecas, la definición de la función principal, el uso de printf() para mostrar la salida y la compilación y ejecución del programa. También exploraste conceptos más avanzados, como el uso de múltiples declaraciones de impresión y el trabajo con variables y cadenas.