If else en C: ejercicios resueltos
Si buscas ejercicios condicionales en C, esta guía reúne casos típicos con if, if else, if else if y condicionales anidadas.
La clave es aprender a escribir decisiones claras y evitar ramas innecesarias.
Enunciado
Resuelve estos 4 mini ejercicios:
- clasificar un número como positivo, negativo o cero,
- convertir una nota numérica en calificación por rangos,
- decidir si un año es bisiesto,
- validar acceso con dos condiciones lógicas.
Solución en C
#include <stdio.h>
void clasificar_numero(int n) {
if (n > 0) {
printf("%d es positivo\n", n);
} else if (n < 0) {
printf("%d es negativo\n", n);
} else {
printf("%d es cero\n", n);
}
}
const char *calificacion(int nota) {
if (nota >= 90) return "Sobresaliente";
else if (nota >= 70) return "Notable";
else if (nota >= 50) return "Aprobado";
else return "Suspenso";
}
int es_bisiesto(int anio) {
if (anio % 400 == 0) return 1;
if (anio % 100 == 0) return 0;
if (anio % 4 == 0) return 1;
return 0;
}
int acceso_permitido(int edad, int tiene_autorizacion) {
if (edad >= 18 || (edad >= 16 && tiene_autorizacion)) {
return 1;
}
return 0;
}
int main(void) {
clasificar_numero(-8);
printf("Nota 76 => %s\n", calificacion(76));
printf("Año 2024 bisiesto: %s\n", es_bisiesto(2024) ? "sí" : "no");
printf("Acceso (17, autorizacion=1): %s\n",
acceso_permitido(17, 1) ? "permitido" : "denegado");
return 0;
}Resultado esperado
-8 es negativo
Nota 76 => Notable
Año 2024 bisiesto: sí
Acceso (17, autorizacion=1): permitidoErrores frecuentes
- Encadenar
ifindependientes cuando necesitaselse if. - Escribir condiciones complejas sin paréntesis y cambiar la prioridad lógica.
- No cubrir casos borde (por ejemplo nota exacta 50 o 70).
- Anidar demasiado en vez de simplificar condiciones.
Aplicación práctica
Los condicionales aparecen en:
- validación de datos,
- reglas de negocio,
- control de acceso y permisos,
- clasificación de resultados por tramos.
Dominar if else acelera el resto de estructuras de control y diseño de funciones.
Siguiente ejercicio recomendado
- While y do while en C: ejercicios resueltos
- For en C: ejercicios resueltos con acumuladores y contadores
- Programación secuencial en C: ejercicios resueltos desde cero
- Todos los ejercicios de C
Práctica guiada y siguiente paso
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Cómo sé si usar if else if o varios if?
Si las condiciones son excluyentes, usa if else if. Si pueden cumplirse varias a la vez, usa if separados.
¿Qué hago cuando la condición es muy larga?
Divide la lógica en variables intermedias con nombres claros. Mejora legibilidad y reduce errores.
¿Es malo usar condicionales anidadas en C?
No, pero conviene limitar la profundidad. Si crece demasiado, suele ser mejor extraer funciones o simplificar reglas.