La sentencia if se le conoce como estructura de selección simple y su función es realizar o no una determinada acción o sentencia, basándose en el resultado de la evaluación de una expresión (verdadero o falso), en caso de ser verdadero se ejecuta la sentencia.
Fig. 1
La estructura de selección if (que se muestra en la figura 1) trabaja de la siguiente manera: si la evaluación de la expresión o expresiones es verdadera ( 1 ) entonces se ejecuta la sentencia a la cual se refiere la estructura de control if.
Si fueran varias sentencias a las que se refiere la estructura if (como se muestra en la figura 2) se tiene que encerrar todas las sentencias entre llaves ( { } ) y si la evaluación de la expresión es correcta entonces se ejecuta todas las sentencias contenidas entre las llaves.
Fig. 2
Si la evaluación de la expresión o expresiones resultaría falsa (0), entonces no se ejecuta las sentencias.
Por ejemplo si dada la edad de una persona quiero dar un mensaje de que es o no mayor de edad, suponiendo que una persona mayor de edad tiene por lo menos 21 años, el procedimiento será el siguiente.
#include <stdio.h>
#include<conio.h>
void main()
{int edad;
printf("¿Qué edad tienes? ");
scanf("%d",&edad); if ( edad > 20 ) printf("Eres mayor de edad") ;
getch();
}
Tambien se puede unir condiciones utilizando los operadores logicos and, or y not, por ejemplo si se desea saber si 2 condiciones si han cumplido es necesario tener un formato como:
{ printf( "pasaste ambas materias, felicidades); }
Nota: solo si tu calificacion de matematicas es igual o mayor a 60 y la de quimica es igual o mayor a 80 se desplegara el mensaje de "pasaste...."
|
|
Existe el caso de estructuras if, if/else anidadas, que no es más que una estructura if o if/else dentro de otra.
Por ejemplo se desea conocer cuál es el mayor de tres números A, B ,C.
1: #include <stdio.h>
2: void main()
3: { 4: int A=0, B=0, C=0; 5: printf("Ingrese 3 números"); 6: scanf("%d,%d,%d",&A,&,&C); //Lectura de valores por teclado 7: if ( A > B ) 8: { if (A > C ) 9: printf("A es el número mayor"); 10: else 11: printf("C es el número mayor"); 12: } 13: else 14: { if ( B > C ) 15: printf("B es el número mayor"); 16: else 17: printf("C es el número mayor"); 18: } 19: } |
Para explicar el funcionamiento del problema anterior se han enumerado todas las líneas de tal programa.
Suponiendo que los valores ingresados por teclado fueran: A=2, B=1, C=5. El programa actuaría de la siguiente manera.
El programa se ejecuta secuencialmente hasta la línea 7 donde encuentra una expresión. Cuando se evalúe la expresión (A > B) línea 7, el resultado es verdadero (2 > 1), por lo tanto el programa ejecuta la línea 8, en dicha línea encuentra otra expresión (A > C) y el resultado de evaluar dicha expresión es falso (2 > 5) por lo que el programa salta hasta la línea 11 y muestra "C es el número mayor". Luego va a la línea 12 y verifica el cierre de llaves y finalmente salta hasta la línea 19 siendo la última línea de ejecución.