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

Jetzt kennst du alle drei Schleifen! Aber wann nimmst du welche? Das ist keine Glaubensfrage – es gibt klare Regeln. Lerne heute, die richtige Schleife für jede Situation zu wählen! 🧭

Alle 3 Schleifen im Vergleich Entscheidungshilfe entwickeln Schleifen ineinander umschreiben Praxisbeispiele zuordnen

⚖️ Die drei Schleifen im Direktvergleich

🔁 while

Vorprüfend – Bedingung wird zuerst geprüft. Kann 0 Mal laufen.

Wählen wenn: Anzahl der Durchläufe unbekannt, Bedingung könnte von Anfang an falsch sein.

while (eingabe != 0) {
  /* Verarbeiten */
}

🔄 do-while

Nachprüfend – Körper läuft mindestens 1 Mal. Bedingung danach.

Wählen wenn: Mindestens 1 Durchlauf sicher, z.B. Menü-Anzeige.

do {
  /* Menü anzeigen */
} while (wahl != 0);

🔢 for

Zählergesteuert – Anzahl der Durchläufe bekannt. Kompakte Syntax.

Wählen wenn: Feste Anzahl, Arrays durchlaufen, Zähler nötig.

for (int i=0; i<10; i++) {
  /* 10 Mal ausführen */
}

📊 Entscheidungstabelle

SituationEmpfohlene SchleifeWarum?
10 Mal etwas ausgebenforFeste Anzahl bekannt
Array mit n Elementen durchlaufenforIndexzähler i natürlich
Bis Benutzer "0" eingibtwhileAnzahl unbekannt, könnte sofort 0 sein
Menü anzeigen bis "Beenden"do-whileMindestens 1 Anzeige garantiert
Zahl solange halbieren bis < 1whileAnzahl unbekannt
Eingabe-Validierung (mind. 1 Versuch)do-whileMindestens 1 Eingabe nötig

💻 Dasselbe Programm – drei Wege

Alle drei Schleifen geben 1 bis 5 aus:

drei_varianten.cC
/* while-Version */
int i = 1;
while (i <= 5) { printf("%d ", i); i++; }

/* do-while-Version */
i = 1;
do { printf("%d ", i); i++; } while (i <= 5);

/* for-Version */
for (i = 1; i <= 5; i++) { printf("%d ", i); }
▶ Alle drei geben aus
1 2 3 4 5

✏️ Übungen

Übung 1

Richtige Schleife wählen

Welche Schleife ist am besten geeignet? Begründe kurz:

  1. Ausgabe der ersten 100 Primzahlen:
  2. Benutzer gibt Zahlen ein bis er "0" tippt:
  3. Passwort-Abfrage (mind. 1 Mal):
  4. Alle Elemente eines 10er-Arrays ausgeben:
Übung 2

Umschreiben

Schreibe diese for-Schleife als while-Schleife um:

for (int k = 100; k >= 10; k -= 10) {
    printf("%d\n", k);
}
/* Als while-Schleife: */ int k = ___; while (___) { printf("%d\n", k); k -= ___; }
Übung 3 – Analyse

Wie oft läuft die Schleife?

Trage die Anzahl der Durchläufe ein:

  1. for (int i=0; i<10; i++) → _______ Durchläufe
  2. for (int i=1; i<=10; i++) → _______ Durchläufe
  3. for (int i=0; i<10; i+=2) → _______ Durchläufe
  4. int x=5; while(x<3) {...} → _______ Durchläufe
Übung 4 – Programm

Alle drei Schleifen im Vergleich

Schreibe dasselbe Programm (Ausgabe 1 bis 5) mit allen drei Schleifenarten – direkt hintereinander in main(). So siehst du den Unterschied in der Praxis:

#include <stdio.h> int main() { /* --- for-Schleife --- */ printf("for: "); for (int i = 1; i <= 5; i++) printf("%d ", i); printf("\n"); /* --- while-Schleife --- */ printf("while: "); int j = 1; while (j <= 5) { printf("%d ", j); j++; } printf("\n"); /* --- do-while-Schleife --- */ printf("do-while:"); int k = 1; do { printf("%d ", k); k++; } while (k <= 5); printf("\n"); return 0; }
Alle drei erzeugen exakt dieselbe Ausgabe! Der Unterschied liegt im Stil: for = wenn Anzahl bekannt, while = wenn Bedingung im Vordergrund, do-while = mind. 1x ausführen.