In diesem Tutorial lernen wir anhand einiger Beispiele die Verwendung von while und do… while-Schleifen in der C ++ - Programmierung.
Bei der Computerprogrammierung werden Schleifen verwendet, um einen Codeblock zu wiederholen.
Angenommen, wir möchten eine Nachricht 100 Mal anzeigen. Anstatt die print-Anweisung 100 Mal zu schreiben, können wir eine Schleife verwenden.
Das war nur ein einfaches Beispiel; Durch die effektive Nutzung von Schleifen können wir in unseren Programmen viel mehr Effizienz und Raffinesse erzielen.
In C ++ gibt es drei Arten von Schleifen.
for
Schleifewhile
Schleifedo… while
Schleife
Im vorherigen Tutorial haben wir etwas über die C ++ for-Schleife gelernt. Hier werden wir etwas über while
und do… while
Schleifen lernen .
C ++ while-Schleife
Die Syntax der while
Schleife lautet:
while (condition) ( // body of the loop )
Hier,
- Eine
while
Schleife wertet die auscondition
- Wenn das
condition
ausgewertet wird,true
wird der Code in derwhile
Schleife ausgeführt. - Das
condition
wird erneut ausgewertet. - Dieser Vorgang wird fortgesetzt, bis das
condition
istfalse
. - Wenn das
condition
ausgewertet wird,false
wird die Schleife beendet.
Weitere conditions
Informationen zu finden Sie unter Relationale und logische C ++ - Operatoren.
Flussdiagramm der while-Schleife

Beispiel 1: Anzeigen von Zahlen von 1 bis 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )
Ausgabe
1 2 3 4 5
So funktioniert das Programm.
Wiederholung | Variable | i <= 5 | Aktion |
---|---|---|---|
1 | i = 1 | true | 1 wird gedruckt und auf i erhöht 2 . |
2 .. | i = 2 | true | 2 wird gedruckt und auf i erhöht 3 . |
3 .. | i = 3 | true | 3 wird gedruckt und auf i erhöht4 |
4 .. | i = 4 | true | 4 wird gedruckt und auf i erhöht 5 . |
5 .. | i = 5 | true | 5 wird gedruckt und auf i erhöht 6 . |
6 .. | i = 6 | false | Die Schleife wird beendet |
Beispiel 2: Summe nur positiver Zahlen
// program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )
Ausgabe
Geben Sie eine Zahl ein: 6 Geben Sie eine Zahl ein: 12 Geben Sie eine Zahl ein: 7 Geben Sie eine Zahl ein: 0 Geben Sie eine Zahl ein: -2 Die Summe ist 25
In diesem Programm wird der Benutzer aufgefordert, eine Nummer einzugeben, die in der Variablennummer gespeichert ist.
Um die Summe der Zahlen zu speichern, deklarieren wir eine variable Summe und initialisieren sie mit dem Wert von 0
.
Die while
Schleife wird fortgesetzt, bis der Benutzer eine negative Zahl eingibt. Während jeder Iteration wird die vom Benutzer eingegebene Nummer zur Summenvariablen hinzugefügt.
Wenn der Benutzer eine negative Zahl eingibt, wird die Schleife beendet. Schließlich wird die Gesamtsumme angezeigt.
C ++ do… while-Schleife
Die do… while
Schleife ist eine Variante der while
Schleife mit einem wichtigen Unterschied: Der do… while
Schleifenkörper wird einmal ausgeführt, bevor die condition
überprüft wird.
Die Syntax lautet:
do ( // body of loop; ) while (condition);
Hier,
- Der Hauptteil der Schleife wird zuerst ausgeführt. Dann
condition
wird das ausgewertet. - Wenn das
condition
ausgewertet wird,true
wird der Hauptteil der Schleife innerhalb derdo
Anweisung erneut ausgeführt. - Das
condition
wird noch einmal ausgewertet. - Wenn das
condition
ausgewertet wird,true
wird der Hauptteil der Schleife innerhalb derdo
Anweisung erneut ausgeführt. - Dieser Vorgang wird fortgesetzt, bis die
condition
Auswertung erfolgtfalse
. Dann stoppt die Schleife.
Flussdiagramm von do… while Loop

Beispiel 3: Anzeigen von Zahlen von 1 bis 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )
Ausgabe
1 2 3 4 5
So funktioniert das Programm.
Wiederholung | Variable | i <= 5 | Aktion |
---|---|---|---|
i = 1 | nicht geprüft | 1 wird gedruckt und i auf 2 erhöht |
|
1 | i = 2 | true | 2 wird gedruckt und i auf 3 erhöht |
2 .. | i = 3 | true | 3 wird gedruckt und i auf 4 erhöht |
3 .. | i = 4 | true | 4 wird gedruckt und i auf 5 erhöht |
4 .. | i = 5 | true | 5 wird gedruckt und i auf 6 erhöht |
5 .. | i = 6 | false | Die Schleife wird beendet |
Beispiel 4: Nur Summe positiver Zahlen
// program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )
Ausgabe 1
Geben Sie eine Zahl ein: 6 Geben Sie eine Zahl ein: 12 Geben Sie eine Zahl ein: 7 Geben Sie eine Zahl ein: 0 Geben Sie eine Zahl ein: -2 Die Summe ist 25
Here, the do… while
loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum
variable.
Output 2
Enter a number: -6 The sum is 0.
The body of the do… while
loop runs only once if the user enters a negative number.
Infinite while loop
If the condition
of a loop is always true
, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true) ( // body of the loop )
Here is an example of an infinite do… while
loop.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);
In the above programs, the condition
is always true
. Hence, the loop body will run for infinite times.
for vs while loops
A for
loop is usually used when the number of iterations is known. For example,
// This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )
Here, we know that the for-loop will be executed 5 times.
Allerdings while
und do… while
Schleifen sind in der Regel verwendet , wenn die Anzahl der Iterationen ist unbekannt. Beispielsweise,
while (condition) ( // body of the loop )
Schauen Sie sich diese Beispiele an, um mehr zu erfahren:
- C ++ - Programm zur Anzeige der Fibonacci-Serie
- C ++ - Programm zum Auffinden von GCD
- C ++ - Programm zum Auffinden von LCM