C # while in do ... while zanka (z primeri)

V tem članku bomo izvedeli o zanki while in do… while v C #, kako jih uporabljati in kakšna je razlika med njimi.

Pri programiranju je pogosto zaželeno, da določen blok stavkov izvedemo določeno število krat. Možna rešitev bo vnos teh izjav zahtevano število krat. Vendar število ponovitev morda ni znano vnaprej (v času prevajanja) ali morda dovolj veliko (recimo 10000).

Najboljša rešitev za tak problem je zanka. Zanke se uporabljajo pri programiranju za večkratno izvajanje določenega bloka stavkov, dokler ni izpolnjen neki pogoj.

V tem članku se bomo naučili uporabljati zanke while v jeziku C #.

Zanka C # while

Ključna beseda while se uporablja za ustvarjanje zanke while v C #. Sintaksa zanke while je:

 while (test-izraz) (// telo of while) 

Kako deluje zanka?

  1. Zanka C # while je sestavljena iz a test-expression.
  2. Če test-expressionje vrednost ocenjena na true,
    1. stavki znotraj zanke while se izvajajo.
    2. po izvedbi test-expressionse znova oceni.
  3. Če test-expressionje vrednost ovrednotena z false, se zanka while konča.

diagram poteka zanke

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

Ko zaženemo program, bo rezultat:

 C # za zanko: ponovitev 1 C # za zanko: ponovitev 2 C # za zanko: ponovitev 3 C # za zanko: ponovitev 4 C # za zanko: ponovitev 5

Sprva je vrednost i enaka 1.

Ko program doseže stavek while zanke,

  • testni izraz i <=5se ovrednoti. Ker je i enak 1 in 1 <= 5je true, izvrši telo zanke while. Tu se vrstica natisne na zaslon z iteracijo 1, vrednost i pa se poveča za 1, da postane 2.
  • Zdaj se testni izraz ( i <=5) ponovno oceni. Tudi tokrat se izraz vrne true(2 <= 5), zato se vrstica natisne na zaslon in vrednost i se zdaj poveča na 3 …
  • To poteka in zanka while se izvaja, dokler i ne postane 6. Na tej točki bo testni izraz ovrednotil falsein se zanka konča.

Primer 2: zanka while za izračun vsote prvih 5 naravnih števil

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

Ko zaženemo program, bo rezultat:

 Vsota = 15

Ta program izračuna vsoto prvih 5 naravnih števil.

  • Prvotno je vrednost vsote inicializirana na 0.
  • Na vsaki ponovitvi se vrednost vsote posodobi sum+iin vrednost i poveča za 1.
  • Ko vrednost i doseže 6, bo testni izraz i<=5vrnil false in zanka se konča.

Poglejmo, kaj se zgodi v danem programu na vsaki ponovitvi.

Na začetku je i = 1, vsota = 0

Medtem ko koraki izvajanja zanke
Ponavljanje Vrednost i i <= 5 Vrednost vsote
1. 1. prav 0 + 1 = 1
2. 2. prav 1 + 2 = 3
3. 3. prav 3 + 3 = 6
4. 4. prav 6 + 4 = 10
5. 5. prav 10 + 5 = 15
6. 6. napačno Loop se konča

Končna vrednost vsote bo torej 15.

C # do … while zanka

Ključna beseda do in while se uporablja za ustvarjanje zanke do … while. Podobno je zanki while, vendar obstaja velika razlika med njima.

V zanki while se stanje preveri, preden se telo izvede. Ravno obratno je pri zanki do … while, tj. Stanje se preveri po izvedbi telesa.

Zato se bo telo zanke do… while izvedlo vsaj enkrat, ne glede na testni izraz.

Sintaksa zanke do … while je:

 do (// telo zanke do while) while (test-izraz); 

Kako… medtem ko zanka deluje?

  1. Telo do … while zanke se najprej izvede.
  2. Nato test-expressionse ovrednoti.
  3. Če test-expressionje true, se izvede telo zanke.
  4. Ko test-expressionje false, naredite…, medtem ko se zanka konča.

do… while diagram poteka

Primer 3: do… while zanka

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

Ko zaženemo program, bo rezultat:

 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 zanke while) 

Neskončna zanka do… while

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

Neskončna zanka je uporabna, kadar potrebujemo zanko, ki se izvaja, dokler deluje naš program.

Na primer, če je vaš program animacija, ga boste morali nenehno izvajati, dokler se ne ustavi. V takih primerih je za neprekinjeno večkratno izvajanje animacije potrebna neskončna zanka.

Zanimive Članki...