C # while a do ... while (S příklady)

V tomto článku se dozvíme o smyčce while and do … while v C #, jak je používat a rozdílech mezi nimi.

V programování je často žádoucí provést určitý blok příkazů pro zadaný počet opakování. Možným řešením bude zadat tyto příkazy požadovaný počet opakování. Počet opakování však nemusí být znám předem (během doby kompilace) nebo možná dostatečně velký (řekněme 10 000).

Nejlepším řešením tohoto problému je smyčka. Smyčky se používají v programování k opakovanému provádění určitého bloku příkazů, dokud není splněna nějaká podmínka.

V tomto článku se naučíme používat smyčky v C #.

C # while smyčka

Zatímco klíčové slovo se používá k vytvoření while v jazyce C #. Syntaxe while smyčky je:

 while (test-výraz) (// tělo while) 

Jak funguje smyčka while?

  1. C # while smyčka se skládá z a test-expression.
  2. V případě, že test-expressionje vyhodnocena true,
    1. jsou prováděny příkazy uvnitř smyčky while.
    2. po provedení test-expressionse znovu vyhodnotí.
  3. Pokud test-expressionse vyhodnotí na false, smyčka while se ukončí.

while loop Flowchart

Příklad 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++; ) ) ) ) 

Když spustíme program, výstup bude:

 C # Pro smyčku: Iterace 1 C # Pro smyčku: Iterace 2 C # Pro smyčku: Iterace 3 C # Pro smyčku: Iterace 4 C # Pro smyčku: Iterace 5

Zpočátku je hodnota i 1.

Když program dosáhne příkazu while,

  • testovací výraz i <=5je vyhodnocen. Protože i je 1 a 1 <= 5je true, provede tělo smyčky while. Tady je řádek vytištěn na obrazovce s iterací 1 a hodnota i je zvýšena o 1 na 2.
  • Nyní se testovací výraz ( i <=5) vyhodnotí znovu. I tentokrát se výraz vrátí true(2 <= 5), takže se řádek vytiskne na obrazovku a hodnota i se nyní zvýší na 3…
  • To jde a smyčka while se spustí, dokud se i nestane 6. V tomto okamžiku bude testovací výraz vyhodnocen na falsea tudíž smyčka skončí.

Příklad 2: while smyčka pro výpočet součtu prvních 5 přirozených čísel

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

Když spustíme program, výstup bude:

 Součet = 15

Tento program počítá součet prvních 5 přirozených čísel.

  • Zpočátku je hodnota součtu inicializována na 0.
  • Při každé iteraci je hodnota součtu aktualizována na sum+ia hodnota i je zvýšena o 1.
  • Když hodnota i dosáhne 6, testovací výraz i<=5vrátí hodnotu false a smyčka se ukončí.

Podívejme se, co se stane v daném programu při každé iteraci.

Zpočátku i = 1, součet = 0

Zatímco kroky provedení smyčky
Opakování Hodnota i i <= 5 Hodnota součtu
1 1 skutečný 0 + 1 = 1
2 2 skutečný 1 + 2 = 3
3 3 skutečný 3 + 3 = 6
4 4 skutečný 6 + 4 = 10
5 5 skutečný 10 + 5 = 15
6 6 Nepravdivé Smyčka končí

Konečná hodnota součtu tedy bude 15.

C # dělat … zatímco smyčka

Dělat i když klíčové slovo se používá k vytvoření dělat … while. Je to podobné jako while smyčka, ale je mezi nimi zásadní rozdíl.

In while loop, the condition is checked before the body is executed. It is the exact opposite in do… while loop, i.e. condition is checked after the body is executed.

This is why, the body of do… while loop will execute at least once irrespective to the test-expression.

The syntax for do… while loop is:

 do ( // body of do while loop ) while (test-expression); 

How do… while loop works?

  1. The body of do… while loop is executed at first.
  2. Then the test-expression is evaluated.
  3. If the test-expression is true, the body of loop is executed.
  4. When the test-expression is false, do… while loop terminates.

do… while loop Flowchart

Example 3: do… while loop

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

When we run the program, the output will be:

 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) (// tělo smyčky while) 

Nekonečné smyčky… while

 do (// tělo smyčky while) while (true); 

Nekonečná smyčka je užitečná, když potřebujeme, aby smyčka fungovala tak dlouho, dokud běží náš program.

Například pokud je váš program animací, budete jej muset neustále spouštět, dokud se nezastaví. V takových případech je nutná nekonečná smyčka, aby se animace spouštěla ​​opakovaně.

Zajímavé články...