Skip to content

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 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!");
}

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:

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!).