In questa lezione parleremo di if else in C e faremo degli esempi per cercare di capire come utilizzare questo costrutto di selezione.
Come abbiamo già detto l’istruzione di selezione if else permette di fare una scelta. Cioè si effettua un test e se questo è vero si procede con delle istruzioni, altrimenti si procede con delle altre istruzioni.
Quindi se (if) una condizione è vera viene fatta una determinata cosa, altrimenti (else) ne verrà fatta un’altra, se è specificata la condizione else.
Primo esempio di if else in C
Facciamo degli esempi per capire meglio il concetto.
Prendiamo in input due numeri e stabiliamo qual è il maggiore.
Ecco di seguito il codice sviluppato in linguaggio C:
....
if(a>b)
printf("a maggiore di b");
else
printf("a minore di b");
...
Ma l’algoritmo è impreciso in quanto a può anche essere uguale a b. Allora presentiamo una soluzione più accurata.
if(a>b)
printf("a maggiore di b");
else if(a<b)
printf("a minore di b\n");
else
printf("a e b sono uguali");
In questo esempio abbiamo utilizzato l’istruzione if, else if, else in C.
Quindi si valuta innanzitutto se a è maggiore di b. Se ciò risulta essere vero allora si scrive “a maggiore di b” e si salta tutto il resto.
Altrimenti valutiamo se a è minore di b. Se è vero si esegue l’istruzione, cioè si visualizza in output il messaggio “a minore di b“.
Altrimenti, se neanche questa condizione è vera, per cosa ovvia a e b sono uguali e dunque si visualizza in output “a e b sono uguali“.
Esempio completo:
#include <stdio.h>
//esempi di selezione con if else in C
int main ()
{
int a;
int b;
printf ("inserisci a:\n");
scanf("%d", &a);
printf ("inserisci b:\n");
scanf("%d", &b);
//esempio di if con una istruzione
if (a>b)
printf("a maggiore di b");
//esempio di if con uso di più istruzioni per cui
//occorrono le parentesi graffe
if (a>b)
{
printf("questo programma dice:\n ");
printf("a maggiore di b");
}
//esempio di if ...else
if (a>b)
printf("a maggiore di b\n");
else
printf("a non e' maggiore di b\n");
//esempio di if ...else if
if (a>b)
printf("a maggiore di b\n");
else if(a<b)
printf("a e' minore di b\n");
else
printf("a e b sono uguali\n");
system("PAUSE");
}
Questo è solo un esempio di istruzione if else in C, andando avanti nel tutorial affronteremo tanti altri esercizi.