
Switch case in C è un costrutto a selezione multipla, previsto dal linguaggio C.
Lo switch case consente di implementare delle decisioni multiple e si basa dunque sul confronto tra il risultato di un’espressione e un insieme di valori costanti.
La parola switch è seguita da un’espressione racchiusa tra parentesi tonde, ad esempio switch (a). Il risultato deve essere di tipo int o char.
Il resto del costrutto è costituito dai vari case con a seguire un’espressione (costante), separata utilizzando il simbolo dei due punti da una o più istruzioni.

Uso di switch case in C
Di seguito un esempio di switch case in C che chiede l’inserimento di un numero compreso tra zero e quattro. Se si inserisce un numero compreso tra 0 e 4 si ha un messaggio con la conferma del numero inserito. Altrimenti il programma restituisce il messaggio non compreso.
Utilizzeremo l’istruzione break che provoca dunque l’uscita immediata dallo switch, come avevamo accennato nel precedente tutorial.
Ecco quindi il listato completo di un esempio d’uso, dello switch case in C, proposto a scopo didattico.
#include <stdio.h>
int main() {
int a;
printf("inserisci un numero compreso tra zero e quattro:\n");
scanf("%d", &a);
switch (a) {
case 0:
printf("il numero e' zero\n");
break;//causa l'uscita immediata dallo switch
case 1:
printf("il numero e' uno\n");
break;
case 2:
printf("il numero e' due\n");
break;
case 3:
printf("il numero e' tre\n");
break;
case 4:
printf("il numero e' quattro\n");
break;
default:
printf("numero non compreso\n");
break;
}
system("PAUSE");
return 0;
}
Quando viene eseguito, il programma confronta l’espressione a con zero, se i valori sono uguali si passa a quello che c’è scritto dopo i due punti e dopo si esce dallo switch grazie all’istruzione break. Altrimenti si continua e se l’espressione a non corrisponde a nessuna delle costanti si arriva fino a default e si prosegue con le istruzioni indicate dopo i due punti.
Questo è solo un semplice esempio di switch case in C, andando avanti nei tutorial vi proporrò molte altre esercitazioni.

Alcuni link utili
Somma elementi diagonale principale di una matrice
Sommare elementi cornice esterna
Ricerca elementi in una matrice