Kapitel 2 Unit 3 von 5 Theorie + Übungen Dauer: ~45 Min.
Ömer
Ömer sagt:

Jetzt können Programme wirklich denken! Mit if, else und else if triffst du Entscheidungen: „Wenn die Note 1 ist, gib 'Sehr gut' aus – sonst 'Weiter üben'." Das ist das Herzstück jeder intelligenten Software! 🎯

if-Syntax verstehen else als Alternative else if für mehrere Fälle Flussdiagramme lesen Korrekte Einrückung

🔀 if – die einfachste Entscheidung

Mit if führst du Code nur dann aus, wenn eine Bedingung wahr (also ungleich 0) ist:

SYNTAX
if (Bedingung) {
    // wird ausgeführt wenn
    // Bedingung wahr ist
}
BEISPIEL
if (alter >= 18) {
    printf("Volljährig!
");
}

🔀 if – else

Mit else gibst du an, was passieren soll, wenn die Bedingung falsch ist:

if_else.cC
#include <stdio.h>
int main() {
    int alter;
    printf("Dein Alter: "); scanf("%d", &alter);

    if (alter >= 18) {
        printf("Zugang erlaubt!
");
    } else {
        printf("Noch nicht volljährig.
");
    }
    return 0;
}

🔀 else if – mehrere Fälle

Für mehr als zwei Möglichkeiten kettest du else if aneinander:

noten.cC
#include <stdio.h>
int main() {
    int note;
    printf("Deine Note (1-5): "); scanf("%d", &note);

    if (note == 1) {
        printf("Sehr gut!
");
    } else if (note == 2) {
        printf("Gut!
");
    } else if (note == 3) {
        printf("Befriedigend.
");
    } else if (note == 4) {
        printf("Genügend.
");
    } else {
        printf("Nicht genügend!
");
    }
    return 0;
}
▶ Ausgabe bei Eingabe: 2
Gut!

Wichtige Regel: Einrückung!

Der Code innerhalb eines if-Blocks wird um einen Tab (oder 4 Leerzeichen) eingerückt. Das macht den Code lesbar und zeigt die Struktur klar. Der Compiler braucht es nicht – aber du und deine Mitschüler werden es dir danken!

✏️ Übungen

Übung 1

Ausgabe vorhersagen

Was gibt dieses Programm aus, wenn der Benutzer 15 eingibt?

C
int punkte = 15;
if (punkte >= 50) {
    printf("Bestanden!
");
} else if (punkte >= 25) {
    printf("Knapp!
");
} else {
    printf("Nicht bestanden.
");
}

Ausgabe:

Gehe die Bedingungen von oben nach unten durch – die erste wahre Bedingung gewinnt!
Übung 2

Programm ergänzen

Ergänze das if-else-Konstrukt: Das Programm soll prüfen ob eine Zahl positiv, negativ oder null ist.

#include <stdio.h> int main() { int zahl; printf("Zahl eingeben: "); scanf("%d", &zahl); if (___________) { printf("Positiv! "); } else if (___________) { printf("Negativ! "); } else { printf("Null! "); } return 0; }
Übung 3 – Programm

Ampel-Simulator

Schreibe ein Programm, das eine Zahl einliest (1 = Rot, 2 = Gelb, 3 = Grün) und die entsprechende Ampelfarbe mit Anweisung ausgibt.

#include <stdio.h> int main() { int farbe; printf("Ampelfarbe (1=Rot, 2=Gelb, 3=Gruen): "); scanf("%d", &farbe); if (farbe == 1) printf("ROT - Anhalten!\n"); else if (farbe == 2) printf("GELB - Vorsicht, bremsen!\n"); else if (farbe == 3) printf("GRUEN - Fahren!\n"); else printf("Ungueltige Eingabe (nur 1, 2 oder 3).\n"); return 0; }
💡 Teste über stdin: 1, dann 3, dann 5 – siehst du den else-Zweig?
Übung 4 – Bonus

Noten-Beurteilung

Schreibe ein Programm das eine Note (1–5) einliest und die Beurteilung ausgibt: 1=Sehr gut, 2=Gut, 3=Befriedigend, 4=Genügend, 5=Nicht genügend. Ungültige Zahlen sollen abgefangen werden.

#include <stdio.h> int main() { int note; printf("Note (1-5): "); scanf("%d", &note); /* if - else if - else hier */ return 0; }
Denke an den letzten else-Zweig für alles außerhalb 1–5!
Übung 5 – Challenge

Gerades oder ungerades Jahr – Schaltjahr?

Ein Jahr ist ein Schaltjahr wenn: durch 4 teilbar UND (nicht durch 100 teilbar ODER durch 400 teilbar). Implementiere und teste mit 2000, 1900, 2024, 2023:

#include <stdio.h> int main() { int jahr; printf("Jahr: "); scanf("%d", &jahr); if (/* Bedingung hier */) printf("%d ist ein Schaltjahr.\n", jahr); else printf("%d ist KEIN Schaltjahr.\n", jahr); return 0; }
Schaltjahr-Regel: (jahr % 4 == 0 && jahr % 100 != 0) || (jahr % 400 == 0)