C # už kilpą (su pavyzdžiais)

Šiame straipsnyje sužinosime apie ciklą C # ir įvairius būdus, kaip juos naudoti programoje.

Programuojant dažnai pageidaujama tam tikrą skaičių kartų įvykdyti tam tikrą sakinių bloką. Galimas sprendimas bus tuos teiginius įvesti reikiamą skaičių kartų. Tačiau pakartojimų skaičius gali būti nežinomas iš anksto (kompiliavimo metu), o gal ir pakankamai didelis (tarkime, 10000).

Geriausias tokios problemos sprendimas yra kilpa. Kilpos naudojamos programuojant pakartotinai vykdyti tam tikrą teiginių bloką, kol įvykdoma kokia nors sąlyga.

Šiame straipsnyje mes pažvelgsime į C # kilpą.

C # už kilpą

žodį yra naudojama sukurti už kilpos C #. Sintaksė už už kilpos yra:

 for (inicializavimas; condition; iterator) (// kilpos kūnas) 

Kaip veikia kilpa?

  1. C # for ciklas turi tris teiginius: initialization, conditionir iterator.
  2. initializationPareiškimas yra įvykdytas ne pirmas, ir tik vieną kartą. Čia paprastai deklaruojamas ir inicializuojamas kintamasis.
  3. Tada conditionįvertinama. Tai conditionyra loginė išraiška, ty ji grąžina truearba false.
  4. Jei conditionįvertinama true:
    1. Už ciklo viduje vykdomi teiginiai.
    2. Tada iteratorvykdomas sakinys, kuris paprastai keičia inicijuoto kintamojo vertę.
    3. Vėlgi conditionyra vertinamas.
    4. Procesas tęsiasi tol, kol conditionbus įvertinta false.
  5. Jei conditionįvertinama iki false, „for“ ciklas baigiasi.

skirtas „Loop Flowchart“

1 pavyzdys: C # už kilpą

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

Kai vykdysime programą, išvestis bus:

 C # Loop: Iteracija 1 C # Loop: Iteration 2 C # Loop: Iteration 3 C # Loop: Iteration 4 C # Loop: Iteration 5

Šioje programoje

  • initialization pareiškimas yra int i=1
  • condition pareiškimas yra i<=5
  • iterator pareiškimas yra i++

Kai programa vykdoma,

  • Pirma, kintamasis i deklaruojamas ir inicializuojamas į 1.
  • Tada įvertinama būklė ( i<=5).
  • Kadangi sąlyga grąžinama true, programa įvykdo for loop kilpą. Jis išspausdina pateiktą eilutę su Iteracija 1 (Iteracija tiesiog reiškia pasikartojimą).
  • Dabar įvertinamas iteratorius ( i++). Tai padidina i reikšmę iki 2.
  • Sąlyga ( i<=5) dar kartą įvertinama, o pabaigoje i reikšmė padidinama 1. truePirmąsias 5 kartus sąlyga bus įvertinta .
  • Kai i reikšmė bus 6, o sąlyga bus false, vadinasi, kilpa nutrūks.

2 pavyzdys: kilpai apskaičiuoti pirmųjų n natūraliųjų skaičių sumą

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

Kai vykdysime programą, išvestis bus:

 Pirmųjų 5 natūralių skaičių suma = 15

Čia sumos ir n reikšmė inicijuojama atitinkamai 0 ir 5. Iteracinis kintamasis i inicializuojamas į 1 ir didinamas kiekvienoje iteracijoje.

Už ciklo, sumos vertė yra padidinta i ty sum = sum + i. „For“ ciklas tęsiasi tol, kol i yra mažesnis arba lygus n (vartotojo įvestis).

Pažiūrėkime, kas vyksta pateiktoje programoje kiekvienoje iteracijoje.

Iš pradžių i = 1, suma = 0 ir n = 3

Dėl kilpos vykdymo veiksmų
Kartojimas I vertė i <= 5 Sumos vertė
1 1 tiesa 0 + 1 = 1
2 2 tiesa 1 + 2 = 3
3 3 tiesa 3 + 3 = 6
4 4 tiesa 6 + 4 = 10
5 5 tiesa 10 + 5 = 15
6 6 melagingas Kilpa baigiasi

Taigi galutinė sumos vertė bus 15, kai n = 5.

Keli posakiai „for for loop“ viduje

Mes taip pat galime naudoti kelias išraiškas „for for loop“ viduje. Tai reiškia, kad „for“ cikle galime turėti daugiau nei vieną inicializavimo ir (arba) iteratoriaus sakinį. Pažiūrėkime toliau pateiktą pavyzdį.

3 pavyzdys: kilpai su keletu inicializavimo ir iteratoriaus išraiškų

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

Kai vykdysime programą, išvestis bus:

 i = 0 ir j = 0 i = 1 ir j = 1 i = 2 ir j = 2

Šioje programoje inicializavimo pareiškime deklaravome ir inicijavome du kintamuosius: i ir j.

Be to, iteratoriaus dalyje turime dvi išraiškas. Tai reiškia, kad tiek i, tiek j kiekvienoje iteracijoje yra didinami po 1.

Kilpai be inicializavimo ir iteratoriaus teiginių

Inicijavimas, sąlyga ir iteratoriaus sakinys yra neprivalomi for ciklui. Tai reiškia, kad mes galime paleisti „for loop“ ir be šių teiginių.

Tokiais atvejais, nes kilpa veikia kaip ciklas. Pažiūrėkime toliau pateiktą pavyzdį.

4 pavyzdys: kilpai be inicializavimo ir iteratoriaus sakinio

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

Kai vykdysime programą, išvestis bus:

 C # Loop: Iteracija 1 C # Loop: Iteration 2 C # Loop: Iteration 3 C # Loop: Iteration 4 C # Loop: Iteration 5

Šiame pavyzdyje nenaudojome inicializavimo ir iteratoriaus sakinio.

Kintamasis i inicializuojamas virš „for loop“ ir jo vertė yra didinama ciklo kūne. Ši programa yra tokia pati, kaip ir 1 pavyzdyje.

Panašiai sąlyga taip pat yra neprivalomas teiginys. Tačiau jei nenaudosime testo išraiškos, for ciklas neišbandys jokių sąlygų ir veiks amžinai (begalinis ciklas).

Begalinis kilpui

Jei „loop“ sąlyga visada yra teisinga, „loop“ veiks amžinai. Tai vadinama begaline kilpa.

5 pavyzdys: begalinis kilpui

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

Čia i inicializuojama į 1 ir sąlyga yra i>0. Kiekvienoje iteracijoje mes padidiname i reikšmę 1, taigi sąlyga niekada nebus false. Dėl to kilpa bus vykdoma be galo.

Mes taip pat galime sukurti begalinę kilpą, pakeisdami sąlygą tuščia. Pavyzdžiui,

 for (;;) (// kilpos kūnas) 

arba

 for (inicializavimas;; iteratorius) (// kilpos turinys) 

Įdomios straipsniai...