C# while und do...while-Schleife
C# while und do...while Schleife
In diesem Artikel lernen wir die while- und do...while-Schleife in C#, ihre Verwendung und den Unterschied zwischen ihnen kennen.
Beim Programmieren ist es oft erwünscht, bestimmte Anweisungsblöcke eine bestimmte Anzahl von Malen auszuführen. Eine mögliche Lösung besteht darin, diese Anweisungen so oft wie erforderlich einzugeben. Die Anzahl der Wiederholungen ist jedoch möglicherweise nicht im Voraus bekannt (während der Kompilierzeit) oder groß genug (z. B. 10000).
Die beste Lösung für ein solches Problem ist Schleife. Schleifen werden in der Programmierung verwendet, um einen bestimmten Block von Anweisungen wiederholt auszuführen, bis eine Bedingung erfüllt ist.
In diesem Artikel lernen wir, While-Schleifen in C# zu verwenden.
C#-While-Schleife
Das während Das Schlüsselwort wird zum Erstellen einer While-Schleife in C# verwendet. Die Syntax für While-Schleife ist:
while (test-expression) { // body of while }
Wie funktioniert die While-Schleife?
- C#-While-Schleife besteht aus einem
test-expression
. - Wenn die
test-expression
wird zutrue
ausgewertet ,- Anweisungen innerhalb der While-Schleife werden ausgeführt.
- nach der Ausführung der
test-expression
wird erneut ausgewertet.
- Falls der
test-expression
wird zufalse
ausgewertet , wird die While-Schleife beendet.
Flowchart der While-Schleife
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# For Loop: Iteration 1 C# For Loop: Iteration 2 C# For Loop: Iteration 3 C# For Loop: Iteration 4 C# For Loop: Iteration 5
Anfänglich der Wert von i ist 1.
Wenn das Programm die While-Schleife-Anweisung erreicht,
- der Testausdruck
i <=5
ausgewertet wird. Da ich ist 1 und1 <= 5
isttrue
, führt es den Körper der While-Schleife aus. Hier wird die Zeile mit Iteration 1 und dem Wert von i auf dem Bildschirm ausgegeben wird um 1 auf 2 erhöht. - Jetzt wird der Testausdruck (
i <=5
) wird erneut ausgewertet. Auch diesmal gibt der Ausdrucktrue
zurück (2 <=5), also wird die Zeile auf dem Bildschirm ausgegeben und der Wert von i wird nun auf 3 erhöht.. - Das geht und die While-Schleife wird ausgeführt, bis i wird zu 6. An diesem Punkt wird der Testausdruck zu
false
ausgewertet und damit 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:
Sum = 15
Dieses Programm berechnet die Summe der ersten 5 natürlichen Zahlen.
- Anfangs der Wert von sum wird auf 0 initialisiert.
- Bei jeder Iteration der Wert von sum wird auf
sum+i
aktualisiert und den Wert von i wird um 1 erhöht. - Wenn der Wert von i erreicht 6, der Testausdruck
i<=5
gibt false zurück und die Schleife wird beendet.
Sehen wir uns an, was in dem gegebenen Programm bei jeder Iteration passiert.
Anfänglich ich =1, Summe =0
Iteration | 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 |
Also der Endwert von sum wird 15 sein.
C# do...while-Schleife
Die tun und während Das Schlüsselwort 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 geprüft, bevor der Rumpf ausgeführt wird. In der do...while-Schleife ist es genau umgekehrt, d.h. die Bedingung wird geprüft, nachdem der Rumpf ausgeführt wurde.
Aus diesem Grund wird der Hauptteil der do...while-Schleife unabhängig vom Testausdruck mindestens einmal ausgeführt.
Die Syntax für die do...while-Schleife lautet:
do { // body of do while loop } while (test-expression);
Wie funktioniert...while-Schleife?
- Der Rumpf der do...while-Schleife wird zuerst ausgeführt.
- Dann die
test-expression
ausgewertet. - Wenn der
test-expression
isttrue
, wird der Rumpf der Schleife ausgeführt. - Wenn der
test-expression
istfalse
, do...while loop beendet.
do...while-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
Wie wir sehen können, druckt das obige Programm das Einmaleins einer Zahl (5).
- Zunächst der Wert von i ist 1. Das Programm tritt dann in den Rumpf der do..while-Schleife ein, ohne irgendeine Bedingung zu prüfen (im Gegensatz zur while-Schleife).
- Im Körper, Produkt berechnet und auf dem Bildschirm ausgedruckt. Der Wert von i wird dann auf 2 erhöht.
- Nach der Ausführung des Schleifenkörpers wird der Testausdruck
i <= 10
ausgewertet wird. Insgesamt wird die do...while-Schleife 10 Mal durchlaufen. - Schließlich, wenn der Wert von i 11 ist, ergibt der Testausdruck
false
und beendet damit die Schleife.
Unendliche while- und do...while-Schleife
Wenn der Testausdruck in der while- und do...while-Schleife niemals zu false
ausgewertet wird , wird der Schleifenkörper für immer ausgeführt. Solche Schleifen werden als Endlosschleife bezeichnet.
Zum Beispiel:
Endlose While-Schleife
while (true) { // body of while loop }
Endlose Do...while-Schleife
do { // body of while loop } while (true);
Die Endlosschleife ist nützlich, wenn wir eine Schleife brauchen, die so lange läuft, wie unser Programm läuft.
Wenn Ihr Programm beispielsweise eine Animation ist, müssen Sie es ständig ausführen, bis es gestoppt wird. In solchen Fällen ist eine Endlosschleife erforderlich, um die Animation wiederholt ablaufen zu lassen.
C Sprache
- C#-Schlüsselwörter und Bezeichner
- C#-Klasse und -Objekt
- Abstrakte C#-Klasse und -Methode
- C# Teilklasse und Teilmethode
- Versiegelte C#-Klasse und -Methode
- Unterschied zwischen while und do-while:An Beispielen erklärt
- Palindrom-Zahlenprogramm in Java mit While- und For-Schleife
- C - Konstanten und Literale
- C# - Konstanten und Literale
- SINUMERIK 840D-Programmierung WHILE-Schleifenverwendung