In diesem Artikel erfahren Sie mehr über die for-Schleife in C # und die verschiedenen Verwendungsmöglichkeiten in einem Programm.
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 betrachten wir die Schleife in C #.
C # für Schleife
Das Schlüsselwort for wird verwendet, um eine for-Schleife in C # zu erstellen. Die Syntax für die for-Schleife lautet:
for (Initialisierung; Bedingung; Iterator) (// Körper der for-Schleife)
Wie funktioniert die Schleife?
- C # for-Schleife hat drei Anweisungen :
initialization
,condition
unditerator
. - Die
initialization
Anweisung wird zuerst und nur einmal ausgeführt. Hier wird die Variable normalerweise deklariert und initialisiert. - Dann wird das
condition
ausgewertet. Dascondition
ist ein boolescher Ausdruck, dh es gibt entwedertrue
oder zurückfalse
. - Wenn das
condition
ausgewertet wird zutrue
:- Die Anweisungen in der for-Schleife werden ausgeführt.
- Dann wird die
iterator
Anweisung ausgeführt, die normalerweise den Wert der initialisierten Variablen ändert. - Wieder
condition
wird das ausgewertet. - Der Prozess wird fortgesetzt, bis das
condition
ausgewertet wirdfalse
.
- Wenn das
condition
ausgewertet wirdfalse
, endet die for-Schleife.
für Schleifenflussdiagramm
Beispiel 1: C # für Schleife
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", 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
In diesem Programm
initialization
Aussage istint i=1
condition
Aussage isti<=5
iterator
Aussage isti++
Wenn das Programm ausgeführt wird,
- Zunächst wird die Variable i deklariert und auf 1 initialisiert.
- Dann wird die Bedingung (
i<=5
) ausgewertet. - Da die Bedingung zurückkehrt
true
, führt das Programm den Hauptteil der for-Schleife aus. Es gibt die angegebene Zeile mit Iteration 1 aus (Iteration bedeutet einfach Wiederholung). - Nun wird der Iterator (
i++
) ausgewertet. Dies erhöht den Wert von i auf 2. - Die Bedingung (
i<=5
) wird erneut ausgewertet und am Ende wird der Wert von i um 1 erhöht. Die Bedingung wirdtrue
für die ersten 5 Male ausgewertet . - Wenn der Wert von i 6 ist und die Bedingung ist, wird
false
die Schleife beendet.
Beispiel 2: for-Schleife zur Berechnung der Summe der ersten n natürlichen Zahlen
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) )
Wenn wir das Programm ausführen, lautet die Ausgabe:
Summe der ersten 5 natürlichen Zahlen = 15
Hier werden der Wert von sum und n auf 0 bzw. 5 initialisiert. Die Iterationsvariable i wird auf 1 initialisiert und bei jeder Iteration inkrementiert.
Innerhalb der for-Schleife wird der Wert der Summe um i erhöht, dh sum = sum + i
. Die for-Schleife wird fortgesetzt, bis i kleiner oder gleich n ist (Benutzereingabe).
Mal sehen, was bei jeder Iteration im angegebenen Programm passiert.
Anfangs ist i = 1, Summe = 0 und n = 3
Für SchleifenausführungsschritteWiederholung | 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, wenn n = 5 ist.
Mehrere Ausdrücke innerhalb einer for-Schleife
Wir können auch mehrere Ausdrücke innerhalb einer for-Schleife verwenden. Dies bedeutet, dass wir mehr als eine Initialisierungs- und / oder Iteratoranweisung in einer for-Schleife haben können. Sehen wir uns das folgende Beispiel an.
Beispiel 3: for-Schleife mit mehreren Initialisierungs- und Iteratorausdrücken
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) )
Wenn wir das Programm ausführen, lautet die Ausgabe:
i = 0 und j = 0 i = 1 und j = 1 i = 2 und j = 2
In diesem Programm haben wir zwei Variablen deklariert und initialisiert: i und j in der Initialisierungsanweisung.
Außerdem haben wir zwei Ausdrücke im Iteratorteil. Das bedeutet, dass sowohl i als auch j bei jeder Iteration um 1 erhöht werden.
For-Schleife ohne Initialisierung und Iteratoranweisungen
Die Initialisierung, Bedingung und die Iterator-Anweisung sind in einer for-Schleife optional. Dies bedeutet, dass wir auch ohne diese Anweisungen eine for-Schleife ausführen können.
In solchen Fällen fungiert die for-Schleife als while-Schleife. Sehen wir uns das folgende Beispiel an.
Beispiel 4: for-Schleife ohne Initialisierung und Iterator-Anweisung
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; 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
In diesem Beispiel haben wir die Initialisierungs- und Iteratoranweisung nicht verwendet.
Die Variable i wird über der for-Schleife initialisiert und ihr Wert wird innerhalb des Schleifenkörpers erhöht. Dieses Programm ist das gleiche wie in Beispiel 1.
In ähnlicher Weise ist die Bedingung auch eine optionale Anweisung. Wenn wir jedoch keinen Testausdruck verwenden, testet die for-Schleife keine Bedingung und wird für immer ausgeführt (Endlosschleife).
Endlos für Schleife
Wenn die Bedingung in einer for-Schleife immer erfüllt ist, wird die for-Schleife für immer ausgeführt. Dies wird als Endlosschleife bezeichnet.
Beispiel 5: Endlosschleife
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) )
Hier wird i auf 1 initialisiert und die Bedingung ist i>0
. Bei jeder Iteration erhöhen wir den Wert von i um 1, sodass die Bedingung niemals erfüllt wird false
. Dadurch wird die Schleife unendlich ausgeführt.
Wir können auch eine Endlosschleife erstellen, indem wir die Bedingung durch ein Leerzeichen ersetzen. Beispielsweise,
for (;;) (// body of for loop)
oder
for (Initialisierung ;; Iterator) (// Hauptteil der for-Schleife)