Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Switch, Break | Istruzioni di Controllo
Fondamenti Di C

bookSwitch, Break

Utilizzo dell'istruzione switch

Immagina di acquistare una bibita da un distributore automatico. Dopo aver selezionato la bevanda desiderata, all'interno del computer del distributore, la variabile user_input assume uno dei diversi valori predefiniti. Ognuna di queste opzioni è chiamata case, ed è qui che entra in gioco l'istruzione switch.

Considera l'istruzione switch come una variante dell'istruzione if-else. Essa agisce in risposta a valori specifici che hai precedentemente definito.

Ecco come appare la struttura di un'istruzione switch:

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

Considerare un esempio di distributore automatico. Supponiamo che ci siano tre pulsanti per selezionare diversi tipi di patatine:

  • Patatine al formaggio;
  • Patatine al bacon;
  • Patatine al chili.
Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }

Se l'espressione testata non corrisponde a nessuno dei casi elencati, viene eseguito il caso default. Se non è previsto alcun caso default, il programma prosegue semplicemente il suo flusso.

Note
Nota

L'espressione testata in un'istruzione switch può essere solo di tipo intero o char. Non è possibile utilizzare stringhe o tipi di dati non interi come casi.

Main.c

Main.c

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }

Ruolo di break

Il comando break interrompe l'esecuzione del blocco corrente e passa al segmento di codice successivo. In sostanza, una volta completato il caso rilevante, si esce da quel blocco e si continua con il programma.

Senza il comando break, l'istruzione switch verrebbe eseguita continuamente, con il rischio di ottenere risultati indesiderati.

Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }

In assenza del comando break, il programma inizia l'esecuzione immediatamente dopo aver trovato un caso corrispondente e continua fino a trovare un break o fino a raggiungere la fine dello switch.

question mark

Qual è lo scopo principale dell'istruzione break all'interno di un blocco switch?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 2.63

bookSwitch, Break

Scorri per mostrare il menu

Utilizzo dell'istruzione switch

Immagina di acquistare una bibita da un distributore automatico. Dopo aver selezionato la bevanda desiderata, all'interno del computer del distributore, la variabile user_input assume uno dei diversi valori predefiniti. Ognuna di queste opzioni è chiamata case, ed è qui che entra in gioco l'istruzione switch.

Considera l'istruzione switch come una variante dell'istruzione if-else. Essa agisce in risposta a valori specifici che hai precedentemente definito.

Ecco come appare la struttura di un'istruzione switch:

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

Considerare un esempio di distributore automatico. Supponiamo che ci siano tre pulsanti per selezionare diversi tipi di patatine:

  • Patatine al formaggio;
  • Patatine al bacon;
  • Patatine al chili.
Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }

Se l'espressione testata non corrisponde a nessuno dei casi elencati, viene eseguito il caso default. Se non è previsto alcun caso default, il programma prosegue semplicemente il suo flusso.

Note
Nota

L'espressione testata in un'istruzione switch può essere solo di tipo intero o char. Non è possibile utilizzare stringhe o tipi di dati non interi come casi.

Main.c

Main.c

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }

Ruolo di break

Il comando break interrompe l'esecuzione del blocco corrente e passa al segmento di codice successivo. In sostanza, una volta completato il caso rilevante, si esce da quel blocco e si continua con il programma.

Senza il comando break, l'istruzione switch verrebbe eseguita continuamente, con il rischio di ottenere risultati indesiderati.

Main.c

Main.c

copy
123456789101112131415161718192021222324
#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }

In assenza del comando break, il programma inizia l'esecuzione immediatamente dopo aver trovato un caso corrispondente e continua fino a trovare un break o fino a raggiungere la fine dello switch.

question mark

Qual è lo scopo principale dell'istruzione break all'interno di un blocco switch?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
some-alt