📘 Kapitel 3 · Schleifen & Wiederholungen

Die do-while-Schleife

Nachprüfende Wiederholung · Mindestens 1× · Menüs

12 / 30 Units
Ömer
Kapitel 3: Schleifen & Wiederholungen ~45 Min. Theorie + Simulator + Quiz + Spickzettel
Ömer
Ömer sagt:

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

SYNTAX
do {
    // min. 1× ausgeführt
} while (Bed.);
BEISPIEL
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.

menue.cC
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");
▶ Ausgabe (Beispiel mit Eingabe 1, dann 3)
1: Start 2: Einstellungen 3: Beenden Wahl: Starte... 1: Start 2: Einstellungen 3: Beenden Wahl: Auf Wiedersehen!

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.

FEHLER
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.

VERGLEICH
// 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:

C Simulator – Unit 12 – Schleifen
▶ Ausgabe
– Klicke AUSFÜHREN –
Ömer
Ömer sagt:

Ä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

Frage 1
Was ist der Hauptunterschied zwischen while und do-while?
Ado-while ist schneller
Bdo-while wird mindestens einmal ausgeführt
Cwhile wird öfter ausgeführt
DEs gibt keinen Unterschied
Frage 2
Wo steht das Semikolon bei do-while?
ANach do
BNach der öffnenden {
CNach } while(bedingung)
DGar nicht
Frage 3
Welche Schleife eignet sich am besten für ein Menü?
Afor
Bwhile
Cdo-while
DAlle gleich
Frage 4
Was gibt 'int x=10; do{ printf("%d",x); x--; }while(x>15);' aus?
ANichts
B10
C10 9 8 ...
DEndlosschleife
Frage 5
Wie viele Male wird do-while mindestens ausgeführt?
A0
B1
C2
DHängt von der Bedingung ab
Frage 6
Wie oft wird der do-while-Körper mindestens ausgeführt?
A0 – er kann übersprungen werden
B2 – einmal vor und einmal nach der Prüfung
CHängt von der Bedingung ab
DEinmal (immer!)
Frage 7
Was ist typisch für do-while?
AIteration über Arrays mit bekannter Größe
BMenü-Programme und Eingabe-Validierung
CMathematische Berechnungen mit fester Anzahl
DEndlosschleifen ohne Abbruchbedingung
Frage 8
Was fehlt in: do { printf("Hi"); } while (x < 5)
ADie geschweifte Klammer nach do
BEin break am Ende
CDas Semikolon nach while(x < 5)
DEin return 0

📋 Spickzettel

do-while
do { } while(B);Grundstruktur
Min. 1× garantiertHauptmerkmal
Semikolon ;Nach while(B)!
MenüsTypischer Einsatz
while vs. do-while
while: 0+ malVorprüfend
do-while: 1+ malNachprüfend
Unbekannte Anzahl→ while
Min. 1 Durchlauf→ do-while

✅ 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