Sentencias de Selección en C: Control de Flujo Condicional

Las sentencias de selección permiten que un programa elija entre diferentes rutas de ejecución según condiciones específicas. Son fundamentales en C para implementar lógica decisional y flujo controlado, habilitando respuestas adaptativas a distintas situaciones.

Uso Básico de la Sentencia if

Sintaxis Genarel:


if (condición) {
    // Código ejecutado si la condición es verdadera
}

Ejemplo Práctico:


int temperatura = 25;
if (temperatura > 30) {
    printf("Hace calor\n");
}

Implementación de if-else

Formato de Declaración:


if (condición) {
    // Ruta para condición verdadera
} else {
    // Ruta para condición falsa
}

Demostración:


if (temperatura > 30) {
    printf("Hace calor\n");
} else {
    printf("Temperatura moderada\n");
}

Estructuras Multibifurcadas con if-else if-else

Esquema Sintáctico:


if (condición1) {
    // Acción si condición1 se cumple
} else if (condición2) {
    // Acción si condición2 se cumple
} else {
    // Acción si ninguna condición previa se cumple
}

Código de Ejemplo:


if (temperatura >= 35) {
    printf("Calor extremo\n");
} else if (temperatura >= 20) {
    printf("Temperatura agradable\n");
} else if (temperatura >= 10) {
    printf("Frío leve\n");
} else {
    printf("Frío intenso\n");
}

Anidameinto de Sentencias if

Las sentencias if pueden anidarse para evaluar condiciones complejas o jerárquicas.

Ilustración con Código:


if (temperatura > 15) {
    if (temperatura < 30) {
        printf("Clima ideal\n");
    } else {
        printf("Demasiado caliente\n");
    }
} else {
    printf("Necesita abrigo\n");
}

Sentencia switch para Múltiples Casos

Estructura Típica:


switch (expresión) {
    case valor_constante1:
        // Instrucciones para este caso
        break;
    case valor_constante2:
        // Instrucciones para este caso
        break;
    // Pueden añadirse más casos
    default:
        // Acción predeterminada si ningún caso coincide
}

Aplicación Ejemplar:


int código_error = 404;

switch (código_error) {
    case 200:
        printf("Operación exitosa\n");
        break;
    case 404:
        printf("Recurso no encontrado\n");
        break;
    case 500:
        printf("Error interno del servidor\n");
        break;
    default:
        printf("Código de error desconocido\n");
}

Notas Clave:

  • La expresión en switch debe ser de tipo entero o carácter.
  • Cada etiqueta case requiere una constante, no una varible o expresión.
  • El uso de break es esencial para evitar la ejecución continuada hacia los siguientes casos.
  • El bloque default es opcional pero recomendado para manejar situaciones imprevistas.

Ejercicio Práctico: Clasificación de un Valor Numérico


#include <stdio.h>

int main(void) {
    int valor;
    printf("Ingrese un valor entero: ");
    scanf("%d", &valor);

    if (valor > 0) {
        printf("Positivo\n");
    } else if (valor < 0) {
        printf("Negativo\n");
    } else {
        printf("Cero\n");
    }

    return 0;
}

Etiquetas: sentencias if Control de flujo programación en C

Publicado el 8-1 20:25