C # pre slučku (s príkladmi)

V tomto článku sa dozvieme o cykle for v C # a o rôznych spôsoboch ich použitia v programe.

V programovaní je často žiaduce vykonať určitý blok príkazov po zadaný počet opakovaní. Možným riešením bude zadať tieto výpisy požadovaný počet opakovaní. Počet opakovaní však nemusí byť známy vopred (počas kompilácie) alebo nemusí byť dostatočne veľký (napríklad 10 000).

Najlepším riešením tohto problému je slučka. Smyčky sa používajú v programovaní na opakované vykonávanie určitého bloku príkazov, kým nie je splnená určitá podmienka.

V tomto článku sa pozrieme na slučku v C #.

C # pre slučku

Pre kľúčové slovo sa používa na vytvorenie pre slučka v jazyku C #. Syntax pre cyklus for je:

 for (initialization; condition; iterator) (// body of for loop) 

Ako funguje slučka?

  1. C # pre sláčiky má tri príkazy: initialization, conditiona iterator.
  2. initializationVyhlásenie je vykonaný v prvom a iba raz. Tu sa obvykle premenná deklaruje a inicializuje.
  3. Potom conditionsa vyhodnotí. The conditionje boolovský výraz, tj vracia buď truealebo false.
  4. Ak conditionsa hodnotí true:
    1. Vykonajú sa príkazy vo vnútri cyklu for.
    2. Potom iteratorsa vykoná príkaz, ktorý zvyčajne zmení hodnotu inicializovanej premennej.
    3. Opäť conditionsa hodnotí.
    4. Proces pokračuje, kým conditionsa vyhodnotí false.
  5. Ak conditionsa vyhodnotí ako false, slučka for sa ukončí.

pre vývojový diagram slučky

Príklad 1: C # pre slučku

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

Keď spustíme program, výstup bude:

 C # pre slučku: Iterácia 1 C # pre slučku: Iterácia 2 C # pre slučku: Iterácia 3 C # pre slučku: Iterácia 4 C # pre slučku: Iterácia 5

V tomto programe

  • initialization vyhlásenie je int i=1
  • condition vyhlásenie je i<=5
  • iterator vyhlásenie je i++

Po spustení programu

  • Najskôr sa deklaruje premenná i a inicializuje sa na 1.
  • Potom i<=5sa vyhodnotí podmienka ( ).
  • Pretože sa podmienka vráti true, program potom vykoná telo cyklu for. Vytlačí daný riadok s iteráciou 1 (iterácia jednoducho znamená opakovanie).
  • Teraz i++sa vyhodnotí iterátor ( ). To zvyšuje hodnotu i na 2.
  • Podmienka ( i<=5) sa vyhodnotí znova a na konci sa hodnota i zvýši o 1. Podmienka sa vyhodnotí na trueprvých 5-krát.
  • Keď bude hodnota i 6 a podmienka bude false, slučka sa ukončí.

Príklad 2: pre slučku na výpočet súčtu prvých n prirodzených čísel

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

Keď spustíme program, výstup bude:

 Súčet prvých 5 prirodzených čísel = 15

Tu sa hodnota súčtu a n inicializuje na 0, respektíve 5. Iteračná premenná i je inicializovaná na 1 a zvyšuje sa pri každej iterácii.

Vo vnútri cyklu for je hodnota súčtu zvýšená o i, tj sum = sum + i. Smyčka for pokračuje, kým i je menšie alebo rovné n (vstup používateľa).

Pozrime sa, čo sa stane v danom programe pri každej iterácii.

Spočiatku i = 1, súčet = 0 an = 3

Pre kroky vykonania slučky
Iterácia Hodnota i i <= 5 Hodnota súčtu
1 1 pravda 0 + 1 = 1
2 2 pravda 1 + 2 = 3
3 3 pravda 3 + 3 = 6
4 4 pravda 6 + 4 = 10
5 5 pravda 10 + 5 = 15
6 6 nepravdivé Slučka sa končí

Takže konečná hodnota súčtu bude 15, keď n = 5.

Viaceré výrazy vo vnútri cyklu for

Môžeme tiež použiť viac výrazov vo vnútri cyklu for. To znamená, že v rámci cyklu for môžeme mať viac ako jeden inicializačný a / alebo iteračný príkaz. Pozrime sa na príklad nižšie.

Príklad 3: pre slučku s viacnásobnou inicializáciou a výrazmi iterátora

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

Keď spustíme program, výstup bude:

 i = 0 a j = 0 i = 1 a j = 1 i = 2 a j = 2

V tomto programe sme deklarovali a inicializovali dve premenné: i a j v inicializačnom príkaze.

V časti iterátora máme tiež dva výrazy. To znamená, že i aj j sa pri každej iterácii zvyšujú o 1.

Pre cyklus bez inicializácie a príkazov iterátora

Inicializácia, podmienka a príkaz iterátora sú voliteľné v cykle for. To znamená, že môžeme spustiť cyklus for aj bez týchto príkazov.

V takýchto prípadoch funguje slučka for ako slučka while. Pozrime sa na príklad nižšie.

Príklad 4: pre slučku bez inicializácie a príkazu iterátora

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

Keď spustíme program, výstup bude:

 C # pre slučku: Iterácia 1 C # pre slučku: Iterácia 2 C # pre slučku: Iterácia 3 C # pre slučku: Iterácia 4 C # pre slučku: Iterácia 5

V tomto príklade sme nepoužili príkaz inicializácie a iterátora.

Premenná i sa inicializuje nad slučkou for a jej hodnota sa zvyšuje vo vnútri tela slučky. Tento program je rovnaký ako v príklade 1.

Podobne je podmienkou aj voliteľné vyhlásenie. Pokiaľ však nepoužívame testovací výraz, cyklus for nebude testovať žiadne podmienky a bude fungovať večne (nekonečná slučka).

Nekonečné pre slučku

Ak je podmienka v cykle for vždy pravdivá, cyklus for bude fungovať navždy. Toto sa nazýva nekonečné pre slučku.

Príklad 5: Nekonečné pre slučku

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

Tu je i inicializované na 1 a podmienka je i>0. Pri každej iterácii zvyšujeme hodnotu i o 1, takže podmienka nikdy nebude false. To spôsobí, že sa slučka bude vykonávať nekonečne dlho.

Nekonečnú slučku môžeme vytvoriť aj tak, že podmienku nahradíme medzerou. Napríklad,

 for (;;) (// telo cyklu for) 

alebo

 for (initialization;; iterator) (// body of for loop) 

Zaujímavé články...