Programmieren
 
 
 
 
 
C-Grundkurs

 
 
 
 
.. DO WHILE  -Schleife
 
 

 
 
 
 


Die do-while -Schleife ist eine Schleifenkonstruktion, bei der der Befehlsblock der Schleife mindestens einmal durchlaufen wird.


 

 

 


do - while Schleife

Stößt die Programmausführung auf eine do –Zeile, merkt sie sich diese Position als mögliche Rücksprungstelle. Dann werden alle Befehlszeilen des folgenden Blocks durchlaufen.

Bei der while –Zeile wird die Bedingung geprüft. Ist diese Bedingung wahr (log 1) springt die Programmausführung zur do –Zeile, und der Befehlsblock wird erneut durchlaufen. Ist die Bedingung falsch (log 0) wird der nächste Befehl hinter der while –Zeile bearbeitet und das Programm linear fortgesetzt. Man sagt, die do-while-Schleife sei fussgesteuert.








Siehe auch das Kapitel über logische Bedingungen


 


 


Beispiel:



#include <conio.h>

// enthält die Deklaration für ..




// printf( )



void main (void)

// Definition der Funktion main



{




 int n=10;

// Variable für die Laufbedingung initialisieren



 do

// Schleifenstart



 {




  printf ("%d",n);

// Ausgabe von n



  n = n-1;

// n um 1 vermindern, damit die Schleife
// abbrechen kann



 }




 while (n > 0)

// solange n>0 ist, Anweisungsblock
// durchlaufen



 printf("Schleifenende");




}

// n gleich 0


 


 


Anmerkung:
Verändern Sie die Laufbedingung auf n=0, dann wird die Schleife noch immer einmal durchlaufen

Achtung:
Damit eine do-while Schleife irgendwann einmal abbricht, muss in ihrem Anweisungsblock der Parameter für die Laufbedingung, im Beispiel der Variableninhalt n, geändert werden.

Weitere Wege eine do-while Schleife zu unterbrechen sind z.B. if () -Abfragen, die den Befehl 'break' oder den Befehl 'return' enthalten. Dabei beendet break nur die Schleife, und return die Funktion, in der sich die do-while Schleife befindet.

Ein letzter Befehl im Zusammenhang mit der do-while–Schleife ist der Befehl 'continue'. Soll vor dem Ende des Anweisungsblocks erneut zum Schleifenende gesprungen werden, um die Laufbedingung zu überprüfen wird dies durch den Befehl 'continue' eingeleitet, der normalerweise in einer if() -Abfrage auftritt.


 


 


Zusammenfassung



  • Die 'Laufbedingung' wird immer am Ende der Schleife geprüft.

  • Der Anweisungsblock der do-while Schleife wird mindestens einmal durchlaufen.

  • Die Parameter der Laufbedingung müssen im Anweisungsblock geändert werden, damit keine unendlichen Schleifen entstehen.

  • Man kann eine do-while Schleife durch den Befehl 'break' verlassen,

  • Man kann eine do-while enthaltende Funktion in der do-while Schleife mit 'return' verlassen.

  • Man kann die Bedingungsprüfung einer do-while Schleife durch den Befehl 'continue' vor Abarbeitung des gesamten Anweisungsblockes erreichen.





www..de