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 if
declaració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 if
declaración evalúa la expresión de prueba entre paréntesis ()
.
- Si la expresión de prueba se evalúa como verdadera,
if
se ejecutan las declaraciones dentro del cuerpo de . - Si la expresión de prueba se evalúa como falsa, las declaraciones dentro del cuerpo de
if
no 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<0
se 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<0
se evalúa como falsa y la declaración dentro del cuerpo de if
no se ejecuta
C if … else Statement
La if
declaración puede tener un else
bloque opcional . La sintaxis de la if… else
declaració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,
if
Se ejecutan declaraciones dentro del cuerpo de .- las declaraciones dentro del cuerpo de
else
se omiten de la ejecución.
Si la expresión de prueba se evalúa como falsa,
else
se ejecutan declaraciones dentro del cuerpo de- las declaraciones dentro del cuerpo de
if
se 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==0
se evalúa como falsa. Por lo tanto, else
se ejecuta la instrucción dentro del cuerpo de .
C if … else Ladder
La if… else
declaració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… else
declaración dentro del cuerpo de otra if… else
declaració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… else
ejemplo de la escalera. Sin embargo, usaremos una if… else
declaració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… else
declaració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");