MEJOR SITIO PARA DESARROLLADORES WEB
C Idioma. W3Schools en español. Lecciones para principiantes

Ua En De

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ífica true
  • Utilice else para especificar un bloque de código que se ejecutará, si se cumple la misma condición false
  • Utilice else if para especificar una nueva condición para probar, si la primera condición es false
  • 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:

Ejemplo

if (20 > 18) {
  printf("20 es mayor que 18");
}
Inténtalo tú mismo »

También podemos probar variables:

Ejemplo

int x = 20;
int y = 18;
if (x > y) {
  printf("x es mayor que y");
}
Inténtalo tú mismo »

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 »

C Ejercicios

Ponte a prueba con ejercicios

Ejercicio:

Imprime "Hello World" si x es mayor que y.

int x = 50;
int y = 10;
 (x  y) {
printf("Hello World");
}