C # cilpa (ar piemēriem)

Šajā rakstā mēs uzzināsim par cilpu C # un dažādiem veidiem, kā tos izmantot programmā.

Programmējot, bieži tiek vēlēts izpildīt noteiktu paziņojumu bloku noteiktu skaitu reižu. Iespējamais risinājums būs šo paziņojumu ierakstīšana vajadzīgajā reižu skaitā. Tomēr atkārtojumu skaits var nebūt zināms iepriekš (sastādīšanas laikā) vai varbūt pietiekami liels (teiksim, 10000).

Labākais šādas problēmas risinājums ir cilpa. Cilpas tiek izmantotas programmēšanā, lai atkārtoti izpildītu noteiktu paziņojumu bloku, līdz tiek izpildīts kāds nosacījums.

Šajā rakstā mēs aplūkosim cilpu C #.

C # cilpai

Par atslēgvārdu tiek izmantota, lai izveidotu cilpas C #. Cilpas sintakse ir šāda:

 for (inicializācija; nosacījums; iterators) (// cilpas pamatteksts) 

Kā darbojas cilpa?

  1. C # cilpa ir trīs paziņojumus: initialization, conditionun iterator.
  2. initializationPaziņojums tiek izpildīts vispirms un tikai vienu reizi. Šeit mainīgais parasti tiek deklarēts un inicializēts.
  3. Tad conditiontiek novērtēts. conditionIr Būla izteiksme, ti, tā atgriežas nu truevai false.
  4. Ja conditionnovērtē true:
    1. Izraksti for ciklā ir izpildīti.
    2. Pēc tam iteratortiek izpildīts paziņojums, kas parasti maina inicializētā mainīgā vērtību.
    3. Atkal conditiontiek novērtēts.
    4. Process turpinās, līdz conditiontiek novērtēts false.
  5. Ja conditiontiek novērtēts līdz false, cikls for beidzas.

par cilpu blokshēmu

1. piemērs: C # cilpa

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

Kad mēs palaidīsim programmu, izeja būs:

 C # Loop: Iterācija 1 C # Loop: Iterācija 2 C # Loop: Iterācija 3 C # Loop: Iterācija 4 C # Loop: Iterācija 5

Šajā programmā

  • initialization paziņojums ir int i=1
  • condition paziņojums ir i<=5
  • iterator paziņojums ir i++

Kad programma darbojas,

  • Pirmkārt, mainīgais i tiek deklarēts un inicializēts uz 1.
  • Pēc tam i<=5tiek novērtēts stāvoklis ( ).
  • Tā kā nosacījums atgriežas true, tad programma izpilda for for loop ķermeni. Tas izdrukā norādīto līniju ar 1. atkārtojumu (atkārtojums vienkārši nozīmē atkārtojumu).
  • Tagad i++tiek novērtēts iterators ( ). Tas palielina i vērtību līdz 2.
  • Nosacījums ( i<=5) tiek novērtēts vēlreiz, un beigās i vērtību palielina par 1. Nosacījums tiks novērtēts līdz truepirmajām 5 reizēm.
  • Kad i vērtība būs 6 un nosacījums būs false, tādējādi cilpa tiks pārtraukta.

2. piemērs: cilpai, lai aprēķinātu pirmo n dabisko skaitļu summu

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

Kad mēs palaidīsim programmu, izeja būs:

 Pirmo 5 dabisko skaitļu summa = 15

Šeit summas un n vērtību inicializē attiecīgi uz 0 un 5. Iterācijas mainīgo i inicializē uz 1 un palielina katrā atkārtojumā.

For ciklā summas vērtību palielina ar i, ti sum = sum + i. For cilpa turpinās, līdz i ir mazāks vai vienāds ar n (lietotāja ievadītais).

Apskatīsim, kas notiek dotajā programmā katrā atkārtojumā.

Sākumā i = 1, summa = 0 un n = 3

Cilpas izpildes soļiem
Atkārtojums I vērtība i <= 5 Summas vērtība
1 1 taisnība 0 + 1 = 1
2 2 taisnība 1 + 2 = 3
3 3 taisnība 3 + 3 = 6
4 4 taisnība 6 + 4 = 10
5 5 taisnība 10 + 5 = 15
6 6 nepatiesa Loop beidzas

Tātad galīgā summas vērtība būs 15, kad n = 5.

Vairāki izteicieni for for loop iekšpusē

Mēs varam izmantot arī vairākas izteiksmes for for loop iekšpusē. Tas nozīmē, ka for ciklā mums var būt vairāki inicializācijas un / vai iteratora paziņojumi. Apskatīsim piemēru zemāk.

3. piemērs: ciklam ar vairākām inicializācijām un iteratora izteiksmēm

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

Kad mēs palaidīsim programmu, izeja būs:

 i = 0 un j = 0 i = 1 un j = 1 i = 2 un j = 2

Šajā programmā mēs esam deklarējuši un inicializējuši divus mainīgos: i un j inicializācijas paziņojumā.

Turklāt mums ir divi izteicieni iteratora daļā. Tas nozīmē, ka gan i, gan j katrā atkārtojumā tiek palielināti ar 1.

Cilpai bez inicializācijas un iteratora paziņojumiem

Inicializācija, nosacījums un iteratora paziņojums for ciklā nav obligāti. Tas nozīmē, ka mēs varam palaist for for loop arī bez šiem paziņojumiem.

Šādos gadījumos cilpa darbojas kā cilpa. Apskatīsim piemēru zemāk.

4. piemērs: cilpai bez inicializācijas un iteratora paziņojuma

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

Kad mēs palaidīsim programmu, izeja būs:

 C # Loop: Iterācija 1 C # Loop: Iterācija 2 C # Loop: Iterācija 3 C # Loop: Iterācija 4 C # Loop: Iterācija 5

Šajā piemērā mēs neesam izmantojuši inicializācijas un iteratora paziņojumu.

Mainīgais i tiek inicializēts virs for loop, un tā vērtība tiek palielināta cilpas iekšpusē. Šī programma ir tāda pati kā 1. piemērā.

Līdzīgi nosacījums ir arī izvēles paziņojums. Tomēr, ja mēs neizmantosim testa izteiksmi, for cikls nepārbaudīs nevienu nosacījumu un darbosies uz visiem laikiem (bezgalīga cilpa).

Bezgalīgs cilpai

Ja nosacījums for ciklam vienmēr ir patiess, cilpa darbosies uz visiem laikiem. To sauc par bezgalīgu cilpu.

5. piemērs: Bezgalīgs cilpai

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

Šeit i tiek inicializēts uz 1 un nosacījums ir i>0. Katrā atkārtojumā mēs palielinām i vērtību par 1, tāpēc nosacījums nekad nebūs false. Tas liks cilpu izpildīt bezgalīgi.

Mēs varam arī izveidot bezgalīgu cilpu, aizstājot nosacījumu ar tukšu. Piemēram,

 par (;;) (// cilpas pamatteksts) 

vai

 for (inicializācija;; iterator) (// cilpas pamatteksts) 

Interesanti raksti...