Switch in C
L’istruzione switch
in C è un costrutto di controllo condizionale utilizzato per selezionare uno tra molti blocchi di codice da eseguire. Questa istruzione è particolarmente utile quando è necessario confrontare una variabile o un’espressione con un insieme di valori possibili e, in base al risultato, eseguire un’azione specifica. In questa guida, esploreremo l’istruzione switch
in dettaglio.
Cos’è l’Istruzione switch
?
L’istruzione switch
è un’alternativa all’istruzione if
quando è necessario confrontare una variabile o un’espressione con un set di valori costanti. Questa istruzione valuta l’espressione specificata e confronta il suo valore con diverse costanti, chiamate “etichette di caso”. Quando trova una corrispondenza, esegue il blocco di codice associato all’etichetta di caso corrispondente.
Perché Utilizzare l’Istruzione switch
?
L’utilizzo dell’istruzione switch
rende il codice più leggibile ed efficiente quando è necessario gestire molteplici casi in base al valore di una variabile. È particolarmente utile in situazioni in cui si desidera eseguire diverse azioni in base a valori discreti, come selezionare una risposta in un menu o elaborare opzioni utente.
Sintassi dell’Istruzione switch
Ecco la sintassi di base dell’istruzione switch
in C:
switch (espressione) { case valore1: // Blocco di codice se espressione == valore1 break; case valore2: // Blocco di codice se espressione == valore2 break; // Altri casi... default: // Blocco di codice predefinito (opzionale)}
-
espressione
: L’espressione da valutare. -
valore1
,valore2
, ecc.: Etichette di caso che rappresentano valori possibili per l’espressione. -
break
: L’istruzionebreak
viene utilizzata per uscire dal blocco di codice delloswitch
quando viene trovata una corrispondenza. È fondamentale includerebreak
per evitare l’esecuzione dei blocchi successivi. -
default
: Questo è un caso predefinito opzionale che viene eseguito se nessuna delle etichette di caso corrisponde al valore dell’espressione.
Esempio di Utilizzo dell’Istruzione switch
Ecco un esempio di come utilizzare l’istruzione switch
per selezionare un giorno della settimana in base a un valore numerico:
int giorno = 3;char *nomeGiorno;
switch (giorno) { case 1: nomeGiorno = "Lunedì"; break; case 2: nomeGiorno = "Martedì"; break; case 3: nomeGiorno = "Mercoledì"; break; case 4: nomeGiorno = "Giovedì"; break; case 5: nomeGiorno = "Venerdì"; break; case 6: nomeGiorno = "Sabato"; break; case 7: nomeGiorno = "Domenica"; break; default: nomeGiorno = "Valore non valido";}
printf("Il giorno selezionato è %s\n", nomeGiorno);
In questo esempio, l’istruzione switch
valuta il valore della variabile giorno
e seleziona il nome del giorno corrispondente.
Conclusioni
L’istruzione switch
in C è uno strumento potente per gestire il flusso condizionale del programma quando è necessario confrontare un valore con una serie di opzioni discrete. Tuttavia, è importante includere break
per evitare l’esecuzione dei casi successivi, se non è desiderata un’azione multipla.