C++ switch‑case meistern: Syntax, Einsatz und Praxisbeispiele
Was ist ein switch?
Die switch‑Anweisung wertet eine Variable einmal aus und verzweigt die Ausführung zum passenden case‑Label, was mehrwege‑Entscheidungen vereinfacht.
Man kann sie sich als saubere, effiziente Alternative zu einer langen if…else if…‑Kette vorstellen, die Codeblöcke basierend auf dem Wert der Variable auswählt.
In diesem C++‑Tutorial lernen Sie:
- Was eine switch‑Anweisung ist
- Wann man einen switch einsetzt
- Die Rolle des
break‑Schlüsselworts - Syntax und Struktur
- Praxisbeispiele
Wann einen switch verwenden?
Ein switch ist ideal, wenn eine einzelne Variable gegen eine feste Menge von Konstanten verglichen werden muss. Er erzeugt übersichtlicheren und schnelleren Code als eine lange if…else if…‑Kette.
Das break‑Schlüsselwort
Innerhalb eines switch beendet break den aktuellen case und verhindert das „Fall‑through“ in den nächsten case. Wird es weggelassen, wird die Ausführung im nächsten case fortgesetzt.
Trifft der Compiler auf break, springt die Kontrolle zur Anweisung hinter der schließenden Klammer des switch.
Syntax
Typische Struktur:
switch (variable) {
case wert1: // code break;
case wert2: // code break;
default: // code
}
- variable – der auszuwertende Ausdruck.
- case – ein konstanter Wert zum Vergleich.
- break – stoppt die Ausführung des switch‑Blocks.
- default – optional; wird ausgeführt, wenn kein case passt.
Beispiel 1
#include <iostream>
using namespace std;
int main() {
int x = 20;
switch (x) {
case 10: cout << "X ist 10"; break;
case 20: cout << "X ist 20"; break;
case 30: cout << "X ist 30"; break;
default: cout << "X ist nicht 10, 20 oder 30"; break;
}
return 0;
}
Ausgabe:

Screenshot des Codes:

Code‑Erklärung:
<iostream>einbinden für Konsolen‑I/O.std‑Namespace für Kürze nutzen.main()als Einstiegspunkt definieren.int x = 20;deklarieren.switch(x)anwenden, umxmit Konstanten zu vergleichen.- Case 10: „X ist 10“ ausgeben.
- Case 20: „X ist 20“ ausgeben.
- Case 30: „X ist 30“ ausgeben.
- Default: Werte ungleich 10, 20, 30 behandeln.
- Jeder case endet mit
break;um Fall‑through zu vermeiden. return 0für erfolgreiche Ausführung.
Beispiel 2
#include <iostream>
using namespace std;
int main() {
int choice;
cout << "1, 2 oder 3 eingeben: ";
cin >> choice;
switch (choice) {
case 1: cout << "Auswahl 1"; break;
case 2: cout << "Auswahl 2"; break;
case 3: cout << "Auswahl 3"; break;
default: cout << "Nicht 1, 2 oder 3"; break;
}
}
Ausgabe:

Screenshot des Codes:

Code‑Erklärung:
<iostream>für I/O einbinden.std‑Namespace nutzen.int choice;deklarieren.- Benutzer auffordern: „1, 2 oder 3 eingeben: “.
- Eingabe in
choiceeinlesen. - Switch auf
choicezum passenden case verzweigen. - Case 1 gibt „Auswahl 1“ aus.
- Case 2 gibt „Auswahl 2“ aus.
- Case 3 gibt „Auswahl 3“ aus.
- Default behandelt jede andere Eingabe.
- Jeder case endet mit
break;.
Zusammenfassung
- Ein switch bietet eine knappe Alternative zu verschachtelten
if…else if…‑Anweisungen. - Seine Syntax ist übersichtlicher und die Ausführunggenerally schneller.
- Nutzen Sie ihn, wenn eine Variable gegen mehrere konstante Werte geprüft werden muss.
- Jeder
casevergleicht die Variable mit einem eindeutigen Wert. - Das
break‑Schlüsselwort verhindert unbeabsichtigtes Fall‑through. - Ein optionaler
default‑Zweig behandelt nicht abgedeckte Fälle.
C Sprache
- Schaltung mit Schalter: Praktischer Leitfaden zu grundlegenden elektrischen Schaltungen
- C# Switch Statement meistern: Syntax, Beispiele & Best Practices
- C# Break Statement: Wie und wann man es einsetzt
- C++ Operatoren erklärt: Typen, Beispiele und Beispielprogramme
- C++ switch‑case meistern: Syntax, Einsatz und Praxisbeispiele
- C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
- C++ Structs erklärt mit praktischem Beispiel
- std::map in C++ meistern: Umfassender Guide mit Code‑Beispielen
- std::list in C++ meistern: Syntax, Funktionen & praktische Beispiele
- C++ Struct vs. Class: Wichtige Unterschiede, Syntax und beste Anwendungsfälle