C # for loop (z przykładami)

W tym artykule nauczymy się pętli for w języku C # i różnych sposobów ich wykorzystania w programie.

W programowaniu często pożądane jest wykonanie określonego bloku instrukcji określoną liczbę razy. Możliwym rozwiązaniem będzie wpisanie tych instrukcji wymaganą liczbę razy. Jednak liczba powtórzeń może nie być znana z góry (w czasie kompilacji) lub może być wystarczająco duża (powiedzmy 10000).

Najlepszym rozwiązaniem tego problemu jest pętla. Pętle są używane w programowaniu do wielokrotnego wykonywania określonego bloku instrukcji, dopóki nie zostanie spełniony jakiś warunek.

W tym artykule przyjrzymy się pętli for w języku C #.

C # for loop

Słowo kluczowe for służy do tworzenia pętli for w języku C #. Składnia pętli for to:

 for (inicjalizacja; warunek; iterator) (// treść pętli for) 

Jak działa pętla for?

  1. C # pętli ma trzy oświadczenia: initialization, conditioni iterator.
  2. initializationInstrukcja wykonywana jest na pierwszy i jedyny raz. Tutaj zmienna jest zwykle deklarowana i inicjalizowana.
  3. Następnie conditionjest oceniany. Jest conditionto wyrażenie boolowskie, tzn. Zwraca albo truealbo false.
  4. Jeśli conditionjest oceniany jako true:
    1. Wykonywane są instrukcje wewnątrz pętli for.
    2. Następnie iteratorwykonywana jest instrukcja, która zwykle zmienia wartość zainicjalizowanej zmiennej.
    3. Ponownie conditionjest oceniany.
    4. Proces jest kontynuowany do momentu conditionoceny false.
  5. Jeśli wartość conditionjest szacowana na false, pętla for kończy działanie.

dla schematu blokowego pętli

Przykład 1: C # dla pętli

 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); ) ) ) ) 

Kiedy uruchomimy program, wynik będzie:

 C # For Loop: Iteracja 1 C # For Loop: Iteracja 2 C # For Loop: Iteracja 3 C # For Loop: Iteracja 4 C # For Loop: Iteracja 5

W tym programie

  • initialization oświadczenie jest int i=1
  • condition oświadczenie jest i<=5
  • iterator oświadczenie jest i++

Po uruchomieniu programu

  • Najpierw deklarowana jest zmienna i i inicjowana na 1.
  • Następnie i<=5sprawdzany jest warunek ( ).
  • Ponieważ warunek powraca true, program wykonuje treść pętli for. Wyświetla podany wiersz z Iteracją 1 (Iteracja oznacza po prostu powtórzenie).
  • Teraz i++oceniany jest iterator ( ). Zwiększa to wartość i do 2.
  • Warunek ( i<=5) jest oceniany ponownie, a na końcu wartość i jest zwiększana o 1. Warunek zostanie oceniony truena pierwsze 5 razy.
  • Kiedy wartość i będzie równa 6, a warunek będzie taki false, pętla się zakończy.

Przykład 2: pętla for do obliczenia sumy pierwszych n liczb naturalnych

 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); ) ) ) 

Kiedy uruchomimy program, wynik będzie:

 Suma pierwszych 5 liczb naturalnych = 15

Tutaj wartość sum i n jest inicjalizowana odpowiednio na 0 i 5. Zmienna iteracji i jest inicjowana na 1 i zwiększana przy każdej iteracji.

Wewnątrz pętli for wartość sum jest zwiększana o i tj sum = sum + i. Pętla for trwa do momentu, gdy i jest mniejsze lub równe n (dane wejściowe użytkownika).

Zobaczmy, co dzieje się w danym programie w każdej iteracji.

Początkowo i = 1, suma = 0 i n = 3

Dla kroków wykonywania pętli
Iteracja Wartość i i <= 5 Wartość sumy
1 1 prawdziwe 0 + 1 = 1
2 2 prawdziwe 1 + 2 = 3
3 3 prawdziwe 3 + 3 = 6
4 4 prawdziwe 6 + 4 = 10
5 5 prawdziwe 10 + 5 = 15
6 6 fałszywy Pętla się kończy

Tak więc ostateczna wartość sumy wyniesie 15, gdy n = 5.

Wiele wyrażeń w pętli for

Możemy również użyć wielu wyrażeń wewnątrz pętli for. Oznacza to, że w pętli for możemy mieć więcej niż jedną instrukcję inicjalizacji i / lub iteratora. Zobaczmy poniższy przykład.

Przykład 3: pętla for z wieloma wyrażeniami inicjalizacyjnymi i iteratorowymi

 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); ) ) ) ) 

Kiedy uruchomimy program, wynik będzie:

 i = 0 oraz j = 0 i = 1 oraz j = 1 i = 2 i j = 2

W tym programie zadeklarowaliśmy i zainicjowaliśmy dwie zmienne: i i jw instrukcji inicjalizacji.

W części iteracyjnej mamy również dwa wyrażenia. Oznacza to, że zarówno i, jak i j są zwiększane o 1 w każdej iteracji.

Pętla For bez instrukcji inicjalizacji i iteratorów

The initialization, condition and the iterator statement are optional in a for loop. It means we can run a for loop without these statements as well.

In such cases, for loop acts as a while loop. Let's see the example below.

Example 4: for loop without initialization and iterator statement

 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++; ) ) ) ) 

When we run the program, the output will be:

 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

In this example, we haven't used the initialization and iterator statement.

The variable i is initialized above the for loop and its value is incremented inside the body of loop. This program is same as the one in Example 1.

Podobnie warunek jest również opcjonalną instrukcją. Jeśli jednak nie użyjemy wyrażenia testowego, pętla for nie przetestuje żadnego warunku i będzie działać wiecznie (nieskończona pętla).

Nieskończona pętla for

Jeśli warunek w pętli for jest zawsze prawdziwy, pętla for będzie działać wiecznie. Nazywa się to nieskończoną pętlą for.

Przykład 5: nieskończona pętla for

 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); ) ) ) ) 

W tym przypadku i jest inicjowane na 1, a warunek to i>0. W każdej iteracji zwiększamy wartość i o 1, więc warunek nigdy nie będzie false. Spowoduje to nieskończone wykonywanie pętli.

Możemy również stworzyć nieskończoną pętlę, zastępując warunek spacją. Na przykład,

 for (;;) (// treść pętli for) 

lub

 for (inicjalizacja;; iterator) (// treść pętli for) 

Interesujące artykuły...