C # pro smyčku (s příklady)

V tomto článku se dozvíme o smyčce for v C # a různých způsobech jejich použití v programu.

V programování je často žádoucí provést určitý blok příkazů pro zadaný počet opakování. Možným řešením bude zadat tyto příkazy požadovaný počet opakování. Počet opakování však nemusí být znám předem (během doby kompilace) nebo možná dostatečně velký (řekněme 10 000).

Nejlepším řešením tohoto problému je smyčka. Smyčky se používají v programování k opakovanému provádění určitého bloku příkazů, dokud není splněna nějaká podmínka.

V tomto článku se podíváme na smyčku v C #.

C # pro smyčku

Pro klíčové slovo se používá k vytvoření pro smyčka v jazyce C #. Syntaxe smyčky for je:

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

Jak funguje smyčka?

  1. C # pro smyčce má tři příkazy: initialization, conditiona iterator.
  2. Příkaz initializationje proveden nejprve a pouze jednou. Zde je proměnná obvykle deklarována a inicializována.
  3. Poté conditionse vyhodnotí. The conditionje logický výraz, tj. Vrací buď truenebo false.
  4. Pokud conditionse vyhodnotí true:
    1. Příkazy uvnitř smyčky for jsou prováděny.
    2. Poté se provede iteratorpříkaz, který obvykle změní hodnotu inicializované proměnné.
    3. Opět conditionse vyhodnotí.
    4. Proces pokračuje, dokud conditionnení vyhodnocen na false.
  5. Pokud conditionse vyhodnotí na false, smyčka for se ukončí.

pro vývojový diagram smyčky

Příklad 1: C # pro smyč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); ) ) ) ) 

Když spustíme program, výstup bude:

 C # Pro smyčku: Iterace 1 C # Pro smyčku: Iterace 2 C # Pro smyčku: Iterace 3 C # Pro smyčku: Iterace 4 C # Pro smyčku: Iterace 5

V tomto programu

  • initialization prohlášení je int i=1
  • condition prohlášení je i<=5
  • iterator prohlášení je i++

Po spuštění programu

  • Nejprve je proměnná i deklarována a inicializována na 1.
  • Poté i<=5se vyhodnotí podmínka ( ).
  • Protože se podmínka vrátí true, program poté provede tělo smyčky for. Vytiskne daný řádek s Iterací 1 (Iterace jednoduše znamená opakování).
  • Nyní je iterátor ( i++) vyhodnocen. Tím se zvýší hodnota i na 2.
  • Podmínka ( i<=5) se vyhodnotí znovu a na konci se hodnota i zvýší o 1. Podmínka se vyhodnotí na trueprvních 5krát.
  • Když bude hodnota i 6 a podmínka bude false, smyčka bude ukončena.

Příklad 2: pro smyčku pro výpočet součtu prvních n přirozený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); ) ) ) 

Když spustíme program, výstup bude:

 Součet prvních 5 přirozených čísel = 15

Zde se inicializuje hodnota součtu an na 0, respektive 5. Proměnná iterace i je inicializována na 1 a zvyšuje se při každé iteraci.

Uvnitř smyčky for je hodnota součtu zvýšena o i tj sum = sum + i. Smyčka for pokračuje, dokud není i menší nebo rovno n (vstup uživatele).

Podívejme se, co se stane v daném programu při každé iteraci.

Zpočátku i = 1, součet = 0 an = 3

Pro kroky provedení smyčky
Opakování Hodnota i i <= 5 Hodnota součtu
1 1 skutečný 0 + 1 = 1
2 2 skutečný 1 + 2 = 3
3 3 skutečný 3 + 3 = 6
4 4 skutečný 6 + 4 = 10
5 5 skutečný 10 + 5 = 15
6 6 Nepravdivé Smyčka končí

Konečná hodnota součtu bude tedy 15, když n = 5.

Více výrazů uvnitř smyčky for

Můžeme také použít více výrazů uvnitř smyčky for. To znamená, že ve smyčce for můžeme mít více než jeden inicializační a / nebo iterační příkaz. Podívejme se na příklad níže.

Příklad 3: pro smyčku s více inicializačními a iteračními výrazy

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

Když spustíme program, výstup bude:

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

V tomto programu jsme deklarovali a inicializovali dvě proměnné: i a j v inicializačním příkazu.

V části iterátoru máme také dva výrazy. To znamená, že i i j jsou při každé iteraci zvýšeny o 1.

Pro smyčku bez inicializace a příkazy iterátoru

Inicializace, podmínka a příkaz iterátoru jsou ve smyčce for volitelné. To znamená, že můžeme spustit smyčku for i bez těchto příkazů.

V takových případech funguje smyčka for jako while while. Podívejme se na příklad níže.

Příklad 4: pro smyčku bez inicializace a příkaz iterátoru

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

Když spustíme program, výstup bude:

 C # Pro smyčku: Iterace 1 C # Pro smyčku: Iterace 2 C # Pro smyčku: Iterace 3 C # Pro smyčku: Iterace 4 C # Pro smyčku: Iterace 5

V tomto příkladu jsme nepoužili příkaz inicializace a iterátoru.

Proměnná i se inicializuje nad smyčkou for a její hodnota se zvyšuje uvnitř těla smyčky. Tento program je stejný jako v příkladu 1.

Podobně je podmínkou také volitelný příkaz. Pokud však nepoužíváme testovací výraz, smyčka for nebude testovat žádné podmínky a bude fungovat navždy (nekonečná smyčka).

Nekonečné pro smyčku

Pokud je podmínka ve smyčce for vždy pravdivá, smyčka for bude fungovat navždy. Tomu se říká nekonečno pro smyčku.

Příklad 5: Nekonečno pro smyč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); ) ) ) ) 

Zde je i inicializováno na 1 a podmínka je i>0. Při každé iteraci zvyšujeme hodnotu i o 1, takže podmínka nikdy nebude false. To způsobí, že se smyčka provede nekonečně.

Můžeme také vytvořit nekonečnou smyčku nahrazením podmínky mezerou. Například,

 for (;;) (// tělo smyčky for) 

nebo

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

Zajímavé články...