Estructuras de Control

Sentencias condicionales: if, else if, else, switch

as sentencias condicionales en C te permiten controlar el flujo de ejecución de tu programa según ciertas condiciones. Las principales son if, else if, else y switch.

				
					#include <stdio.h>

int main() {
    int num = 10;

    // Sentencia if
    if (num > 0) {
        printf("El número es positivo\n");
    } else if (num == 0) {
        printf("El número es cero\n");
    } else {
        printf("El número es negativo\n");
    }

    // Sentencia switch
    switch (num) {
        case 1:
            printf("El número es uno\n");
            break;
        case 2:
            printf("El número es dos\n");
            break;
        case 3:
            printf("El número es tres\n");
            break;
        default:
            printf("El número es otro valor\n");
    }

    return 0;
}

				
			

Explicación:

  • Sentencia if: Permite ejecutar un bloque de código si una condición es verdadera. En este caso, se verifica si num es mayor que 0, igual a 0 o negativo, e imprime un mensaje correspondiente en cada caso.

  • Sentencia else if: Se utiliza después de un if para especificar una nueva condición si la primera es falsa. En este ejemplo, se verifica si num es igual a 0 después de que la condición del if sea falsa.

  • Sentencia else: Se ejecuta si todas las condiciones anteriores en un conjunto de sentencias if-else if son falsas. Aquí se imprime un mensaje cuando num es negativo.

  • Sentencia switch: Permite seleccionar uno de varios bloques de código para ejecutar, basado en el valor de una expresión. En este caso, se evalúa el valor de num y se ejecuta el bloque correspondiente según el caso encontrado. Si no coincide con ninguno de los casos, se ejecuta el bloque default.

Bucles: for, while, do-while

En programación, los bucles son como las repeticiones en una canción: te permiten ejecutar una serie de instrucciones una y otra vez. Tenemos tres tipos principales de bucles en C: for, while y do-while.

				
					#include <stdio.h>

int main() {
    int i;

    // Bucle for
    printf("Bucle for:\n");
    for (i = 1; i <= 5; i++) {
        printf("%d ", i);
    }
    printf("\n");

    // Bucle while
    printf("Bucle while:\n");
    i = 1;
    while (i <= 5) {
        printf("%d ", i);
        i++;
    }
    printf("\n");

    // Bucle do-while
    printf("Bucle do-while:\n");
    i = 1;
    do {
        printf("%d ", i);
        i++;
    } while (i <= 5);
    printf("\n");

    return 0;
}

				
			

Explicación:

  • Bucle for: Es como una máquina de contar automática. Le dices cuántas veces quieres repetir algo y cómo quieres hacerlo.

  • Bucle while: Es como una promesa: continuará repitiendo mientras se cumpla una condición.

  • Bucle do-while: Es como un compromiso: se ejecutará al menos una vez, y luego seguirá repitiéndose mientras se cumpla una condición.

Sentencias de control de flujo: break, continue, goto

Las sentencias de control de flujo en C nos permiten modificar el flujo de ejecución de nuestro programa. Aquí tienes un ejemplo de cómo usar break, continue y goto:

				
					#include <stdio.h>

int main() {
    int i;

    // Sentencia break
    printf("Sentencia break:\n");
    for (i = 1; i <= 5; i++) {
        if (i == 4) {
            break; // Sale del bucle si i es igual a 4
        }
        printf("%d ", i);
    }
    printf("\n");

    // Sentencia continue
    printf("Sentencia continue:\n");
    for (i = 1; i <= 5; i++) {
        if (i == 3 || i == 4) {
            continue; // Salta la iteración si i es igual a 3 o 4
        }
        printf("%d ", i);
    }
    printf("\n");

    // Sentencia goto
    printf("Sentencia goto:\n");
    i = 1;
inicio:
    if (i <= 5) {
        printf("%d ", i);
        i++;
        goto inicio; // Salta a la etiqueta "inicio"
    }
    printf("\n");

    return 0;
}

				
			

Explicación:

  • Sentencia break: Se utiliza para salir inmediatamente de un bucle (for, while, do-while) o de un switch. En el primer ejemplo, cuando i es igual a 4, el bucle for se detiene.

  • Sentencia continue: Se utiliza para saltar el resto del bucle actual y continuar con la siguiente iteración. En el segundo ejemplo, cuando i es igual a 3 o 4, se salta la impresión y se continúa con la siguiente iteración.

  • Sentencia goto: Se utiliza para saltar a una etiqueta específica en el código. En el tercer ejemplo, se utiliza goto para saltar de nuevo a la etiqueta inicio, repitiendo el bucle if e incrementando i hasta que i sea mayor que 5. Aunque es funcional, el uso de goto se considera una mala práctica y debe evitarse en la mayoría de los casos debido a que puede hacer que el código sea más difícil de entender y mantener.