📘 Kapitel 2 · Unit 8 von 30

if, else
und else if

Bedingte Ausführung · Entscheidungsstrukturen · Flusssteuerung

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

Jetzt denkt dein Programm! if, else und else if sind die Werkzeuge für alle Entscheidungen. Lerne erst die einfache Form, dann baue auf!

if – die einfachste Entscheidung

SYNTAX
if (Bedingung) {
    // wenn wahr
}
BEISPIEL
if (alter >= 18) {
    printf("Volljährig!\n");
}

if – else

if_else_syntaxC
if (Bedingung) {
    // wenn WAHR
} else {
    // wenn FALSCH
}

else if – mehrere Fälle

noten.cC
if (note == 1)      printf("Sehr gut!\n");
else if (note == 2) printf("Gut!\n");
else if (note == 3) printf("Befriedigend.\n");
else if (note == 4) printf("Genügend.\n");
else               printf("Nicht genügend!\n");

Wichtige Regel

Immer von oben nach unten prüfen – die erste wahre Bedingung wird ausgeführt, der Rest wird übersprungen!

Häufige Fehler

= statt == beim Vergleichen

Falsch – Zuweisung statt Vergleich

FEHLER
if (x = 5) {   // weist 5 zu!
    printf("immer wahr\n");
}

Richtig – Vergleichsoperator ==

KORREKT
if (x == 5) {  // vergleicht!
    printf("nur wenn x==5\n");
}

Semikolon nach der if-Bedingung

Gefährlicher Fehler: if (x > 0); — leerer Rumpf!

Das Semikolon beendet die if-Anweisung sofort. Der Block danach wird immer ausgeführt, egal ob die Bedingung wahr oder falsch ist.

FEHLER
if (x > 0);              // ← Semikolon! if endet hier
{
    printf("läuft immer!\n");  // kein if-Rumpf mehr
}

Fehlende geschweifte Klammern bei mehreren Anweisungen

Falle: kein Block

FEHLER
if (x > 0)
    printf("positiv\n");
    printf("immer!\n"); // außerhalb!

Richtig: mit Block

KORREKT
if (x > 0) {
    printf("positiv\n");
    printf("auch bedingt!\n");
}

Praktisches Beispiel – Notenvergabe

Eine klassische Anwendung von else if: Punktzahlen in Noten umwandeln. Die Ketten werden von oben nach unten geprüft – die erste passende Bedingung gewinnt.

notenvergabe.cC
int punkte = 78;
char note;
if (punkte >= 90)      note = 'A';  // 90–100
else if (punkte >= 80) note = 'B';  // 80–89
else if (punkte >= 70) note = 'C';  // 70–79  ← passt!
else if (punkte >= 60) note = 'D';  // 60–69
else                   note = 'F';  // unter 60
printf("Note: %c\n", note);
▶ Ausgabe
Note: C

Warum funktioniert das so elegant?

Da wir von oben nach unten prüfen und die Bedingungen sich nicht überlappen können, reicht >= ohne obere Grenze. Sobald z. B. punkte >= 70 zutrifft, wurden alle höheren Schwellen bereits verworfen.

⚡ Code-Simulator

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

C Simulator – Unit 8
▶ 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

Fragen werden geladen …

📋 Spickzettel

if-Struktur
if (B) {}Wenn B wahr
if...elseWenn/Sonst
else if (B2)Weiterer Fall
else {}Alle anderen Fälle
Regeln
Top-downErste wahre Bedingung gewinnt
EinrückenLesbarkeit!
Klammern{ } nicht vergessen
Semikolonkein ; nach )

✅ Checkliste Unit 8