Las sentencias condicionales son fundamentales en cualquier lenguaje de programación, ya que permiten tomar decisiones basadas en condiciones específicas. En C, las sentencias condicionales más comunes son if, else if, else y switch. En esta sección, aprenderemos cómo utilizarlas para controlar el flujo de ejecución de un programa.

  1. Sentencia if

La sentencia if evalúa una condición y ejecuta un bloque de código si la condición es verdadera.

Sintaxis

if (condición) {
    // Bloque de código a ejecutar si la condición es verdadera
}

Ejemplo

#include <stdio.h>

int main() {
    int numero = 10;

    if (numero > 5) {
        printf("El número es mayor que 5.\n");
    }

    return 0;
}

En este ejemplo, el programa imprimirá "El número es mayor que 5." porque la condición numero > 5 es verdadera.

  1. Sentencia if-else

La sentencia if-else permite ejecutar un bloque de código si la condición es verdadera y otro bloque si la condición es falsa.

Sintaxis

if (condición) {
    // Bloque de código a ejecutar si la condición es verdadera
} else {
    // Bloque de código a ejecutar si la condición es falsa
}

Ejemplo

#include <stdio.h>

int main() {
    int numero = 3;

    if (numero > 5) {
        printf("El número es mayor que 5.\n");
    } else {
        printf("El número no es mayor que 5.\n");
    }

    return 0;
}

En este ejemplo, el programa imprimirá "El número no es mayor que 5." porque la condición numero > 5 es falsa.

  1. Sentencia else if

La sentencia else if permite evaluar múltiples condiciones en secuencia.

Sintaxis

if (condición1) {
    // Bloque de código a ejecutar si la condición1 es verdadera
} else if (condición2) {
    // Bloque de código a ejecutar si la condición2 es verdadera
} else {
    // Bloque de código a ejecutar si ninguna de las condiciones anteriores es verdadera
}

Ejemplo

#include <stdio.h>

int main() {
    int numero = 7;

    if (numero > 10) {
        printf("El número es mayor que 10.\n");
    } else if (numero > 5) {
        printf("El número es mayor que 5 pero menor o igual a 10.\n");
    } else {
        printf("El número es 5 o menor.\n");
    }

    return 0;
}

En este ejemplo, el programa imprimirá "El número es mayor que 5 pero menor o igual a 10." porque la condición numero > 5 es verdadera.

  1. Sentencia switch

La sentencia switch permite seleccionar una de muchas opciones basadas en el valor de una expresión.

Sintaxis

switch (expresión) {
    case valor1:
        // Bloque de código a ejecutar si expresión == valor1
        break;
    case valor2:
        // Bloque de código a ejecutar si expresión == valor2
        break;
    // Más casos según sea necesario
    default:
        // Bloque de código a ejecutar si ninguna de las condiciones anteriores es verdadera
}

Ejemplo

#include <stdio.h>

int main() {
    int dia = 3;

    switch (dia) {
        case 1:
            printf("Lunes\n");
            break;
        case 2:
            printf("Martes\n");
            break;
        case 3:
            printf("Miércoles\n");
            break;
        case 4:
            printf("Jueves\n");
            break;
        case 5:
            printf("Viernes\n");
            break;
        case 6:
            printf("Sábado\n");
            break;
        case 7:
            printf("Domingo\n");
            break;
        default:
            printf("Día inválido\n");
    }

    return 0;
}

En este ejemplo, el programa imprimirá "Miércoles" porque la variable dia es igual a 3.

Ejercicios Prácticos

Ejercicio 1

Escribe un programa que lea un número entero del usuario y determine si es positivo, negativo o cero.

Solución

#include <stdio.h>

int main() {
    int numero;

    printf("Introduce un número entero: ");
    scanf("%d", &numero);

    if (numero > 0) {
        printf("El número es positivo.\n");
    } else if (numero < 0) {
        printf("El número es negativo.\n");
    } else {
        printf("El número es cero.\n");
    }

    return 0;
}

Ejercicio 2

Escribe un programa que lea un número del 1 al 7 y muestre el día de la semana correspondiente. Usa la sentencia switch.

Solución

#include <stdio.h>

int main() {
    int dia;

    printf("Introduce un número del 1 al 7: ");
    scanf("%d", &dia);

    switch (dia) {
        case 1:
            printf("Lunes\n");
            break;
        case 2:
            printf("Martes\n");
            break;
        case 3:
            printf("Miércoles\n");
            break;
        case 4:
            printf("Jueves\n");
            break;
        case 5:
            printf("Viernes\n");
            break;
        case 6:
            printf("Sábado\n");
            break;
        case 7:
            printf("Domingo\n");
            break;
        default:
            printf("Número inválido\n");
    }

    return 0;
}

Resumen

En esta sección, hemos aprendido sobre las sentencias condicionales en C, incluyendo if, else if, else y switch. Estas estructuras de control son esenciales para tomar decisiones en nuestros programas. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos. En la próxima sección, exploraremos los bucles en C, que nos permitirán ejecutar bloques de código repetidamente bajo ciertas condiciones.

Curso de Programación en C

Módulo 1: Introducción a C

Módulo 2: Tipos de Datos y Variables

Módulo 3: Flujo de Control

Módulo 4: Funciones

Módulo 5: Arreglos y Cadenas

Módulo 6: Punteros

Módulo 7: Estructuras y Uniones

Módulo 8: Asignación Dinámica de Memoria

Módulo 9: Manejo de Archivos

Módulo 10: Temas Avanzados

Módulo 11: Mejores Prácticas y Optimización

Módulo 12: Proyecto y Evaluación Final

© Copyright 2024. Todos los derechos reservados