Switch, 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
1234567891011121314151617switch (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
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.
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
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
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.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.63
Switch, 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
1234567891011121314151617switch (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
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.
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
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
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.
Grazie per i tuoi commenti!