Diagnóstico
Condicionales en C
if
Si limpias tu cuarto, entonces puedes salir con tus amigos.
Si lavas los trastes, entonces te doy dinero para el cine.
if ( CONDICION ) { INSTRUCCIONES }
if (limpioCuarto == 1) {
printf("Puedes salir con tus amigos.\n");
}
if - else
Si limpias tu cuarto, entonces puedes salir con tus amigos.
Si no, te quedas a limpiar.
Si lavas los trastes, entonces te doy dinero para el cine.
Si no, no hay dinero.
if (limpioCuarto == 1) {
printf("Puedes salir con tus amigos.\n");
} else {
printf("Te quedas a limpiar.\n");
}
En el lenguaje C, los paréntesis ()
y las llaves {}
son fundamentales para el correcto funcionamiento de las estructuras condicionales y de control. Los paréntesis se utilizan para delimitar la condición que será evaluada en una sentencia if
, while
, for
, etc. Por otro lado, las llaves {}
se emplean para agrupar un bloque de instrucciones que deben ejecutarse en conjunto.
Si se omiten las llaves, solo se ejecutará la primera línea de código que siga al if
o else
, lo cual puede provocar errores lógicos difíciles de detectar. Por eso, incluso cuando hay una sola instrucción, es una buena práctica usar llaves para mantener claridad y evitar confusiones al modificar el código.
Ejemplo
#include <stdio.h>
int main() {
int limpioCuarto;
int lavoTrastes;
// Preguntar al usuario
printf("¿Limpiaste tu cuarto? (1 = sí, 0 = no): ");
scanf("%d", &limpioCuarto);
printf("¿Lavaste los trastes? (1 = sí, 0 = no): ");
scanf("%d", &lavoTrastes);
if (limpioCuarto == 1 && lavoTrastes == 1) {
printf("Puedes salir y te doy dinero para el cine.\n");
} else if (limpioCuarto == 1) {
printf("Puedes salir, pero sin dinero extra.\n");
} else {
printf("No sales. Te quedas a limpiar.\n");
}
return 0;
}
Prueba el código usando OnlineGDB un entorno de desarrollo integrado (IDE) en línea.
Operadores de comparación
Se usan para comparar valores y devuelven un resultado booleano (1 = verdadero, 0 = falso).
Operador | Significado | Ejemplo (x = 5 , y = 3 ) |
---|---|---|
== |
Igual a | x == y → falso (0) |
!= |
Diferente de | x != y → verdadero (1) |
> |
Mayor que | x > y → verdadero (1) |
< |
Menor que | x < y → falso (0) |
>= |
Mayor o igual que | x >= 5 → verdadero (1) |
<= |
Menor o igual que | y <= 3 → verdadero (1) |
Es importante diferenciar entre el operador de asignación =
y el operador de comparación ==
.
Lógica condicional
Sirve para combinar varias condiciones.
&&
(AND lógico): Todas las condiciones deben ser verdaderas.||
(OR lógico): Basta con que una condición sea verdadera.
Ejercicio
🖥️>
Práctica 1
Escribir un programa en C que lea la edad de una persona e imprima "Eres mayor de edad" si la edad es 18 o más, y "Eres menor de edad" en caso contrario.
🖥️>
Práctica 2
Añade una condición más: si la edad es exactamente 17, que imprima "Casi adulto".