C++ do…while-Schleife mit Beispielen

Was ist eine Do-While-Schleife?

Die do-while-Schleife durchläuft einen Abschnitt des C++-Programms mehrmals. In der do-while-Schleife wird der Testausdruck am Ende der Schleife hinzugefügt. Der Schleifenkörper steht vor dem Testausdruck. Aus diesem Grund muss der Schleifenkörper einmal ausgeführt werden, auch wenn der Testausdruck im ersten Test als falsch ausgewertet wird.

Wann verwendet man eine do-while-Schleife?

Die do-while-Schleife sollte verwendet werden, wenn die Anzahl der Iterationen nicht festgelegt ist und die Schleife mindestens einmal ausgeführt werden muss. Der C ++ - Compiler Führt zuerst den Schleifenkörper aus, bevor die Bedingung ausgewertet wird. Das bedeutet, dass die Schleife ein Ergebnis zurückgeben muss. Dies ist auch dann der Fall, wenn die Testbedingung bei der ersten Bewertung „falsch“ ergibt. Da der Schleifenkörper bereits ausgeführt wurde, muss er das Ergebnis zurückgeben.

Syntax

Die grundlegende Syntax der C++-do-while-Schleife lautet wie folgt:

do{    
//code 
}while(condition);  

Die Bedingung ist ein Testausdruck. Es muss wahr sein, damit die Schleife ausgeführt werden kann. Die Zeichen { und } markieren den Rumpf der do while-Schleife. Es kommt vor der Bedingung. Daher wird es vor der Bedingung ausgeführt.

Wie funktioniert die Do-While-Schleife?

Do-While-Schleife
C++ Do while-Flussdiagramm

Erläuterung des Flussdiagramms:

  1. Beginn der do while-Schleife.
  2. Der Körper der do while-Schleife.
  3. Der auszuwertende Testausdruck oder die auszuwertende Bedingung.
  4. Wenn der Testausdruck wahr ist, hat der C++-Compiler den Hauptteil der do while-Schleife ausgeführt.
  5. Wenn der Testausdruck falsch ist, führt der C++-Compiler die Anweisungen nach dem Schleifenkörper aus.
  6. Anweisungen, die nach dem Schleifenkörper stehen.

Beispiel 1

#include <iostream>
using namespace std;
int main() {
	// Local variable 
	int x = 1;
	do {
		cout << "X is: " << x << endl;
		x = x + 1;
	} while (x < 5);
	return 0;
}

Ausgang:

Do-While-Schleife

Hier ist ein Screenshot des Codes:

Do-While-Schleife

