C/C++-Grundlagen

Schleifen: for, while und do-while

Schleifen führen denselben Block mehrmals aus. for passt zu einer bekannten Anzahl, while wiederholt, bis eine Bedingung falsch wird, und do-while führt den Rumpf mindestens einmal aus.

Was ist Schleifen: for, while und do-while?

Schleifen führen denselben Block mehrmals aus. for passt zu einer bekannten Anzahl, while wiederholt, bis eine Bedingung falsch wird, und do-while führt den Rumpf mindestens einmal aus.

Wiederhole Arbeit mit for-, while- und do-while-Schleifen sowie break und continue.

Wichtige Punkte

  • Aktiviere Compiler-Warnungen und behebe sie vollständig.
  • Kenne Typ und Lebensdauer jedes Werts.
  • Prüfe Eingaben und Array-Grenzen explizit.

So funktioniert es

Klicke auf Schritt, um die Schleife Zug für Zug auszuführen. Beobachte, wie die Bedingung geprüft wird, der Rumpf läuft und die Ablauftabelle Zeile für Zeile wächst.

Codebeispiele in C und C++

C
Code ausführen →
main.c
#include <stdio.h>

int main(void) {
    /* for: start; condition; step */
    for (int i = 1; i <= 5; i++) {
        printf("%d ", i);
    }
    printf("\n");

    /* while: repeat as long as the condition holds */
    int n = 20;
    int steps = 0;
    while (n > 1) {
        n /= 2;
        steps++;
    }
    printf("halved %d times\n", steps);

    /* do-while: the body runs at least once */
    int tries = 0;
    do {
        tries++;
    } while (tries < 3);
    printf("tries = %d\n", tries);

    /* break leaves the loop, continue skips to the next round */
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) continue;
        if (i > 7) break;
        printf("%d ", i);
    }
    printf("\n");
    return 0;
}
Erwartete Ausgabe
1 2 3 4 5 
halved 4 times
tries = 3
1 3 5 7
C++
Code ausführen →
main.cpp
#include <iostream>
#include <vector>

int main() {
    // for: start; condition; step
    for (int i = 1; i <= 5; i++) {
        std::cout << i << ' ';
    }
    std::cout << '\n';

    // while: repeat as long as the condition holds
    int n = 20;
    int steps = 0;
    while (n > 1) {
        n /= 2;
        steps++;
    }
    std::cout << "halved " << steps << " times\n";

    // do-while: the body runs at least once
    int tries = 0;
    do {
        tries++;
    } while (tries < 3);
    std::cout << "tries = " << tries << '\n';

    // range-based for visits every element of a container
    std::vector<int> values{1, 3, 5, 7};
    int sum = 0;
    for (int value : values) {
        sum += value;
    }
    std::cout << "sum = " << sum << '\n';
}
Erwartete Ausgabe
1 2 3 4 5 
halved 4 times
tries = 3
sum = 16

Vergleich zwischen C und C++

Der for-Kopf enthält Start, Bedingung und Schritt. break verlässt eine Schleife vorzeitig, continue springt zur nächsten Runde. C++ ergänzt die bereichsbasierte for-Schleife, die jedes Element eines Containers ohne Index besucht.

C

C stellt kleine prozedurale APIs und Repräsentationsdetails offen dar.

C++

C++ behält das Low-Level-Modell und ergänzt sicherere Bibliothekstypen.

Übungsaufgaben

Führe beide Versionen aus und untersuche die unterschiedlichen Garantien.

  • Füge ungültige und Grenzwerte hinzu.
  • Kompiliere mit -Wall -Wextra -Wpedantic.
  • Teile Deklaration und Implementierung auf.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges