Dominando las sentencias condicionales en C: if, else y más
Dominando las sentencias condicionales en C: if, else y más
Esta guía completa le guía a través de los fundamentos de las sentencias if, else y condicionales anidadas en C, completas con ejemplos claros y consejos de mejores prácticas.
Video: Sentencia if-else en C
Vea el tutorial conciso a continuación para ver estos conceptos en acción.
Sentencia if en C
La sentencia if en C sigue esta sintaxis:
if (expresión de prueba) {
// código a ejecutar cuando la condición es verdadera
}
Cómo funciona la sentencia if
La expresión de prueba dentro de paréntesis se evalúa. Si el resultado es no-cero (verdadero), se ejecuta el bloque de código dentro de las llaves; si es cero (falso), se omite.
- Verdadero: ejecuta el cuerpo.
- Falso: omite el cuerpo.

Aprenda más sobre valores verdaderos y falsos en los operadores relacionales y lógicos de C en Wikipedia o GeeksforGeeks.
Ejemplo 1: Sentencia if simple
// Programa para mostrar un número si es negativo
#include <stdio.h>
int main() {
int numero;
printf("Ingrese un entero: ");
scanf("%d", &numero);
// verdadero si número es menor que 0
if (numero < 0) {
printf("Ingresó %d.\n", numero);
}
printf("La sentencia if es fácil.");
return 0;
}
Salida 1
Ingrese un entero: -2 Ingresó -2. La sentencia if es fácil.
Cuando el usuario ingresa -2, la expresión numero < 0 se evalúa como verdadera, por lo que se imprime el mensaje.
Salida 2
Ingrese un entero: 5 La sentencia if es fácil.
Con 5, la expresión se evalúa como falsa, omitiendo el printf dentro del bloque.
Sentencia if…else en C
Agregar un bloque else le permite especificar código alternativo para el caso falso. Sintaxis:
if (expresión de prueba) {
// código cuando verdadero
} else {
// código cuando falso
}
Cómo funciona la sentencia if…else
• Si la prueba es verdadera: ejecuta el bloque if y omite else.
• Si la prueba es falsa: ejecuta el bloque else y omite if.

Ejemplo 2: Verificar par o impar
// Verificar si un entero es par o impar
#include <stdio.h>
int main() {
int numero;
printf("Ingrese un entero: ");
scanf("%d", &numero);
// Verdadero si el residuo es 0
if (numero % 2 == 0) {
printf("%d es un entero par.", numero);
} else {
printf("%d es un entero impar.", numero);
}
return 0;
}
Salida
Ingrese un entero: 7 7 es un entero impar.
Aquí el operador módulo determina la paridad, y el bloque else maneja el caso impar.
Escalera if…else en C
Cuando se deben evaluar múltiples condiciones secuencialmente, una escalera if…else if…else es ideal.
Sintaxis de la escalera
if (condición1) {
// sentencias
} else if (condición2) {
// sentencias
} else if (condición3) {
// sentencias
} else {
// sentencias
}
Ejemplo 3: Relacionar dos enteros
// Programa para comparar dos enteros
#include <stdio.h>
int main() {
int numero1, numero2;
printf("Ingrese dos enteros: ");
scanf("%d %d", &numero1, &numero2);
if (numero1 == numero2) {
printf("Resultado: %d = %d", numero1, numero2);
} else if (numero1 > numero2) {
printf("Resultado: %d > %d", numero1, numero2);
} else {
printf("Resultado: %d < %d", numero1, numero2);
}
return 0;
}
Salida
Ingrese dos enteros: 12 23 Resultado: 12 < 23
if…else anidado
Incrustar un if…else dentro de otro permite ramificación detallada sin una escalera extensa.
Ejemplo 4: Comparación anidada
#include <stdio.h>
int main() {
int numero1, numero2;
printf("Ingrese dos enteros: ");
scanf("%d %d", &numero1, &numero2);
if (numero1 >= numero2) {
if (numero1 == numero2) {
printf("Resultado: %d = %d", numero1, numero2);
} else {
printf("Resultado: %d > %d", numero1, numero2);
}
} else {
printf("Resultado: %d < %d", numero1, numero2);
}
return 0;
}
if…else contiene solo una sentencia, las llaves {} son opcionales, pero usarlas mejora la legibilidad y reduce errores.Ejemplo:
if (a > b) printf("Hola");
printf("Hola");
Lenguaje C
- Dominando la lógica condicional en C#: If, If-Else, If-ElseIf y sentencias If anidadas
- Dominando la sentencia switch en C#: Sintaxis, ejemplos y mejores prácticas
- Sentencia break en C#: Cómo y cuándo usarla
- Dominando la sentencia continue en C#: Cómo saltar iteraciones de bucles eficazmente
- Dominando las Sentencias Condicionales en C++: if, if...else y if...else Anidado Explicados
- Dominando la Sentencia break en C++
- Dominando la Sentencia Continue en C++: Ejemplos Prácticos y Control de Bucles
- Dominando la Sentencia Switch-Case en C++: Sintaxis, Flujo y Ejemplos Prácticos
- Dominando la sentencia goto en C: sintaxis, uso práctico y mejores prácticas
- Dominando la sintaxis básica de C: Tokens, estructura y punto y coma
- Dominando la sentencia pass en Python: Guía práctica