C # silmuse jaoks (koos näidetega)

Selles artiklis õpime lisateavet silmuse jaoks C # -s ja erinevatest viisidest nende kasutamiseks programmis.

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 vaatleme silmus C #.

C # silmuse jaoks

Jaoks märksõna on kasutatud luua silmus C #. Silmuse süntaks on:

 for (initsialiseerimine; tingimus; iteraator) (// silmu keha) 

Kuidas silmus töötab?

  1. C # jaoks silmus on kolm avaldust: initialization, conditionja iterator.
  2. initializationAvaldus täidetakse esimesel ja ainult üks kord. Siin deklareeritakse ja initsialiseeritakse tavaliselt muutuja.
  3. Seejärel conditionhinnatakse. See conditionon boolean avaldis, st see tagastab kas truevõi false.
  4. Kui conditionhinnatakse true:
    1. Aasal olevad laused täidetakse.
    2. Seejärel iteratorkäivitatakse lause, mis tavaliselt muudab initsialiseeritud muutuja väärtust.
    3. Jällegi conditionhinnatakse.
    4. Protsess jätkub seni, kuni conditionhinnatakse false.
  5. Kui väärtuseks conditionhinnatakse false, lõpetatakse for-silmus.

Loop vooskeemi jaoks

Näide 1: Loopi jaoks C #

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", 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

Selles programmis

  • initialization avaldus on int i=1
  • condition avaldus on i<=5
  • iterator avaldus on i++

Kui programm töötab,

  • Esiteks deklareeritakse muutuja i ja lähtestatakse väärtuseks 1.
  • Seejärel hinnatakse seisundit ( i<=5).
  • Kuna tingimus naaseb true, käivitab programm for loopi keha. See trükib etteantud rea Iteratsiooniga 1 (Iteratsioon tähendab lihtsalt kordamist).
  • Nüüd hinnatakse iteraatorit ( i++). See suurendab i väärtust 2-le.
  • Tingimust ( i<=5) hinnatakse uuesti ja lõpus suurendatakse i väärtust 1-ga. Tingimust hinnatakse trueesimese viie korra jooksul.
  • Kui i väärtus on 6 ja tingimus on false, siis lõpeb silmus.

Näide 2: silmuse jaoks esimese n loodusliku arvu summa arvutamiseks

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) ) 

Programmi käivitamisel on väljund:

 Esimese 5 loodusarvu summa = 15

Siin lähtestatakse summa ja n väärtus vastavalt 0 ja 5. Iteratsioonimuutuja i lähtestatakse väärtusele 1 ja suurendatakse igal iteratsioonil.

For-silmuse sees suurendatakse summa väärtust i st sum = sum + i. For silmus jätkub, kuni i on väiksem või võrdne n (kasutaja sisend).

Vaatame, mis juhtub antud programmis igas iteratsioonis.

Esialgu i = 1, summa = 0 ja n = 3

Silmade täitmise sammude jaoks
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, kui n = 5.

Mitu avaldist silmuse jaoks for for loopi jaoks

Samuti võime a loopi sees kasutada mitmeid väljendeid. See tähendab, et for loopi sees võib olla rohkem kui üks initsialiseerimise ja / või iteraatori lause. Vaatame allpool toodud näidet.

Näide 3: mitmekordse initsialiseerimise ja iteraatori avaldistega silmuse jaoks

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) ) 

Programmi käivitamisel on väljund:

 i = 0 ja j = 0, i = 1 ja j = 1, i = 2 ja j = 2

Selles programmis oleme deklareerinud ja initsialiseerinud initsialiseerimislause kaks muutujat: i ja j.

Samuti on meil iteraatori osas kaks väljendit. See tähendab, et nii i kui ka j suurendatakse igal kordusel 1-ga.

Initsialiseerimise ja iteraatori lauseteta tsükli jaoks

Initsialiseerimine, tingimus ja iteraatori lause on for silmus valikulised. See tähendab, et me saame käivitada for for loopi ka nende lauseteta.

Sellistel juhtudel toimib silmus silmuse ajal. Vaatame allpool toodud näidet.

Näide 4: tsükli jaoks ilma initsialiseerimise ja iteraatori avalduseta

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; 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

Selles näites pole me kasutanud initsialiseerimist ja iteraatori lauset.

Muutuja i initsialiseeritakse for-silmusest kõrgemale ja selle väärtust suurendatakse silmuse kehas. See programm on sama, mis näites 1.

Samamoodi on tingimus ka valikuline lause. Kuid kui me ei kasuta testväljendit, ei testi for loop ühtegi tingimust ja töötab igavesti (lõpmatu silmus).

Lõputu silmuse jaoks

Kui tingimus for silmus on alati tõene, kestab silmus igavesti. Seda nimetatakse silmuse jaoks lõpmatuks.

Näide 5: lõpmatu silmuseks

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) ) 

Siin initsialiseeritakse i väärtuseks 1 ja tingimus on i>0. Igal iteratsioonil suurendame i väärtust 1 võrra, nii et tingimus ei saa kunagi olema false. See põhjustab tsükli lõpmatu täitmise.

Saame luua ka lõpmatu tsükli, asendades tingimuse toorikuga. Näiteks,

 for (;;) (// silmusekeha) 

või

 for (initsialiseerimine;; iterator) (// silmusekeha) 

Huvitavad Artiklid...