C # while a do ... while (S príkladmi)

V tomto článku sa dozvieme o cykloch while and do … while v C #, o ich použití a rozdieloch medzi nimi.

V programovaní je často žiaduce vykonať určitý blok príkazov po zadaný počet opakovaní. Možným riešením bude zadať tieto výpisy požadovaný počet opakovaní. Počet opakovaní však nemusí byť známy vopred (počas kompilácie) alebo nemusí byť dostatočne veľký (napríklad 10 000).

Najlepším riešením tohto problému je slučka. Smyčky sa používajú v programovaní na opakované vykonávanie určitého bloku príkazov, kým nie je splnená určitá podmienka.

V tomto článku sa naučíme používať cykly while v C #.

C # while

Kým kľúčové slovo sa používa na vytvorenie while v jazyku C #. Syntax cyklu while je:

 while (test-výraz) (// telo while) 

Ako funguje slučka while?

  1. C # while slučka sa skladá z a test-expression.
  2. V prípade, že test-expressionje vyhodnotená true,
    1. sú vykonávané príkazy vo vnútri cyklu while.
    2. po vykonaní test-expressionsa znova vyhodnotí.
  3. Ak test-expressionsa vyhodnotí ako false, slučka while sa ukončí.

while loop Flowchart

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

Keď spustíme program, výstup bude:

 C # pre slučku: Iterácia 1 C # pre slučku: Iterácia 2 C # pre slučku: Iterácia 3 C # pre slučku: Iterácia 4 C # pre slučku: Iterácia 5

Spočiatku je hodnota i 1.

Keď program dosiahne príkaz while,

  • i <=5hodnotí sa testovací výraz . Pretože i je 1 a 1 <= 5je true, vykoná telo cyklu while. Tu je riadok vytlačený na obrazovke s iteráciou 1 a hodnota i sa zvýši o 1 na hodnotu 2.
  • Teraz sa testovací výraz ( i <=5) vyhodnotí znova. Aj tentokrát sa vráti výraz true(2 <= 5), takže sa na obrazovku vytlačí riadok a hodnota i sa teraz zvýši na 3…
  • Toto ide a slučka while sa vykoná, kým i nedosiahne 6. V tomto okamihu bude testovací výraz vyhodnotený do falsea teda sa slučka ukončí.

Príklad 2: while, aby vypočítal súčet prvých 5 prirodzený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); ) ) ) 

Keď spustíme program, výstup bude:

 Súčet = 15

Tento program počíta súčet prvých 5 prirodzených čísel.

  • Spočiatku sa hodnota súčtu inicializuje na 0.
  • Pri každej iterácii sa hodnota súčtu aktualizuje na sum+ia hodnota i sa zvyšuje o 1.
  • Keď hodnota i dosiahne 6, testovací výraz i<=5vráti hodnotu false a slučka sa ukončí.

Pozrime sa, čo sa stane v danom programe pri každej iterácii.

Spočiatku i = 1, súčet = 0

Zatiaľ čo kroky vykonania slučky
Iterácia Hodnota i i <= 5 Hodnota súčtu
1 1 pravda 0 + 1 = 1
2 2 pravda 1 + 2 = 3
3 3 pravda 3 + 3 = 6
4 4 pravda 6 + 4 = 10
5 5 pravda 10 + 5 = 15
6 6 nepravdivé Slučka sa končí

Konečná hodnota sumy bude teda 15.

C # robiť … zatiaľ čo slučka

Robiť aj keď kľúčové slovo sa používa na vytvorenie robiť … while. Je to podobné ako cykla while, je však medzi nimi zásadný rozdiel.

V cykle while sa pred vykonaním tela skontroluje stav. Je to presne naopak v cykle do … while, tj. Stav sa kontroluje po vykonaní tela.

To je dôvod, prečo sa telo cyklu do … while vykoná aspoň raz bez ohľadu na testovací výraz.

Syntax cyklu do … while je:

 do (// telo cyklu do while) while (test-vyraz); 

Ako … zatiaľ čo slučka funguje?

  1. Telo slučky do … zatiaľ čo najskôr sa vykoná slučka.
  2. Potom test-expressionsa vyhodnotí.
  3. Ak test-expressionje true, telo slučky sa vykoná.
  4. Keď test-expressionje false, urobte … zatiaľ čo slučka končí.

robiť … zatiaľ čo vývojový diagram slučky

Príklad 3: urobte… while

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

Keď spustíme program, výstup bude:

 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) (// telo cyklu while) 

Nekonečné robiť … zatiaľ čo slučka

 do (// telo cyklu while) while (true); 

Nekonečná slučka je užitočná, keď potrebujeme, aby slučka fungovala tak dlho, ako beží náš program.

Napríklad ak je váš program animácia, budete ho musieť neustále spúšťať, kým sa nezastaví. V takýchto prípadoch je nevyhnutná nekonečná slučka, aby sa animácia mohla spúšťať opakovane.

Zaujímavé články...