📘 Kapitel 2 · Unit 10 von 30

switch-case
und Anwendungen

Mehrfachauswahl · break · default · Fall-Through · switch vs. if-else

10 / 30 Units
Ömer
Kapitel 2: Operatoren & Entscheidungen ~45 Min. Theorie + Simulator + Quiz + Spickzettel
Ömer
Ömer sagt:

switch-case ist wie ein Menü-System: du hast viele Optionen und springst zur richtigen. Viel übersichtlicher als 7 else-ifs! Und das break ist entscheidend.

switch-case – Grundstruktur

switch_syntax.cC
switch (ausdruck) {
    case wert1:
        // Code für wert1
        break;
    case wert2:
        // Code für wert2
        break;
    default:
        // wenn kein case passt
        break;
}

Wichtige Regeln

ElementBedeutungPflicht?
breakVerlässt den switch-BlockFast immer – sonst Fall-Through!
defaultWird ausgeführt wenn kein case passtEmpfohlen als Sicherheitsnetz
caseVergleicht mit einem konstanten WertJa

switch vs. if-else

✅ switch ist besser für:

  • Exakte int/char Werte (1, 2, 3, 'A'...)
  • Viele Fälle (Menüs, Wochentage)
  • Klarere, übersichtlichere Struktur

✅ if-else ist besser für:

  • Bereiche (x > 0, x < 100)
  • float-Vergleiche
  • Komplexe kombinierte Bedingungen

⚡ Code-Simulator

Schreibe C-Code links und führe ihn aus – der Simulator zeigt printf-Ausgaben sofort:

C Simulator – Unit 10
▶ Ausgabe
– Klicke auf AUSFÜHREN –
Ömer
Ömer sagt:

Ändere die Werte und schau wie sich die Ausgabe verändert. Das beste Lernen ist Ausprobieren!

🎯 Wissens-Quiz

Frage 1
Was passiert wenn break in einem case fehlt?
ACompilerfehler
BDer nächste case wird auch ausgeführt (Fall-Through)
CDas Programm stoppt
Ddefault wird ausgeführt
Frage 2
Wofür ist default in switch-case?
APflicht für Syntaxgründe
BWird ausgeführt wenn kein case passt
CIst wie ein else-Zweig im if
DA und B sind richtig
Frage 3
Kann switch mit float-Werten verglichen werden?
AJa
BNein – nur int und char
CNur mit cast
DMit %.0f ja
Frage 4
Welche Syntax ist korrekt für char im switch?
Acase A:
Bcase 'A':
Ccase "A":
Dcase (A):
Frage 5
Wann ist switch besser als if-else?
ABei Bereichen wie x > 10
BBei float-Vergleichen
CBei vielen exakten Ganzzahlwerten
DImmer
Frage 6
Was ist "Fall-Through" bei switch?
AOhne break läuft der Code in den nächsten case weiter
BDer default-Fall wird immer ausgeführt
CEin Compilerfehler bei fehlendem break
DDas Programm stürzt ab wenn kein case passt
Frage 7
Kann switch mit Strings verwendet werden?
AJa, mit doppelten Anführungszeichen
BJa, aber nur mit strcmp
CNein, nur int und char
DJa, in C11 und neuer
Frage 8
Wo steht üblicherweise der default-Fall in einem switch?
AEr muss immer als erstes stehen
BEr darf nur nach dem letzten case stehen
CEr ist nicht erlaubt wenn es mehr als 3 cases gibt
DAm Ende, aber er kann überall stehen

📋 Spickzettel

switch-Syntax
switch(x){}Grundstruktur
case N:Einzelner Fall
break;Fall beenden – Pflicht!
default:Alle anderen Fälle
switch vs. if
switch: int/charExakte Werte
if: floatKommazahlen
switch: MenüsViele Optionen
if: Bereichex > 5 etc.

✅ Checkliste Unit 10

  • Ich kann switch-case korrekt schreiben
  • Ich weiß wann break nötig ist und was Fall-Through bedeutet
  • Ich kann switch und if-else situationsgerecht einsetzen
  • Ich kenne default als Sicherheitsnetz