C # for loop (met voorbeelden)

In dit artikel zullen we leren over for-loop in C # en verschillende manieren om ze in een programma te gebruiken.

Bij het programmeren is het vaak gewenst om een ​​bepaald blok instructies een gespecificeerd aantal keren uit te voeren. Een mogelijke oplossing is om die instructies het vereiste aantal keren in te typen. Het is echter mogelijk dat het aantal herhalingen niet van tevoren bekend is (tijdens het compileren) of misschien groot genoeg is (bijvoorbeeld 10.000).

De beste oplossing voor een dergelijk probleem is lus. Lussen worden gebruikt bij het programmeren om herhaaldelijk een bepaald blok met instructies uit te voeren totdat aan een bepaalde voorwaarde is voldaan.

In dit artikel kijken we naar for-loop in C #.

C # voor lus

Het trefwoord for wordt gebruikt om een ​​for-lus in C # te maken. De syntaxis voor for-lus is:

 for (initialisatie; voorwaarde; iterator) (// body van for-lus) 

Hoe werkt for loop?

  1. C # for-lus heeft drie verklaringen: initialization, conditionen iterator.
  2. De initializationinstructie wordt eerst en slechts één keer uitgevoerd. Hier wordt de variabele meestal gedeclareerd en geïnitialiseerd.
  3. Vervolgens conditionwordt geëvalueerd. Het conditionis een booleaanse uitdrukking, dwz het retourneert trueof false.
  4. Als het conditionwordt geëvalueerd naar true:
    1. De instructies in de for-lus worden uitgevoerd.
    2. Vervolgens wordt de iteratorinstructie uitgevoerd die meestal de waarde van de geïnitialiseerde variabele verandert.
    3. Opnieuw conditionwordt geëvalueerd.
    4. Het proces gaat door totdat het conditionwordt geëvalueerd op false.
  5. Als de conditionwordt geëvalueerd naar false, wordt de for-lus beëindigd.

voor Loop Flowchart

Voorbeeld 1: C # voor lus

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

Wanneer we het programma uitvoeren, is de uitvoer:

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

In dit programma

  • initialization verklaring is int i=1
  • condition verklaring is i<=5
  • iterator verklaring is i++

Als het programma draait,

  • Eerst wordt de variabele i gedeclareerd en geïnitialiseerd op 1.
  • Vervolgens wordt de voorwaarde ( i<=5) geëvalueerd.
  • Aangezien de voorwaarde terugkeert true, voert het programma vervolgens de body van de for-lus uit. Het drukt de gegeven regel af met Iteratie 1 (Iteratie betekent gewoon herhaling).
  • Nu wordt de iterator ( i++) geëvalueerd. Dit verhoogt de waarde van i tot 2.
  • De conditie ( i<=5) wordt opnieuw geëvalueerd en aan het einde wordt de waarde van i verhoogd met 1. De conditie zal truede eerste 5 keer evalueren tot .
  • Wanneer de waarde van i 6 zal zijn en de conditie zal zijn false, dan zal de lus eindigen.

Voorbeeld 2: for-lus om de som van de eerste n natuurlijke getallen te berekenen

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

Wanneer we het programma uitvoeren, is de uitvoer:

 Som van eerste 5 natuurlijke getallen = 15

Hier wordt de waarde van som en n geïnitialiseerd op respectievelijk 0 en 5. De iteratievariabele i wordt geïnitialiseerd op 1 en bij elke iteratie verhoogd.

Binnen de for-lus wordt de waarde van de som verhoogd met i ie sum = sum + i. De for-lus gaat door totdat i kleiner is dan of gelijk is aan n (invoer van de gebruiker).

Laten we eens kijken wat er bij elke iteratie in het gegeven programma gebeurt.

Aanvankelijk i = 1, som = 0 en n = 3

Voor loop-uitvoeringsstappen
Iteratie Waarde van i ik <= 5 Waarde van de som
1 1 waar 0 + 1 = 1
2 2 waar 1 + 2 = 3
3 3 waar 3 + 3 = 6
4 4 waar 6 + 4 = 10
5 5 waar 10 + 5 = 15
6 6 false Loop eindigt

De uiteindelijke waarde van som is dus 15 als n = 5.

Meerdere uitdrukkingen binnen een for-lus

We kunnen ook meerdere uitdrukkingen gebruiken binnen een for-lus. Het betekent dat we meer dan één initialisatie- en / of iteratorinstructies kunnen hebben binnen een for-lus. Laten we het onderstaande voorbeeld bekijken.

Voorbeeld 3: for loop met meerdere initialisatie- en iterator-expressies

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

Wanneer we het programma uitvoeren, is de uitvoer:

 i = 0 en j = 0 i = 1 en j = 1 i = 2 en j = 2

In dit programma hebben we twee variabelen gedeclareerd en geïnitialiseerd: i en j in de initialisatie-instructie.

We hebben ook twee uitdrukkingen in het iteratorgedeelte. Dat betekent dat zowel i als j bij elke iteratie met 1 worden verhoogd.

For-lus zonder initialisatie en iterator-instructies

The initialization, condition and the iterator statement are optional in a for loop. It means we can run a for loop without these statements as well.

In such cases, for loop acts as a while loop. Let's see the example below.

Example 4: for loop without initialization and iterator statement

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

When we run the program, the output will be:

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

In this example, we haven't used the initialization and iterator statement.

The variable i is initialized above the for loop and its value is incremented inside the body of loop. This program is same as the one in Example 1.

Evenzo is de voorwaarde ook een optionele verklaring. Als we echter geen testexpressie gebruiken, zal de for-lus geen enkele voorwaarde testen en zal deze voor altijd worden uitgevoerd (oneindige lus).

Oneindig voor lus

Als de voorwaarde in een for-lus altijd waar is, zal de for-lus voor altijd worden uitgevoerd. Dit wordt oneindig voor lus genoemd.

Voorbeeld 5: Oneindige lus

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

Hier wordt ik geïnitialiseerd op 1 en de voorwaarde is i>0. Bij elke iteratie verhogen we de waarde van i met 1, dus de conditie zal dat nooit zijn false. Dit zorgt ervoor dat de lus oneindig wordt uitgevoerd.

We kunnen ook een oneindige lus maken door de voorwaarde te vervangen door een spatie. Bijvoorbeeld,

 for (;;) (// body van for-lus) 

of

 for (initialisatie;; iterator) (// body van for-lus) 

Interessante artikelen...