Switch, Break
Verwendung der switch-Anweisung
Stellen Sie sich vor, Sie kaufen ein Getränk an einem Automaten. Nachdem Sie Ihr gewünschtes Getränk ausgewählt haben, nimmt die Variable user_input im Inneren des Automatencomputers einen von mehreren vordefinierten Werten an. Jede dieser Optionen wird als case bezeichnet, und hier kommt die switch-Anweisung ins Spiel.
Betrachten Sie die switch-Anweisung als eine weitere Variante der if-else-Anweisung. Sie reagiert auf bestimmte Werte, die Sie zuvor definiert haben.
So sieht die Struktur einer switch-Anweisung aus:
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 }
Betrachten Sie ein Beispiel mit einem Verkaufsautomaten. Angenommen, es gibt drei Tasten zur Auswahl verschiedener Chips-Sorten:
- Käsegeschmack Chips;
- Bacon-Geschmack Chips;
- Chili-Geschmack Chips.
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; }
Wenn der geprüfte Ausdruck keinem der aufgeführten Fälle entspricht, wird der default-Fall ausgeführt. Ist kein default-Fall angegeben, setzt das Programm seinen Ablauf einfach fort.
Der geprüfte Ausdruck in einer switch-Anweisung kann nur vom Typ Integer oder char sein. Es ist nicht möglich, Zeichenketten oder nicht-ganzzahlige Datentypen als Fälle zu verwenden.
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; }
Die Rolle von break
Der Befehl break beendet die Ausführung des aktuellen Blocks und fährt mit dem nächsten Programmabschnitt fort. Sobald der relevante Fall abgeschlossen ist, verlässt man diesen Block und das Programm wird fortgesetzt.
Ohne den Befehl break würde die switch-Anweisung fortlaufend ausgeführt, was unerwünschte Ergebnisse zur Folge hätte.
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; }
Fehlt der Befehl break, beginnt das Programm unmittelbar nach dem Finden eines passenden case mit der Ausführung und fährt fort, bis ein break gefunden wird oder das Ende des switch erreicht ist.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you show me an example of a switch statement in code?
What happens if I forget to include a break statement in one of the cases?
Can you explain how the default case works in more detail?
Awesome!
Completion rate improved to 2.63
Switch, Break
Swipe um das Menü anzuzeigen
Verwendung der switch-Anweisung
Stellen Sie sich vor, Sie kaufen ein Getränk an einem Automaten. Nachdem Sie Ihr gewünschtes Getränk ausgewählt haben, nimmt die Variable user_input im Inneren des Automatencomputers einen von mehreren vordefinierten Werten an. Jede dieser Optionen wird als case bezeichnet, und hier kommt die switch-Anweisung ins Spiel.
Betrachten Sie die switch-Anweisung als eine weitere Variante der if-else-Anweisung. Sie reagiert auf bestimmte Werte, die Sie zuvor definiert haben.
So sieht die Struktur einer switch-Anweisung aus:
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 }
Betrachten Sie ein Beispiel mit einem Verkaufsautomaten. Angenommen, es gibt drei Tasten zur Auswahl verschiedener Chips-Sorten:
- Käsegeschmack Chips;
- Bacon-Geschmack Chips;
- Chili-Geschmack Chips.
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; }
Wenn der geprüfte Ausdruck keinem der aufgeführten Fälle entspricht, wird der default-Fall ausgeführt. Ist kein default-Fall angegeben, setzt das Programm seinen Ablauf einfach fort.
Der geprüfte Ausdruck in einer switch-Anweisung kann nur vom Typ Integer oder char sein. Es ist nicht möglich, Zeichenketten oder nicht-ganzzahlige Datentypen als Fälle zu verwenden.
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; }
Die Rolle von break
Der Befehl break beendet die Ausführung des aktuellen Blocks und fährt mit dem nächsten Programmabschnitt fort. Sobald der relevante Fall abgeschlossen ist, verlässt man diesen Block und das Programm wird fortgesetzt.
Ohne den Befehl break würde die switch-Anweisung fortlaufend ausgeführt, was unerwünschte Ergebnisse zur Folge hätte.
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; }
Fehlt der Befehl break, beginnt das Programm unmittelbar nach dem Finden eines passenden case mit der Ausführung und fährt fort, bis ein break gefunden wird oder das Ende des switch erreicht ist.
Danke für Ihr Feedback!