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.
- Sentencia
if
if
La sentencia if
evalúa una condición y ejecuta un bloque de código si la condición es verdadera.
Sintaxis
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.
- Sentencia
if-else
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.
- Sentencia
else if
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.
- Sentencia
switch
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
- Introducción a la Programación
- Configuración del Entorno de Desarrollo
- Programa Hola Mundo
- Sintaxis y Estructura Básica
Módulo 2: Tipos de Datos y Variables
Módulo 3: Flujo de Control
Módulo 4: Funciones
- Introducción a las Funciones
- Argumentos de Función y Valores de Retorno
- Ámbito y Vida de las Variables
- Funciones Recursivas
Módulo 5: Arreglos y Cadenas
- Introducción a los Arreglos
- Arreglos Multidimensionales
- Manejo de Cadenas
- Funciones de 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
- Introducción al Manejo de Archivos
- Lectura y Escritura de Archivos
- Posicionamiento de Archivos
- Manejo de Errores en Operaciones de Archivos
Módulo 10: Temas Avanzados
- Directivas del Preprocesador
- Argumentos de Línea de Comandos
- Listas de Argumentos Variables
- Multihilo en C
Módulo 11: Mejores Prácticas y Optimización
- Legibilidad del Código y Documentación
- Técnicas de Depuración
- Optimización del Rendimiento
- Consideraciones de Seguridad