El if, if ... else y la if ... else anidadas se utilizan para hacer una toma de decisiones lógicas, es decir, para ejecutar un código e ignorar otro código, dependerá de la expresión que realicemos.
Sentencia if
if (condition) {
Instrucción // La instrucción se ejecuta si la condición es true o verdadera
}
Los sentencia if comprueba si la condición que se encuentra entre los paréntesis () es verdadera o no. Si la condición es verdadera, la instrucción dentro de las {} del if se ejecuta, pero si la condición es falsa, la instrucción dentro del if se ignora.
Ejemplo de la sentencia if :
Escribir un programa en C para imprimir el número introducido por el usuario sólo si el número introducido es negativo.
#include <stdio.h>
int main(){
int num;
printf("Introduzca un numero para verificar.\n");
scanf("%d",&num);
if(num<0) { /* comprobar si el número es menor que 0 o no.*/
printf("Numero= %d\n",num);
}
printf("Ejecutaste la sentencia if.\n");
return 0;
}
Salida 1
Introduzca un numero para verificar.
-2
Numero= -2
Ejecutaste la sentencia if.
Cuando el usuario introduce -2 entonces, la expresión condicional (num <0) nos retorna un true o verdadero. Por lo tanto, lo que se muestra en la pantalla es “Number = -2”.
Salida 2
Introduzca un numero para verificar.
5
Ejecutaste la sentencia if.
Cuando el usuario introduce 5 entonces, la expresión condicional (num <0) nos retorna un false o falso. Por lo tanto, la instrucción que se encuentra dentro del if se omite y sólo se ejecuta la instrucción debajo de ella.
Sentencia if...else
La sentencia if ... else se utiliza si el programador quiere ejecutar alguna instrucción si la condición es verdadera y ejecutar otra instrucción si la condición es falsa.
Sintaxis de if--.else
if (condición) {
La instrucción se ejecuta si la expresión es true o verdadera;
}else{
La instrucción se ejecuta si la expresión es false o falsa;
}
Ejemplo de la sentencia if ... Else
Escribir un programa en C para comprobar si el número introducido por el usuario es par o impar.
#include <stdio.h>
int main(){
int num;
printf("Introduzca un numero para verificar.\n");
scanf("%d",&num);
if((num%2)==0)
printf("%d es par.\n",num);
else
printf("%d es impar.\n",num);
return 0;
}
Salida 1
Introduzca un numero para verificar.
25
25 es impar.
Salida 2
Introduzca un numero para verificar.
2
2 es par.
Sentencia if...else anidadas
Una sentencia anidada de if ... else , se utiliza cuando el programa requiere más de una expresión condicional.
Sintaxis de la sentencia if ... else anidadas.
if (condición1){
La instrucción se ejecuta si la condicion1 es true o verdadera;
}else if(condición2) {
La instrucción se ejecuta si la condicion1 es false o falso y la condición2 es true;
}else if (condición3) {
La instrucción se ejecuta si la condicion1 y la condición2 es false pero la condición3 es true;
}
.
.
.
else{
La instrucción se ejecuta si todas las condiciones son false;
}
La sentencia anidada if...else tiene más de una condición. Si la primera condición es verdadera, se ejecuta la instrucción dentro de las llaves {} que está justo debajo. Pero si la primera condición es falsa, pasa a comprobar la segunda condición. Si la segunda condición es verdadera, se ejecuta la instrucción dentro de las llaves {} que está justo debajo. Este proceso continúa. Si todas las condiciones son falsas, la instrucción dentro de solo el else que es la última, se ejecuta.
Ejemplo de la sentencia anidada de if ... Else
#include <stdio.h>
int main(){
int numb1, numb2;
printf("Introduzca dos numeros para verificar.\n");
scanf("%d %d",&numb1,&numb2);
if(numb1==numb2){ //comprueba si dos números enteros son iguales.
printf("Result: %d = %d \n",numb1,numb2);
}else{
if(numb1>numb2){ //comprueba si num1 es mayor que numb2.
printf("Resultado: %d > %d \n",numb1,numb2);
}else{
printf("Resultado: %d > %d \n",numb2,numb1);
}
}
return 0;
}
Salida 1
Introduzca dos numeros para verificar.
5
4
Resultado: 5 > 4
Salida 2
Introduzca dos numeros para verificar.
-2
-2
Result: -2 = -2