C # while and do ... while loop (z przykładami)

W tym artykule dowiemy się o pętli while i do… while w języku C #, jak ich używać i jakie są różnice między nimi.

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 nauczymy się używać pętli while w języku C #.

C # pętla while

Natomiast parametr jest używany do tworzenia pętli while w języku C #. Składnia pętli while to:

 while (test-expression) (// body of while) 

Jak działa pętla while?

  1. C # pętla while składa się z pliku test-expression.
  2. Jeśli test-expressionjest oceniany jako true,
    1. wykonywane są instrukcje wewnątrz pętli while.
    2. po wykonaniu test-expressionjest oceniany ponownie.
  3. Jeśli wartość test-expressionjest szacowana na false, pętla while kończy działanie.

pętla while Schemat blokowy

Przykład 1: while Loop

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

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

Początkowo wartość i wynosi 1.

Gdy program osiągnie instrukcję pętli while,

  • wartość wyrażenia testowego i <=5. Ponieważ i jest 1 i 1 <= 5jest true, wykonuje treść pętli while. Tutaj linia jest drukowana na ekranie z Iteracją 1, a wartość i jest zwiększana o 1 do 2.
  • Teraz wyrażenie testowe ( i <=5) jest ponownie oceniane. Tym razem również wyrażenie zwraca true(2 <= 5), więc wiersz jest drukowany na ekranie, a wartość i jest teraz zwiększana do 3…
  • To się dzieje i pętla while jest wykonywana, aż i stanie się 6. W tym momencie wyrażenie testowe zostanie oszacowane do falsei stąd pętla się zakończy.

Przykład 2: pętla while do obliczenia sumy pierwszych 5 liczb naturalnych

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

Kiedy uruchomimy program, wynik będzie:

 Suma = 15

Ten program oblicza sumę pierwszych 5 liczb naturalnych.

  • Początkowo wartość sum jest inicjalizowana na 0.
  • W każdej iteracji wartość sum jest aktualizowana do, sum+ia wartość i jest zwiększana o 1.
  • Gdy wartość i osiągnie 6, wyrażenie testowe i<=5zwróci wartość false i pętla zostanie zakończona.

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

Początkowo i = 1, suma = 0

Podczas wykonywania kroków 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.

C # zrób… pętla while

Zrobić i gdy parametr jest używany do tworzenia pętli do … while. Jest to podobne do pętli while, jednak istnieje między nimi duża różnica.

W pętli while warunek jest sprawdzany przed wykonaniem treści. W pętli do… while jest dokładnie odwrotnie, tzn. Stan jest sprawdzany po wykonaniu treści.

Dlatego też treść pętli do… while zostanie wykonana przynajmniej raz, niezależnie od wyrażenia testowego.

Składnia pętli do… while to:

 do (// treść pętli do while) while (wyrażenie testowe); 

Jak działa… pętla while?

  1. Ciało pętli do… while jest wykonywane jako pierwsze.
  2. Następnie test-expressionjest oceniany.
  3. Jeśli test-expressionjest true, wykonywana jest treść pętli.
  4. Kiedy test-expressionjest false, wykonaj… while pętla się kończy.

wykonaj… pętla while Schemat blokowy

Przykład 3: wykonaj… while pętla

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

Kiedy uruchomimy program, wynik będzie:

 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) (// treść pętli while) 

Nieskończona pętla do… while

 do (// treść pętli while) while (true); 

Nieskończona pętla jest przydatna, gdy potrzebujemy pętli do działania tak długo, jak działa nasz program.

Na przykład, jeśli twój program jest animacją, będziesz musiał go ciągle uruchamiać, dopóki nie zostanie zatrzymany. W takich przypadkach nieskończona pętla jest niezbędna do wielokrotnego uruchamiania animacji.

Interesujące artykuły...