C If ... Else
Condiciones y declaraciones If
Ya has aprendido que C admite las condiciones lógicas habituales de las matemáticas:
- Menos que: a < b
- Menos que o igual a: a <= b
- Mas grande que: a > b
- Mayor qué o igual a: a >= b
- Igual a a == b
- No igual a: a != b
Puede utilizar estas condiciones para realizar diferentes acciones para diferentes decisiones.
C tiene las siguientes declaraciones condicionales:
- Utilice
if
para especificar un bloque de código que se ejecutará, si se cumple una condición específicatrue
- Utilice
else
para especificar un bloque de código que se ejecutará, si se cumple la misma condiciónfalse
- Utilice
else if
para especificar una nueva condición para probar, si la primera condición esfalse
- Utilice
switch
para especificar muchos bloques alternativos de código que se ejecutarán
La declaración if
Utilice la instrucción if
para especificar un bloque de código que se ejecutará si se cumple una condición true
.
Sintaxis
if (condición) {
// bloque de código que se ejecutará si la condición es true
}
Tenga en cuenta que if
está en letras minúsculas. Letras mayúsculas (If o IF) generan error.
En el siguiente ejemplo, probamos dos valores para averiguar si 20 es mayor que 18. Si la condición es true
, imprima algo de texto:
También podemos probar variables:
Ejemplo explicado
En el ejemplo anterior usamos dos variables, x y y, para probar si x es mayor que y (usando el >
operador). Como x es 20 e y es 18, y sabemos que 20 es mayor que 18, imprimimos en la pantalla que "x es mayor que y".
La declaración else
Utilice la instrucción else
para especificar un bloque de código que se ejecutará si la condición es false
.
Sintaxis
if (condición) {
// bloque de código que se ejecutará si la condición es true
} else {
// bloque de código que se ejecutará si la condición es false
}
Ejemplo
int time = 20;
if (time < 18) {
printf("Buen día.");
} else {
printf("Buenas noches.");
}
// Salidas "Buenas noches."
Inténtalo tú mismo »
Ejemplo explicado
En el ejemplo anterior, el tiempo (20) es mayor que 18, por lo que la condición es false
. Debido a esto, pasamos a la condición else
e imprimimos en la pantalla "Buenas noches". Si la hora fuera menor a las 18, el programa imprimiría "Buenos días".
La declaración else if
Utilice la instrucción else if
para especificar una nueva condición si la primera condición es false
.
Sintaxis
if (condición1) {
// bloque de código que se ejecutará si la condición1 es true
} else if (condición2) {
// bloque de código que se ejecutará si la condición1 es falsa y la condición2 es true
} else {
// bloque de código que se ejecutará si la condición1 es falsa y la condición2 es false
}
Ejemplo
int time = 22;
if (time < 10) {
printf("Buen día.");
} else if (time < 20) {
printf("Buen día.");
} else {
printf("Buenas noches.");
}
// Salidas "Buenas noches."
Inténtalo tú mismo »
Ejemplo explicado
En el ejemplo anterior, el tiempo (22) es mayor que 10, por lo que la primera condición es false
. La siguiente condición, en la declaración else if
, también es false
, por lo que pasamos a la false
else
condición ya que condición1 y condición2 son ambas false
- e imprima en la pantalla "Buenas noches".
Sin embargo, si la hora fuera las 14, nuestro programa imprimiría "Buenos días".
Más ejemplos
Este ejemplo muestra cómo puedes usar if..else
para "abrir una puerta" si el usuario ingresa el código correcto:
Ejemplo
int doorCode = 1337;
if (doorCode == 1337) {
printf("Código correcto.\nLa puerta ya está abierta.");
} else {
printf("Codigo erroneo.\nLa puerta permanece cerrada.");
}
Inténtalo tú mismo »
Este ejemplo muestra cómo puedes usar if..else
para saber si un número es positivo o negativo:
Ejemplo
int myNum = 10; // ¿Es este un número positivo o negativo?
if (myNum > 0) {
printf("El valor es un número positivo.");
} else if (myNum < 0) {
printf("El valor es un número negativo.");
} else {
printf("El valor es 0.");
}
Inténtalo tú mismo »