Istruzioni di Selezione (if e switch)
Le istruzioni di selezione permettono di eseguire un sotto-blocco di codice in base al valore di un’espressione di controllo.
L’istruzione if
Section titled “L’istruzione if”L’istruzione if esegue il suo blocco di codice solo se l’espressione di controllo non è uguale a 0 (ovvero, è considerata vera).
if (espressione) { // eseguito se l'espressione non è 0}Puoi estendere la logica usando la clausola else, che definisce un blocco alternativo da eseguire quando l’espressione di controllo è pari a 0 (falsa). Per testare più condizioni, si può usare una “scala” (ladder) di if...else if...else.
if (voto >= 90) { puts("Voto: A");} else if (voto >= 80) { puts("Voto: B");} else { puts("Riprova!");}L’istruzione switch
Section titled “L’istruzione switch”Quando devi confrontare una singola variabile intera contro una serie di valori costanti, lo switch è più pulito ed efficiente di una catena di if...else.
switch (scelta) { case 1: puts("Hai scelto uno"); break; case 2: puts("Hai scelto due"); break; default: puts("Scelta non valida");}L’espressione di controllo deve essere di un tipo intero. Se corrisponde a uno dei case, l’esecuzione salta a quel punto.
Ecco un diagramma che illustra il flusso con e senza break:
💻 Esercizio Pratico
Section titled “💻 Esercizio Pratico”Nel codice sottostante, l’utente seleziona un’opzione da 1 a 3. Aggiungi il blocco switch in modo che stampi “Rosso” se opzione è 1, “Verde” se è 2, e “Blu” se è 3. Se inserisce altro, stampa “Sconosciuto”. (Usa printf e non dimenticare il \n e il break!).