L'istruzione if else nel linguaggio C
Nel linguaggio C l'istruzione if else mi permette di costruire una struttura di selezione con due blocchi di codice alternativi tra loro. L'esecuzione dell'uno o dell'altro è dipeso da una condizione di controllo.
if (condizione)
{
// codice 1
}
else
{
// codice 2
}
Essendo la condizione di controllo un'espressione booleana può essere vera o falsa.
Se la condizione è
- vera, il programma C esegue il blocco di codice dopo la if (codice 1).
- falsa, il programma C esegue il blocco di codice dopo la else (codice 2)
Nota. Il codice 1 e 2 può essere composto da una o più istruzioni in sequenza. A differenza dell'istruzione if semplice, questa struttura di controllo esegue sempre un blocco di codice, l'uno (if) o l'altro (else).
Un esempio
In questo codice chiedo all'utente di digitare un numero sulla tastiera.
Il programma controlla se è maggiore di zero oppure no.
#include <stdio.h>
int main()
{
int num;
printf("digita un numero: ");
scanf("%d",&num);
if (num>0) {
printf("il numero è positivo");
} else {
printf("il numero è negativo");
}
return 0;
}
Se l'utente digita un numero è maggiore di zero, la condizione (num>0) è vera e il programma stampa a video il messaggio "il numero è positivo".
digita un numero: 5
il numero è positivo
Se l'utente digita un numero non maggiore di zero, la condizione (num>0) è falsa.
In questo caso il programma esegue le istruzioni nel blocco else e stampa a video il messaggio "il numero è negativo".
digita un numero: -2
il numero è negativo
E così via.