La selezione è una delle funzioni più importanti e versatili del linguaggio C. Consente di eseguire operazioni diverse a seconda del valore di una o più espressioni. In questo articolo, vedremo come usare la selezione nel linguaggio C, con esempi pratici e spiegazioni dettagliate.
La selezione in C con if-else
La forma più semplice di selezione è quella con if-else. La sintassi è la seguente:
if (condizione) {
// istruzioni da eseguire se la condizione è vera
} else {
// istruzioni da eseguire se la condizione è falsa
}
La condizione è un’espressione che può essere vera o falsa. Se la condizione è vera, si eseguono le istruzioni tra le parentesi graffe dopo if. Se la condizione è falsa, si eseguono le istruzioni tra le parentesi graffe dopo else.
Vediamo un esempio. Supponiamo di voler scrivere un programma che chiede all’utente di inserire un numero e stampa se il numero è pari o dispari.
#include <stdio.h>
int main()
{
int numero; // variabile per memorizzare il numero inserito dall'utente
printf("Inserisci un numero: "); // stampa un messaggio
scanf("%d", &numero); // legge il numero e lo assegna alla variabile
if (numero % 2 == 0)
{ // verifica se il numero è divisibile per 2
printf("Il numero è pari\n"); // stampa il risultato
}
else
{
printf("Il numero è dispari\n"); // stampa il risultato
}
return 0; // termina il programma
}
Se eseguiamo il programma e inseriamo, ad esempio, il numero 5, otterremo il seguente output:
Inserisci un numero: 5
Il numero è dispari
Se invece inseriamo il numero 4, otterremo:
Inserisci un numero: 4
Il numero è pari
La selezione in C con switch-case
Un’altra forma di selezione è quella con switch-case. La sintassi è la seguente:
switch (espressione) {
case valore1:
// istruzioni da eseguire se l'espressione vale valore1
break;
case valore2:
// istruzioni da eseguire se l'espressione vale valore2
break;
...
default:
// istruzioni da eseguire se l'espressione non vale nessuno dei valori precedenti
break;
}
L’espressione è un’espressione che può assumere diversi valori. A seconda del valore dell’espressione, si eseguono le istruzioni corrispondenti al case. Il break serve a terminare il blocco di codice e a evitare che vengano eseguite anche le istruzioni successive. Il default serve a gestire i casi in cui l’espressione non assume nessuno dei valori previsti dai case.
Vediamo un esempio. Supponiamo di voler scrivere un programma che chiede all’utente di inserire un mese e stampa il numero di giorni del mese.
#include <stdio.h>
int main()
{
int mese; // variabile per memorizzare il mese inserito dall'utente
printf("Inserisci un mese (1-12): "); // stampa un messaggio
scanf("%d", &mese); // legge il mese e lo assegna alla variabile
switch (mese)
{ // inizia la selezione con switch-case
case 1: // caso in cui il mese vale 1 (gennaio)
case 3: // caso in cui il mese vale 3 (marzo)
case 5: // caso in cui il mese vale 5 (maggio)
case 7: // caso in cui il mese vale 7 (luglio)
case 8: // caso in cui il mese vale 8 (agosto)
case 10: // caso in cui il mese vale 10 (ottobre)
case 12: // caso in cui il mese vale 12 (dicembre)
printf("Il mese ha 31 giorni\\n"); // stampa il risultato
break; // termina il caso
case 4: // caso in cui il mese vale 4 (aprile)
case 6: // caso in cui il mese vale 6 (giugno)
case 9: // caso in cui il mese vale 9 (settembre)
case 11: // caso in cui il mese vale 11 (novembre)
printf("Il mese ha 30 giorni\\n"); // stampa il risultato
break; // termina il caso
case 2: // caso in cui il mese vale 2 (febbraio)
printf("Il mese ha 28 o 29 giorni\\n"); // stampa il risultato
break; // termina il caso
default: // caso in cui il mese non vale nessuno dei valori precedenti
printf("Mese non valido\\n"); // stampa un messaggio di errore
break; // termina la selezione con switch-case
}
return 0; // termina il programma
}
Se eseguiamo il programma e inseriamo, ad esempio, il numero 2, otterremo il seguente output:
Inserisci un mese (1-12): 2
Il mese ha 28 o 29 giorni
Se invece inseriamo un numero non compreso tra 1 e 12, otterremo:
Inserisci un mese (1-12): 13
Mese non valido
Conclusione
In questo articolo, abbiamo visto come usare la selezione nel linguaggio C, con due forme principali: if-else e switch-case. Abbiamo visto come scrivere la sintassi corretta e come usare le espressioni condizionali. Abbiamo anche visto alcuni esempi pratici di applicazione della selezione a problemi semplici. Spero che questo articolo ti sia stato utile e ti abbia fatto capire meglio come usare la selezione nel linguaggio C.
Grazie per aver letto!