
Die while-Schleife – dein erstes Automatisierungs-Werkzeug! Solange die Bedingung wahr ist, läuft der Block. Vergiss nie i++ – sonst läuft sie ewig!
while – Grundprinzip
while (Bedingung) { // Schleifenkörper }
int i=1; while(i<=5){printf("%d\n",i);i++;}
Die 3 Bestandteile
| Bestandteil | Wo? | Zweck |
|---|---|---|
| Initialisierung | Vor der while-Zeile | Zähler starten: int i = 1; |
| Bedingung | In der while()-Klammer | Prüfen: i <= 10 |
| Update | Am Ende des Körpers | Zähler verändern: i++; |
🚨 Endlosschleife vermeiden!
Wenn der Zähler nie so verändert wird, dass die Bedingung falsch wird → Endlosschleife. Immer i++ oder ähnliches einfügen!
Praktisches Beispiel
int n=1, summe=0; while(n<=100){ summe+=n; n++; } printf("Summe: %d\n", summe); // 5050
Typische Anwendungen
Die while-Schleife passt zu drei klassischen Mustern – je nach dem was die Abbruchbedingung steuert:
| Typ | Bedingung | Typisches Beispiel |
|---|---|---|
| Sentinel-Schleife | Benutzer gibt Sonderwert ein (z. B. -1) | Eingaben sammeln bis Abbruch |
| Eingabe-Validierung | Solange ungültig: erneut fragen | Passwort oder Bereichsprüfung |
| Zählergesteuert | Zähler < n | Genau n Mal wiederholen |
Sentinel-Schleife
int wert = 0; scanf("%d", &wert); while (wert != -1) { printf("Wert: %d\n", wert); scanf("%d", &wert); }
Eingabe-Validierung
int alter = -1; while (alter < 0 || alter > 120) { printf("Alter (0-120): "); scanf("%d", &alter); }
Häufige Fehler
Fehler 1 – i++ vergessen → Endlosschleife
int i = 0; while (i < 5) { printf("%d\n", i); // i++ vergessen! }
Fehler 2 – Off-by-one: < statt <=
Mit i < 5 läuft die Schleife für i = 0, 1, 2, 3, 4 (5 Durchläufe). Mit i <= 5 auch noch für i = 5 (6 Durchläufe). Genau überlegen, ob der Endwert eingeschlossen sein soll!
Fehler 3 – Bedingung schon beim Start falsch → 0 Durchläufe
Wenn die while-Bedingung von Anfang an nicht erfüllt ist, wird der Schleifenkörper kein einziges Mal ausgeführt. Das ist kein Fehler des Compilers, aber oft ein Logikfehler des Programmierers – z. B. wenn ein Zähler falsch initialisiert wurde.
int i = 10; while (i < 5) { // sofort falsch: 10 < 5 ist false printf("läuft nie\n"); }
⚡ 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 11
- Ich kann eine while-Schleife korrekt schreiben
- Ich kenne die 3 Bestandteile: Init, Bedingung, Update
- Ich erkenne und vermeide Endlosschleifen
- Ich kann eine Summe mit while berechnen