Aprende a dominar la estructura de control más usada en C con ejemplos claros: if, else if, else y los operadores lógicos para crear rangos numéricos. Verás cómo compilar con F6, cómo debuggear errores típicos como el punto y coma faltante y cómo validar números negativos para evitar resultados inesperados.
¿Cómo controlar el flujo con if, else if y else en C?
La estructura condicional permite ejecutar bloques distintos según una expresión verdadera o falsa. Aquí se trabaja con una variable entera n y se imprimen mensajes según su valor, usando la librería estándar con include de stdio.h y un boilerplate mínimo con main.
Librería estándar: stdio.h para usar print en los ejemplos.
Variable entera: int n = 11.
Mensajes: “El número es mayor que diez.”, “El número es diez.”, “El número es menor que diez.”, “Error: no hay número.”
¿Qué validan los operadores de comparación?
Los operadores de comparación definen las condiciones del if:
> mayor que diez.
< menor que diez.
== igual a diez.
>= mayor o igual que cero para aceptar no negativos.
¿Cómo se ve la cadena if-else if-else en código?
Este es el esqueleto básico usado para probar valores de n y mostrar la lógica de las condiciones encadenadas:
#include<stdio.h>intmain(){int n =11;// cambiar a 10, 21, 9 o -1 para probar.if(n >10){print("El número es mayor que diez.\n");}elseif(n ==10){print("El número es diez.\n");}elseif(n <10){print("El número es menor que diez.\n");}else{print("Error: no hay número.\n");}return0;}
Probar n = 11 imprime: “El número es mayor que diez.”
Probar n = 10 imprime: “El número es diez.”
Probar n = 9 imprime: “El número es menor que diez.”
¿Cómo crear rangos numéricos con and y por qué or no sirve aquí?
Cuando n = 21, la condición n > 10 se cumple primero y no se llega a evaluar una condición posterior como “mayor que veinte”. Para controlar esto, se definen rangos con el operador lógico and.
¿Qué significa and y cómo se escribe?
and se escribe con doble signo de ampersand: &&.
Significa: “esta condición es verdadera y esta otra también”. Ambas deben cumplirse.
Ejemplo de rango: “mayor que diez y menor que veinte”.
if(n >10&& n <20){print("El número es mayor que diez, pero menor que veinte.\n");}
Así evitas que n = 21 dispare condiciones pensadas para 10–19.
El código es “mucho de probar y experimentar” hasta confirmar la salida esperada.
¿Cuándo or cambia el resultado?
or cumple la expresión si se cumple cualquiera de las condiciones.
En este escenario, “mayor que diez o mayor que veinte” marca verdadero con n = 21 tan pronto se cumpla la primera parte, por eso “no nos sirve un or” cuando quieres rangos exclusivos.
¿Cómo compilar, debuggear y validar entradas en C?
Además de la lógica, es clave dominar la compilación y la detección de errores. Se muestra cómo corregir un punto y coma faltante y cómo asegurar que los datos de entrada cumplan reglas (por ejemplo, no aceptar negativos).
Compilar: F6. En laptop: FN + F6.
Guardar: Control + S antes de compilar.
Terminal: usar clear para ver la salida limpia.
Tip de debugging: si el compilador marca un error en else, revisa la instrucción anterior; a menudo el problema es un ; faltante.
¿Cómo validar que n sea positivo y dentro de un rango?
Puedes combinar comparación con and y “mayor o igual” para aceptar solo números positivos y acotar un rango. Si no se cumple, muestra un mensaje de error.
#include<stdio.h>intmain(){int n =-1;// prueba con -1 para ver el error de negativos.if(n >=0&& n <10){print("El número está en el rango de cero al nueve.\n");}elseif(n >=10&& n <20){print("El número es mayor que diez, pero menor que veinte.\n");}elseif(n ==10){print("El número es diez.\n");}elseif(n >20){print("El número es mayor que veinte.\n");}elseif(n <0){print("Error: no quiero números negativos.\n");}else{print("Error: no hay número.\n");}return0;}
Con n = -1 imprime: “Error: no quiero números negativos.”
Con n = 21 se valida como “mayor que veinte”.
Con n = 9 se valida “rango de cero al nueve”.
¿Tienes dudas sobre más operadores o quieres compartir un caso con condiciones compuestas? Deja un comentario y cuéntame qué rango o validación necesitas implementar.