Code-Erklärung:

  1. Einbinden der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
  2. Einschließlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
  3. Aufruf der Funktion main(), in der die Logik des Programms hinzugefügt werden soll. Das { markiert den Beginn des Hauptteils der main()-Funktion.
  4. Ein Kommentar. Der C++-Compiler überspringt dies.
  5. Deklarieren Sie eine ganzzahlige Variable x und weisen Sie ihr den Wert 1 zu.
  6. Erstellen einer Do-While-Schleife. Das { markiert den Beginn des Schleifenkörpers.
  7. Um den Wert der Variablen x zusammen mit anderem Text auf der Konsole zu drucken. Das endl ist ein C++-Schlüsselwort und bedeutet Endzeile.
  8. Erhöhen des Werts von x um 1 nach jeder Iteration.
  9. Ende des Schleifenkörpers. Am Ende des Schleifenkörpers wurde ein Testausdruck hinzugefügt. Es prüft, ob der Wert von x kleiner als 5 ist.
  10. Die Funktion main() sollte einen Wert zurückgeben, wenn das Programm einwandfrei läuft.
  11. Ende des Hauptteils der main()-Funktion.

Beispiel 2

#include <iostream>
using namespace std;
int main()
{
	int num, sum = 0;
	do {

		cout << "Enter a number: ";

		cin >> num;

		sum += num;

	} while (num != 0);
	cout << "Sum is " << sum;

	return 0;
}

Ausgang:

Do-While-Schleife

Hier ist ein Screenshot des Codes:

Do-While-Schleife

Code-Erklärung:

  1. Einbinden der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
  2. Einschließlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
  3. Aufruf der Funktion main(), in der die Logik des Programms hinzugefügt werden soll.
  4. Das { markiert den Beginn des Hauptteils der main()-Funktion.
  5. Deklarieren von zwei ganzzahligen Variablen, num und sum. Die Variablensumme wurde auf 0 initialisiert.
  6. Erstellen einer Do-While-Schleife. Das { markiert den Beginn des Schleifenkörpers.
  7. Drucken des Textes „Geben Sie eine Zahl ein:“ auf der Konsole aus.
  8. Benutzereingaben von der Konsole lesen und den Wert in der Variablen num speichern. Der Cin (Konsoleneingabe) ist eine Funktion, die Benutzereingaben liest.
  9. Addieren des Werts von num zum Wert von sum und Speichern des Ergebnisses in der Variablen sum.
  10. Das } markiert das Ende des Schleifenkörpers. Der Testausdruck wurde am Ende des Schleifenkörpers hinzugefügt. Es prüft, ob der vom Benutzer eingegebene Wert nicht 0 ist. Das != ist ungleich dem Operator. Wenn der Benutzer eine 0 eingibt, sollte die Schleife beendet werden.
  11. Druckt den Wert der Variablensumme auf der Konsole zusammen mit anderem Text.
  12. Die Funktion main() sollte einen Wert zurückgeben, wenn das Programm einwandfrei läuft.
  13. Ende des Hauptteils der main()-Funktion.

Verschachtelte Do-While-Schleife

In C++ ist es uns möglich, eine Do-While-Schleife innerhalb einer anderen Do-Whole-Schleife zu erstellen. Dies führt zu einer verschachtelten Do-While-Schleife.

Syntax

do{
statement(s)
do{
statement(s)
}while(condition);
statement(s)
}while(condition);

Die erste do-Anweisung bezeichnet den do-Teil der äußeren do-while-Schleife.

Die zweite do-Anweisung bezeichnet den do-Teil der inneren do-while-Schleife.

Die erste while-Anweisung bezeichnet die Testbedingung für die innere Schleife.

Die zweite while-Anweisung bezeichnet die Testbedingung für die äußere Schleife.

Funktionsweise einer verschachtelten Do-While-Schleife

Eine verschachtelte do while-Schleife funktioniert wie folgt:

Schritt 1: Die Initialisierung wird zuerst einmal ausgeführt.

Schritt 2: Die Anweisung (das do) wird einmal ausgeführt.

Schritt 3: Der Testausdruck ist eine Auswertung durch Flusskontrolle.

Schritt 4: Wenn true, wird die innere Schleife ausgeführt.

Schritt 5: Aktualisierungsanweisung(en) werden aktualisiert.

Schritt 6: Der Prozess wird wiederholt ausgeführt, bis der Testausdruck falsch wird.

Schritt 7: Wenn der Testausdruck falsch wird, wird die innere Schleife verlassen und die Steuerung springt zur äußeren Schleife.

Schritt 8: Die Testbedingung wird erneut ausgewertet.

Schritt 9: Wenn „true“, werden Anweisungen ausgeführt, um „false“ zurückzugeben.

Schritt 10: Ausführung von Schleifenstopps und Kontrollsprüngen zu Anweisungen nach der Schleife.

Beispiel

#include <iostream>  
using namespace std;
int main() {
	int a = 1;
	do {
		int b = 1;
		do {
			cout << a << "\n";
			b++;
		} while (b <= 3);
		a++;
	} while (a <= 3);
}

Ausgang:

Verschachtelte Do-While-Schleife

Hier ist ein Screenshot des Codes:

Verschachtelte Do-While-Schleife

Code-Erklärung:

  1. Einbinden der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
  2. Einschließlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
  3. Aufruf der Funktion main(), in der die Logik des Programms hinzugefügt werden soll. Das { markiert den Beginn des Hauptteils der main()-Funktion.
  4. Deklarieren Sie eine ganzzahlige Variable a und weisen Sie ihr den Wert 1 zu.
  5. Erstellen der äußeren Do-While-Schleife. Das { markiert den Beginn des äußeren Schleifenkörpers.
  6. Deklarieren Sie eine ganzzahlige Variable b und weisen Sie ihr den Wert 1 zu.
  7. Erstellen der inneren Do-While-Schleife. Das { markiert den Beginn des inneren Schleifenkörpers.
  8. Um den Wert der Variablen a auf der Konsole auszugeben. „\n“ ist ein Zeichen für eine neue Zeile, das den Mauszeiger in die nächste Zeile bewegt.
  9. Erhöhen des Werts von b um 1 nach jeder Iteration.
  10. Ende des inneren Schleifenkörpers. Am Ende des Schleifenkörpers wurde ein Testausdruck hinzugefügt. Es prüft, ob der Wert von b kleiner oder gleich 5 ist.
  11. Erhöhen des Werts von a um 1 nach jeder Iteration.
  12. Ende des äußeren Schleifenkörpers. Am Ende des Schleifenkörpers wurde ein Testausdruck hinzugefügt. Es prüft, ob der Wert von a kleiner oder gleich 3 ist.
  13. Ende des Hauptteils der main()-Funktion.

Zusammenfassung

  • Die do-while-Schleife führt einen Codeabschnitt mehrmals aus.
  • Es sollte verwendet werden, wenn die Anzahl der Iterationen nicht festgelegt ist.
  • In der do-while-Schleife steht der Schleifenkörper vor dem Testausdruck.
  • Der Schleifenkörper wird mindestens einmal ausgeführt, auch wenn der Testausdruck falsch wird.
  • Diese Schleife sollte verwendet werden, wenn die Anzahl der Iterationen nicht festgelegt ist.
  • Die Do-while-Schleife kann beliebig oft ausgeführt werden, vorausgesetzt, die Bedingung ist wahr.
  • Die Bedingung wird einmal nach jeder Iteration ausgewertet.
  • Das Ergebnis der Beurteilung des Zustands bestimmt die zu ergreifende Maßnahme.
  • Wenn die Bedingung wahr ist, hat die Schleife den Rumpf ausgeführt.
  • Die Ausführung der Schleife wird sofort angehalten, wenn die Bedingung „falsch“ ergibt.
  • Da der Hauptteil der do while-Schleife bereits ausgeführt wurde, muss er das Ergebnis zurückgeben.