Home » Argomenti » Gli operatori...aritmentici » Gli operatori...di confronto » Gli operatori...logici

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);