Controlli condizionali: If Else - Else If
Per decidere se far eseguire un blocco di istruzioni rispetto ad un'altro basta porre delle condizioni che, se verificate, eseguono un pezzo di codice o altrimenti ne eseguono un altro. Queste istruzioni particolari che permettono di incanalare il flusso si chiamano strutture di controllo condizionale o, più genericamente, istruzioni condizionali.If
Struttura
if ( condizione ){
istruzioni;
}
- Condizione: se la condizione è vera esegue le istruzioni, se è falsa prosegue con il programma oppure...
Else
Struttura
if ( condizione ){
istruzioni;
}
else
{
istruzioni;
}
- ...esegue le istruzioni nell'else e va avanti con il programma.
In questo caso se l'espressione risulta vera, fa eseguire l'istruzione tra le parentesi grafe dell'if, altrimenti (se la condizione è falsa) si salta l'istruzione (od il blocco di istruzioni) facenti parti dell'if e si procede nell'esecuzione delle istruzioni successive nell'else, ad indicare la possibile alternativa all'if.
Esempio
if ( cont == 0 ){
i++;
}
else
{
i--;
}
printf("%d",i);
Nell'esempio se la variabile cont è uguale a 0 la variabile i viene incrementata di 1 altrimenti(se cont è diverso da 0) la i viene decrementata e infine stampa il valore finale di i.
Else If
L'istruzione else if permette di verificare una o più condizioni.Struttura
if ( condizione ){
istruzioni;
}
else if( condizione2 )
{
istruzioni;
}
else
{
istruzioni;
}
Se la prima condizione è falsa passa alla seconda condizione dell'else if, se anche questa è falsa esegue le istruzioni dell'else.
Esempio
if ( cont == 0 ){ i++; }
else if( cont == 1)
{ i--; }
else
{ i = 0; }
printf("%d",i);
Nell'esempio se la variabile cont è uguale a 0 la variabile i viene incrementata di 1 oppure se i è uguale a 1 la decrementata altrimenti (se cont è diverso sia da 0 che da 1) la i viene posta a 0 e infine stampa il valore finale di i.
NOTA: gli if si possono anche nidificare come nell'esempio:
Esempio
if ( cont == 0 ){ i++;
if( i > 10)
{ i--; }
}
else
{ i = 0; }
printf("%d",i);


