Diagnóstico

Condicionales en C

if

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.

err

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".