Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Switch, Break | Kontrollanweisungen
C-Grundlagen

bookSwitch, 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

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 }

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

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; }

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.

Note
Hinweis

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

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; }

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

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; }

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.

question mark

Was ist der Hauptzweck der break-Anweisung innerhalb eines switch-Blocks?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

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

bookSwitch, 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

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 }

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

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; }

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.

Note
Hinweis

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

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; }

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

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; }

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.

question mark

Was ist der Hauptzweck der break-Anweisung innerhalb eines switch-Blocks?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4
some-alt