
do-while ist die Schleife mit Garantie: mindestens ein Durchlauf! Perfekt für Menüs, Passwort-Abfragen und alles, was der Benutzer mindestens einmal sehen soll.
do-while – nachprüfend
do { // min. 1× ausgeführt } while (Bed.);
do { printf("Menü...\n"); scanf("%d",&w); } while(w!=0);
Vergleich while vs. do-while
while – 0 oder mehr Male
Bedingung ZUERST prüfen. Wenn sofort falsch: 0 Durchläufe.
do-while – 1 oder mehr Male
Code ZUERST ausführen, dann prüfen. Mindestens 1 Durchlauf garantiert.
⚠️ Semikolon nicht vergessen!
} while (bedingung); – das Semikolon am Ende ist Pflicht!
Typische Anwendung: Menü
Das häufigste Einsatzgebiet von do-while ist ein Programmmenü: Es soll mindestens einmal angezeigt werden, und nach jeder Aktion erneut – solange der Benutzer nicht "Beenden" wählt.
int wahl; do { printf("1: Start\n2: Einstellungen\n3: Beenden\n"); printf("Wahl: "); scanf("%d", &wahl); if (wahl == 1) printf("Starte...\n"); if (wahl == 2) printf("Einstellungen...\n"); } while (wahl != 3); // Schleife bis Wahl == 3 printf("Auf Wiedersehen!\n");
Warum do-while für Menüs ideal ist
Das Menü muss immer mindestens einmal gezeigt werden – bevor der Benutzer überhaupt eine Wahl treffen kann. Mit while müsste man wahl vorher auf einen Dummy-Wert setzen. do-while macht das überflüssig.
Häufige Fehler
Fehler 1 – Kein Semikolon nach while(...)
Bei do-while ist das Semikolon nach der schließenden Klammer Pflicht. Ohne es interpretiert der Compiler die nachfolgende Anweisung als Schleifenkörper einer neuen while-Schleife.
do { printf("Hallo\n"); } while (x < 5) // ← kein ; → Compilerfehler printf("Ende\n");
Fehler 2 – Falsche Abbruchbedingung
Die Schleife läuft solange die Bedingung wahr ist. Für ein Menü mit Beenden-Option 3 muss die Bedingung wahl != 3 lauten – nicht wahl == 3, sonst endet die Schleife sofort nach der ersten Eingabe von 3 nie richtig.
// Falsch: läuft nur wenn wahl==3 } while (wahl == 3); // Richtig: läuft solange wahl != 3 } while (wahl != 3);
⚡ Code-Simulator
Bearbeite den Code und führe ihn aus. Schleifendurchläufe werden simuliert:

Ändere Start- und Endwert oder den Schritt und beobachte wie sich die Ausgabe verändert. Das ist der beste Weg, Schleifen zu verstehen!
🎯 Wissens-Quiz
📋 Spickzettel
✅ Checkliste Unit 12
- Ich kann do-while korrekt schreiben (mit Semikolon!)
- Ich kenne den Unterschied zu while
- Ich weiß wann do-while sinnvoller ist
- Ich kann ein einfaches Menü mit do-while bauen