C # while und do ... while-Schleife (mit Beispielen)

In diesem Artikel erfahren Sie, wie und wie Sie … while-Schleifen in C # verwenden, wie Sie sie verwenden und welche Unterschiede zwischen ihnen bestehen.

Bei der Programmierung ist es häufig erwünscht, bestimmte Anweisungsblöcke für eine bestimmte Anzahl von Malen auszuführen. Eine mögliche Lösung besteht darin, diese Anweisungen für die erforderliche Anzahl von Malen einzugeben. Die Anzahl der Wiederholungen ist jedoch möglicherweise nicht im Voraus (während der Kompilierungszeit) bekannt oder möglicherweise groß genug (z. B. 10000).

Die beste Lösung für ein solches Problem ist die Schleife. Bei der Programmierung werden Schleifen verwendet, um einen bestimmten Anweisungsblock wiederholt auszuführen, bis eine bestimmte Bedingung erfüllt ist.

In diesem Artikel lernen wir, while-Schleifen in C # zu verwenden.

C # while-Schleife

Das Schlüsselwort while wird verwendet, um eine while-Schleife in C # zu erstellen. Die Syntax für die while-Schleife lautet:

 while (Testausdruck) (// Körper von while) 

Wie funktioniert die while-Schleife?

  1. C # while-Schleife besteht aus a test-expression.
  2. Wenn das test-expressionausgewertet wird true,
    1. Anweisungen innerhalb der while-Schleife werden ausgeführt.
    2. Nach der Ausführung test-expressionwird das erneut ausgewertet.
  3. Wenn das test-expressionausgewertet wird false, endet die while-Schleife.

while-Schleife Flussdiagramm

Beispiel 1: while-Schleife

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Wenn wir das Programm ausführen, lautet die Ausgabe:

 C # Für Schleife: Iteration 1 C # Für Schleife: Iteration 2 C # Für Schleife: Iteration 3 C # Für Schleife: Iteration 4 C # Für Schleife: Iteration 5

Anfangs ist der Wert von i 1.

Wenn das Programm die while-Schleifenanweisung erreicht,

  • Der Testausdruck i <=5wird ausgewertet. Da i 1 ist und 1 <= 5ist true, führt es den Körper der while-Schleife aus. Hier wird die Zeile mit Iteration 1 auf dem Bildschirm gedruckt, und der Wert von i wird um 1 erhöht, um 2 zu werden.
  • Nun wird der Testausdruck ( i <=5) erneut ausgewertet. Auch diesmal kehrt der Ausdruck zurück true(2 <= 5), sodass die Zeile auf dem Bildschirm gedruckt wird und der Wert von i jetzt auf 3 erhöht wird.
  • Dies geht und die while-Schleife wird ausgeführt, bis i 6 wird. An diesem Punkt wird der Testausdruck ausgewertet falseund daher endet die Schleife.

Beispiel 2: while-Schleife zur Berechnung der Summe der ersten 5 natürlichen Zahlen

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Wenn wir das Programm ausführen, lautet die Ausgabe:

 Summe = 15

Dieses Programm berechnet die Summe der ersten 5 natürlichen Zahlen.

  • Anfangs wird der Wert der Summe auf 0 initialisiert.
  • Bei jeder Iteration wird der Wert der Summe auf aktualisiert sum+iund der Wert von i um 1 erhöht.
  • Wenn der Wert von i 6 erreicht, gibt der Testausdruck i<=5false zurück und die Schleife wird beendet.

Mal sehen, was bei jeder Iteration im angegebenen Programm passiert.

Anfangs ist i = 1, Summe = 0

Schritte zur Ausführung der While-Schleife
Wiederholung Wert von i i <= 5 Wert der Summe
1 1 wahr 0 + 1 = 1
2 2 wahr 1 + 2 = 3
3 3 wahr 3 + 3 = 6
4 4 wahr 6 + 4 = 10
5 5 wahr 10 + 5 = 15
6 6 falsch Schleife wird beendet

Der endgültige Wert der Summe ist also 15.

C # do… while-Schleife

Das Schlüsselwort do and while wird verwendet, um eine do… while-Schleife zu erstellen. Es ähnelt einer while-Schleife, es gibt jedoch einen großen Unterschied zwischen ihnen.

In der while-Schleife wird die Bedingung überprüft, bevor der Body ausgeführt wird. Es ist genau das Gegenteil in do… while-Schleife, dh die Bedingung wird überprüft, nachdem der Body ausgeführt wurde.

Aus diesem Grund wird der Body of do… while-Schleife unabhängig vom Testausdruck mindestens einmal ausgeführt.

Die Syntax für do… while-Schleife lautet:

 do (// body of do while-Schleife) while (Testausdruck); 

Wie funktioniert die while-Schleife?

  1. Der Body von do… while-Schleife wird zuerst ausgeführt.
  2. Dann test-expressionwird das ausgewertet.
  3. Wenn dies der Fall test-expressionist true, wird der Body der Schleife ausgeführt.
  4. Wenn dies der Fall test-expressionist false, tun Sie … während die Schleife endet.

tun … während Schleife Flussdiagramm

Beispiel 3: do… while-Schleife

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

Wenn wir das Programm ausführen, lautet die Ausgabe:

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (true) (// Körper der while-Schleife) 

Infinite do… while-Schleife

 do (// Körper der while-Schleife) while (true); 

Die Endlosschleife ist nützlich, wenn eine Schleife ausgeführt werden muss, solange unser Programm ausgeführt wird.

Wenn es sich bei Ihrem Programm beispielsweise um eine Animation handelt, müssen Sie diese ständig ausführen, bis sie gestoppt wird. In solchen Fällen ist eine Endlosschleife erforderlich, um die Animation wiederholt auszuführen.

Interessante Beiträge...