C # while and do ... while loop (koos näidetega)

Selles artiklis õpime tundma, kuidas ja millal teha … samas kui silmus on C #, kuidas neid kasutada ja nende vahelist erinevust.

Programmeerimisel soovitakse sageli käivitada teatud lauseplokk kindlaksmääratud arv kordi. Võimalik lahendus on nende lausete sisestamine vajalik arv kordi. Kuid korduste arv ei pruugi olla ette teada (kompileerimise ajal) või võib-olla piisavalt suur (ütleme 10000).

Parim lahendus sellisele probleemile on loop. Loope kasutatakse programmeerimisel teatud lauseploki korduvaks täitmiseks, kuni mõni tingimus on täidetud.

Selles artiklis õpime C # -s kasutama silmuseid.

C # samas silmus

Samas märksõna on kasutatud luua samas loop C #. Loopi süntaks on:

 while (test-avaldis) (// while-keha) 

Kuidas silmus töötab?

  1. C # samas kui silmus koosneb a-st test-expression.
  2. Kui test-expressionhinnatakse, et true,
    1. käske while-tsükli sees täidetakse.
    2. pärast täitmist test-expressionhinnatakse uuesti.
  3. Kui väärtuseks test-expressionhinnatakse false, lõpeb while-silmus.

samas loop vooskeem

Näide 1: samal ajal kui aas

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

Programmi käivitamisel on väljund:

 C # Loop: Iteratsioon 1 C # Loop: Iteratsioon 2 C # Loop: Iteratsioon 3 C # Loop: Iteratsioon 4 C # Loop: Iteratsioon 5

Esialgu on i väärtus 1.

Kui programm jõuab while-silmuse lauseni,

  • hinnatakse testi väljendust i <=5. Kuna i on 1 ja 1 <= 5on true, käivitab ta while-silmuse keha. Siin trükitakse joon ekraanile Iteratsiooniga 1 ja i väärtust suurendatakse 1 võrra, et saada 2.
  • Nüüd hinnatakse testi väljendit ( i <=5) uuesti. Ka seekord naaseb avaldis true(2 <= 5), nii et joon prinditakse ekraanile ja i väärtust suurendatakse nüüd 3-ni …
  • Nii läheb ja while-tsükkel käivitub seni, kuni i saab väärtuseks 6. Sel hetkel hindab test-avaldis falsetsüklit ja seega lõpeb silmus.

Näide 2: while loop esimese 5 loodusarvu summa arvutamiseks

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

Programmi käivitamisel on väljund:

 Summa = 15

See programm arvutab esimese 5 loodusarvu summa.

  • Esialgu lähtestatakse summa väärtus 0-ni.
  • Igal iteratsioonil värskendatakse summa sum+iväärtuseks ja i väärtust suurendatakse 1-ga.
  • Kui i väärtus jõuab 6-ni, i<=5tagastab testväljend vale ja silmus lõpeb.

Vaatame, mis juhtub antud programmis igas iteratsioonis.

Esialgu i = 1, summa = 0

Samal ajal kui silmuse täitmine toimub
Kordus I väärtus i <= 5 Summa väärtus
1 1 tõsi 0 + 1 = 1
2 2 tõsi 1 + 2 = 3
3 3 tõsi 3 + 3 = 6
4 4 tõsi 6 + 4 = 10
5 5 tõsi 10 + 5 = 15
6 6 vale Silmus lõpeb

Seega on summa lõplik väärtus 15.

C # teha … silmuse ajal

Teha ja samas märksõna on kasutatud luua do … samas loop. See sarnaneb mingi aja silmusega, kuid nende vahel on suur erinevus.

In while loop kontrollitakse enne keha käivitamist seisundit. See on risti vastupidine, kui teha … kui silmus, st seisundit kontrollitakse pärast keha käivitamist.

Sellepärast teostab keha do … samas kui tsükkel teostatakse vähemalt üks kord, olenemata testväljendist.

Rakenduse do … while tsükli süntaks on:

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

Kuidas … kui silmus töötab?

  1. Keha teha … kui silmus käivitatakse alguses.
  2. Siis test-expressionhinnatakse.
  3. Kui see test-expressionon true, käivitatakse silmuse keha.
  4. Kui test-expressionon false, siis tehke …, kuni silmus lõpeb.

tee … samas vooskeemina

Näide 3: tee … loopi ajal

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

Programmi käivitamisel on väljund:

 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 (tõene) (// ajas oleva loopi keha) 

Infinite do … while loop

 do (// keha silmusest) while (tõene); 

Lõpmatu silmus on kasulik, kui vajame tsüklit, kuni see töötab, kuni meie programm töötab.

Näiteks kui teie programm on animatsioon, peate seda pidevalt peatama, kuni see peatatakse. Sellistel juhtudel on animatsiooni korduva käitamise jaoks vajalik lõpmatu silmus.

Huvitavad Artiklid...