Declaración de C if ... else

En este tutorial, aprenderá acerca de la instrucción if (incluyendo if… else y anidada if… else) en la programación C con la ayuda de ejemplos.

C if Declaración

La sintaxis de la ifdeclaración en la programación C es:

 if (test expression) ( // statements to be executed if the test expression is true )

¿Cómo si funciona la declaración?

La ifdeclaración evalúa la expresión de prueba entre paréntesis ().

  • Si la expresión de prueba se evalúa como verdadera, ifse ejecutan las declaraciones dentro del cuerpo de .
  • Si la expresión de prueba se evalúa como falsa, las declaraciones dentro del cuerpo de ifno se ejecutan.

Para obtener más información sobre cuándo la expresión de prueba se evalúa como verdadera (valor distinto de cero) y falsa (0), consulte los operadores lógicos y relacionales.

Ejemplo 1: declaración if

 // Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )

Salida 1

Ingrese un número entero: -2 Ingresó -2. La declaración if es fácil.

Cuando el usuario ingresa -2, la expresión de prueba number<0se evalúa como verdadera. Por lo tanto, ingresó -2 se muestra en la pantalla.

Salida 2

 Ingrese un número entero: 5 La instrucción if es fácil.

Cuando el usuario ingresa 5, la expresión de prueba number<0se evalúa como falsa y la declaración dentro del cuerpo de ifno se ejecuta

C if … else Statement

La ifdeclaración puede tener un elsebloque opcional . La sintaxis de la if… elsedeclaración es:

 if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )

¿Cómo si … la declaración else funciona?

Si la expresión de prueba se evalúa como verdadera,

  • ifSe ejecutan declaraciones dentro del cuerpo de .
  • las declaraciones dentro del cuerpo de elsese omiten de la ejecución.

Si la expresión de prueba se evalúa como falsa,

  • elsese ejecutan declaraciones dentro del cuerpo de
  • las declaraciones dentro del cuerpo de ifse omiten de la ejecución.

Ejemplo 2: declaración if … else

 // Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )

Salida

 Ingrese un número entero: 7 7 es un número entero impar.

Cuando el usuario ingresa 7, la expresión de prueba number%2==0se evalúa como falsa. Por lo tanto, elsese ejecuta la instrucción dentro del cuerpo de .

C if … else Ladder

La if… elsedeclaración ejecuta dos códigos diferentes dependiendo de si la expresión de prueba es verdadera o falsa. A veces, se debe elegir entre más de 2 posibilidades.

La escalera if… else le permite verificar entre múltiples expresiones de prueba y ejecutar diferentes declaraciones.

Sintaxis de if … else Ladder

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Ejemplo 3: C if … else Ladder

 // Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Salida

 Ingrese dos enteros: 12 23 Resultado: 12 <23

Anidado si … si no

Es posible incluir una if… elsedeclaración dentro del cuerpo de otra if… elsedeclaración.

Ejemplo 4: anidado if… else

Este programa que se muestra a continuación relaciona dos números enteros usando cualquiera de ellos <, >y es =similar al if… elseejemplo de la escalera. Sin embargo, usaremos una if… elsedeclaración anidada para resolver este problema.

 #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Si el cuerpo de una if… elsedeclaración solo tiene una declaración, no es necesario utilizar corchetes ().

Por ejemplo, este código

 if (a> b) ( print("Hello"); ) print("Hi");

es equivalente a

 if (a> b) print("Hello"); print("Hi"); 

Articulos interesantes...