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++
#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;
}
1 2 3 4 5
halved 4 times
tries = 3
1 3 5 7
#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';
}
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 stellt kleine prozedurale APIs und Repräsentationsdetails offen dar.
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.
- Sum of Odd Numbers Add every odd number up to a limit. Einfach
- Countdown to Liftoff Count down from a number and end with Liftoff! Einfach
- Multiplication Table Row List the first multiples of a number. Einfach