Schleifen in der Sprache C sind Kontrollflussanweisungen, die verwendet werden, um einen Teil des Codes zu wiederholen, bis die gegebene Bedingung erfüllt ist. Der do-while-Schleife ist eine der drei Schleifenanweisungen in C, die anderen sind while-Schleife und for-Schleife. Es wird hauptsächlich zum Durchlaufen von Arrays, Vektoren und anderen Datenstrukturen verwendet.
Was ist eine Do...while-Schleife in C?
Der tun...während in C ist eine Schleifenanweisung, mit der ein Teil des Codes wiederholt wird, bis die angegebene Bedingung erfüllt ist. Es ist eine Form eines ausgangsgesteuerte oder nachgetestete Schleife wobei die Testbedingung nach der Ausführung des Schleifenkörpers überprüft wird. Aus diesem Grund werden die Anweisungen in der do…while-Schleife unabhängig von der Bedingung immer mindestens einmal ausgeführt.
Syntax der do…while-Schleife in C
do { // body of do-while loop } while ( condition );> Verwendung der do…while-Schleife in C
Das folgende Beispiel demonstriert die Verwendung der do…while-Schleife in der Programmiersprache C.
C
// C Program to demonstrate the use of do...while loop> #include> int> main()> {> >// loop variable declaration and initialization> >int> i = 0;> >// do while loop> >do> {> >printf>(>'Geeks
'>);> >i++;> >}>while> (i <3);> >return> 0;> }> |
>
>Ausgabe
Geeks Geeks Geeks>
Wie funktioniert die do...while-Schleife?

Syntaxstruktur der do while-Schleife
Die Funktionsweise der do…while-Schleife wird im Folgenden erläutert:
- Wenn die Programmsteuerung zum ersten Mal zur do…while-Schleife gelangt, Zuerst wird der Schleifenkörper ausgeführt und dann die Testbedingung/der Testausdruck überprüft , im Gegensatz zu anderen Schleifen, bei denen die Testbedingung zuerst überprüft wird. Aufgrund dieser Eigenschaft wird die do…while-Schleife auch als ausgangsgesteuerte oder nachgetestete Schleife bezeichnet.
- Wenn die Testbedingung als ausgewertet wird WAHR , Die Die Programmsteuerung geht an den Start der Schleife und der Rumpf wird noch einmal ausgeführt.
- Der obige Vorgang wiederholt sich, bis die Testbedingung wahr ist.
- Wenn die Testbedingung als ausgewertet wird FALSCH, Die Programmsteuerung geht zu den nächsten Anweisungen über nach der do…while-Schleife.
Wie bei der while-Schleife in C sind Initialisierung und Aktualisierung nicht Teil der do…while-Schleifensyntax. Das müssen wir explizit vor bzw. in der Schleife machen.
Das folgende Flussdiagramm zeigt die visuelle Darstellung des Ablaufs der do…while-Schleife in C.
C do…while-Schleifen-Flussdiagramm

Flussdiagramm der do…while-Schleife in C
Verschachtelte do…while-Schleife in C
Wie bei anderen Schleifen können wir auch eine do…while-Schleife in eine andere Schleife verschachteln. Dies wird anhand des folgenden C-Programms demonstriert.
Beispiel einer verschachtelten do…while-Schleife in C:
C
// C Program to demonstrate the nesting of do...while loop> #include> int> main()> {> >// declaring loop variables> >int> i = 0, j;> >int> count = 0;> >// outer loop starts> >do> {> >j = 0;> >// inner loop starts> >do> {> >printf>(>'%d '>, count++);> >j++;> >}>while> (j <3);> >// inner loop ends> >printf>(>'
'>);> >i++;> >}>while> (i <3);> >// outer loop ends> >return> 0;> }> |
>
>Ausgabe
0 1 2 3 4 5 6 7 8>
Weitere Informationen zu verschachtelten Schleifen in C finden Sie in diesem Artikel – Verschachtelte Schleifen in C mit Beispielen
Beispiele für eine do…while-Schleife in C
Beispiel 1. C-Programm zur Demonstration des Verhaltens der do…while-Schleife, wenn die Bedingung von Anfang an falsch ist.
C
abstrakte Klasse Java
// C Program to demonstrate the do...while loop behaviour> // when the condition is false from the start> #include> #include> int> main()> {> >// declaring a false variable> >bool> condition =>false>;> >do> {> >printf>(>'This is loop body.'>);> >}>while> (condition);>// false condition> >return> 0;> }> |
>
>Ausgabe
This is loop body.>
Wie wir sehen können, wird der Schleifenkörper einmal ausgeführt, selbst wenn die Bedingung zu Beginn falsch ist. Dies liegt daran, dass in der do…while-Schleife die Bedingung nach dem Durchlaufen des Körpers überprüft wird. Wenn sich die Steuerung also am Anfang befindet,
- Es geht durch den Schleifenkörper.
- Führt alle Anweisungen im Textkörper aus.
- Überprüft die Bedingung, die sich als falsch herausstellt.
- Verlässt dann die Schleife.
Beispiel 2. C-Programm zum Drucken der Multiplikationstabelle von N mithilfe der do…while-Schleife
Das folgende Beispiel demonstriert die Verwendung der do…while-Schleife zum Drucken der Multiplikationstabelle von N.
C
// C Program to print multiplication table using do...while> // loop> #include> int> main()> {> >int> N = 5, i = 1;> >do> {> >printf>(>'%d x %d = %d
'>, N, i, N * i);> >}>while> (i++ <10);> >return> 0;> }> |
>
Unterschied zwischen Fuchs und Wolf
>Ausgabe
5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 5 x 10 = 50>
Unterschied zwischen while und do…while-Schleife in C
Die folgende Tabelle listet die wichtigsten auf Unterschiede zwischen der while- und der do…while-Schleife in C.
| while-Schleife | do...while-Schleife |
|---|---|
| Die Testbedingung wird überprüft bevor der Schleifenkörper ausgeführt wird. | Die Testbedingung wird überprüft nach der Hinrichtung des Körpers. |
| Wenn die Bedingung falsch ist, wird die Körper wird nicht ausgeführt nicht ein einziges Mal. | Der Körper des do…while-Schleife wird mindestens einmal ausgeführt auch wenn die Bedingung falsch ist. |
| Es ist eine Art von vorgetestete oder eintrittsgesteuerte Schleife. | Es ist eine Art von nachgetestete oder ausgangsgesteuerte Schleife. |
| Semikolon ist nicht erforderlich. | Am Ende ist ein Semikolon erforderlich. |
Weitere Informationen zu diesen Unterschieden finden Sie in diesem Artikel – Unterschied zwischen while- und do-while-Schleife in C, C++, Java
Abschluss
Zusammenfassend lässt sich sagen, dass die Verwendung der einzigen ausgangsgesteuerten Schleife in C, der do…while-Schleife, auch dazu dient, einen bestimmten Teil des Codes zu iterieren, aber ihre Funktionsweise unterscheidet sie von eingangsgesteuerten Schleifen wie der while-Schleife und der for Schleife. Dies ist in Fällen nützlich, in denen wir die Anweisung mindestens einmal innerhalb des Schleifenkörpers ausführen müssen, beispielsweise beim Durchlaufen zirkulär verknüpfter Listen.
FAQs zu C do…while-Schleifen
1. Wie viele Arten von Schleifen gibt es in C?
Jahre: Es gibt drei Arten von Schleifen in der Sprache C:
- for-Schleife
- while-Schleife
- do...while-Schleife
2. Was sind die eintrittskontrollierten oder vorab getesteten Schleifen?
Jahre: Die eintrittsgesteuerten Schleifen oder vorgetesteten Schleifen sind diejenigen Schleifen, in denen die Schleife Der Zustand wird vor der Ausführung des Körpers überprüft der Schleife.
3. Was sind die ausgangsgesteuerten oder nachgetesteten Schleifen?
Jahre: Die ausgangsgesteuerten Schleifen oder nachgetesteten Schleifen sind diejenigen Schleifen, in denen die Die Programmsteuerung kommt zum Schleifenkörper, bevor die Schleifenbedingung überprüft wird .
4. Welche Schleife wird garantiert mindestens einmal ausgeführt?
Jahre: Der do...while-Schleife garantiert, dass die Anweisungen im Hauptteil der Schleife mindestens einmal ausgeführt werden, da es sich um eine Art ausgangsgesteuerte Schleife handelt.
5. Können wir geschweifte Klammern in der C-do…while-Schleifensyntax überspringen, wenn der Hauptteil nur eine Anweisung enthält?
Antwort: Nein. können wir geschweifte Klammern in der C-do…while-Syntax nicht überspringen, auch wenn es im Gegensatz zu while und for-Schleifen nur eine einzige Anweisung gibt.
6. Wie erstelle ich eine Endlosschleife in C mit der do…while-Schleife?
Jahre: Wir können eine Endlosschleife in C erstellen, indem wir a angeben Bedingung, die immer wahr sein wird als Schleifenbedingung. Das folgende Programm zeigt, wie das geht:
C
// C Program to create a infinite loop using do...while loop> // in C> #include> int> main()> {> >// infinite loop> >do> {> >printf>(>'gfg '>);> >}>while> (1);>// always 1 ~ true> >return> 0;> }> |
>
>
Ausgabe
gfg gfg gfg gfg gfg gfg gfg .... (infinite)>