Resumen

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> int main() { int n = 11; // cambiar a 10, 21, 9 o -1 para probar. if (n > 10) { print("El número es mayor que diez.\n"); } else if (n == 10) { print("El número es diez.\n"); } else if (n < 10) { print("El número es menor que diez.\n"); } else { print("Error: no hay número.\n"); } return 0; }
  • 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> int main() { 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"); } else if (n >= 10 && n < 20) { print("El número es mayor que diez, pero menor que veinte.\n"); } else if (n == 10) { print("El número es diez.\n"); } else if (n > 20) { print("El número es mayor que veinte.\n"); } else if (n < 0) { print("Error: no quiero números negativos.\n"); } else { print("Error: no hay número.\n"); } return 0; }
  • 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.