C ++ while and do ... while-Schleife (mit Beispielen)

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.

  1. for Schleife
  2. while Schleife
  3. do… while Schleife

Im vorherigen Tutorial haben wir etwas über die C ++ for-Schleife gelernt. Hier werden wir etwas über whileund do… whileSchleifen lernen .

C ++ while-Schleife

Die Syntax der whileSchleife lautet:

 while (condition) ( // body of the loop )

Hier,

  • Eine whileSchleife wertet die auscondition
  • Wenn das conditionausgewertet wird, truewird der Code in der whileSchleife ausgeführt.
  • Das conditionwird erneut ausgewertet.
  • Dieser Vorgang wird fortgesetzt, bis das conditionist false.
  • Wenn das conditionausgewertet wird, falsewird die Schleife beendet.

Weitere conditionsInformationen zu finden Sie unter Relationale und logische C ++ - Operatoren.

Flussdiagramm der while-Schleife

Flussdiagramm von C ++ 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 ierhöht 2.
2 .. i = 2 true 2 wird gedruckt und auf ierhöht 3.
3 .. i = 3 true 3 wird gedruckt und auf ierhöht4
4 .. i = 4 true 4 wird gedruckt und auf ierhöht 5.
5 .. i = 5 true 5 wird gedruckt und auf ierhö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 whileSchleife 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… whileSchleife ist eine Variante der whileSchleife mit einem wichtigen Unterschied: Der do… whileSchleifenkö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 conditionwird das ausgewertet.
  • Wenn das conditionausgewertet wird, truewird der Hauptteil der Schleife innerhalb der doAnweisung erneut ausgeführt.
  • Das conditionwird noch einmal ausgewertet.
  • Wenn das conditionausgewertet wird, truewird der Hauptteil der Schleife innerhalb der doAnweisung erneut ausgeführt.
  • Dieser Vorgang wird fortgesetzt, bis die conditionAuswertung erfolgt false. Dann stoppt die Schleife.

Flussdiagramm von do… while Loop

Flussdiagramm von C ++ do… while-Schleife

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 iauf 2 erhöht
1 i = 2 true 2 wird gedruckt und iauf 3 erhöht
2 .. i = 3 true 3 wird gedruckt und iauf 4 erhöht
3 .. i = 4 true 4 wird gedruckt und iauf 5 erhöht
4 .. i = 5 true 5 wird gedruckt und iauf 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 whileund do… whileSchleifen 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

Interessante Beiträge...