C # for loop (med eksempler)

I denne artikel lærer vi om for loop i C # og forskellige måder at bruge dem i et program.

Ved programmering er det ofte ønsket at udføre bestemte udsagnsspærre et bestemt antal gange. En mulig løsning vil være at skrive disse udsagn for det krævede antal gange. Antallet af gentagelser er muligvis ikke kendt på forhånd (under kompileringstid) eller måske stort nok (f.eks. 10000).

Den bedste løsning på et sådant problem er loop. Sløjfer bruges til programmering til gentagne gange at udføre en bestemt sæt udsagn, indtil en betingelse er opfyldt.

I denne artikel ser vi på loop i C #.

C # for løkke

Den for søgeord bruges til at oprette for-løkke i C #. Syntaksen for for loop er:

 til (initialisering; betingelse; iterator) (// body of for loop) 

Hvordan fungerer loop?

  1. C # for-løkke har tre udsagn: initialization, conditionog iterator.
  2. Den initializationsætningen udføres ved første og eneste gang. Her erklæres og initialiseres variablen normalt.
  3. Derefter conditionevalueres den. Det conditioner et boolsk udtryk, dvs. det returnerer enten trueeller false.
  4. Hvis den conditionvurderes til true:
    1. Sætningerne inde i for-sløjfen udføres.
    2. Derefter iteratorudføres udsagnet, som normalt ændrer værdien af ​​den initialiserede variabel.
    3. Igen conditionevalueres.
    4. Processen fortsætter, indtil den conditionevalueres til false.
  5. Hvis den conditionvurderes til false, slutter for-sløjfen.

til Loop Flowchart

Eksempel 1: C # for loop

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

Når vi kører programmet, vil output være:

 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

I dette program

  • initialization erklæring er int i=1
  • condition erklæring er i<=5
  • iterator erklæring er i++

Når programmet kører,

  • For det første erklæres variablen i og initialiseres til 1.
  • Derefter i<=5vurderes tilstanden ( ).
  • Da tilstanden vender tilbage true, udfører programmet derefter kroppen af ​​for-sløjfen. Den udskriver den givne linje med Iteration 1 (Iteration betyder simpelthen gentagelse).
  • Nu i++vurderes iteratoren ( ). Dette øger værdien af ​​i til 2.
  • Betingelsen ( i<=5) evalueres igen, og i slutningen forøges værdien af ​​i med 1. Betingelsen evalueres til truefor de første 5 gange.
  • Når værdien af ​​i vil være 6, og betingelsen vil være false, vil sløjfen derfor ende.

Eksempel 2: for loop til beregning af summen af ​​de første n naturlige tal

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

Når vi kører programmet, vil output være:

 Summen af ​​de første 5 naturlige tal = 15

Her initialiseres værdien af ​​sum og n til henholdsvis 0 og 5. Iterationsvariablen i initialiseres til 1 og forøges på hver iteration.

Inde i for-løkken øges værdien af ​​summen med i ie sum = sum + i. For-sløjfen fortsætter, indtil i er mindre end eller lig med n (brugerens input).

Lad os se, hvad der sker i det givne program på hver iteration.

Oprindeligt var i = 1, sum = 0 og n = 3

For løbekørselstrin
Iteration Værdien af ​​i jeg <= 5 Værdien af ​​summen
1 1 sand 0 + 1 = 1
2 2 sand 1 + 2 = 3
3 3 sand 3 + 3 = 6
4 4 sand 6 + 4 = 10
5 5 sand 10 + 5 = 15
6 6 falsk Loop slutter

Så den endelige værdi af summen vil være 15, når n = 5.

Flere udtryk inde i en for loop

Vi kan også bruge flere udtryk i en for loop. Det betyder, at vi kan have mere end én initialiserings- og / eller iteratorudsagn inden for en for-loop. Lad os se eksemplet nedenfor.

Eksempel 3: til loop med flere initialiserings- og iteratorudtryk

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

Når vi kører programmet, vil output være:

 i = 0 og j = 0 i = 1 og j = 1 i = 2 og j = 2

I dette program har vi deklareret og initialiseret to variabler: i og j i initialiseringserklæringen.

Vi har også to udtryk i iterator-delen. Det betyder, at både i og j øges med 1 på hver iteration.

Til loop uden initialisering og iterator-udsagn

Initialiseringen, tilstanden og iteratorerklæringen er valgfri i en for-loop. Det betyder, at vi også kan køre en for loop uden disse udsagn.

I sådanne tilfælde fungerer for loop som en while-loop. Lad os se eksemplet nedenfor.

Eksempel 4: til loop uden initialisering og iterator-sætning

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

Når vi kører programmet, vil output være:

 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

I dette eksempel har vi ikke brugt initialiserings- og iterator-erklæringen.

Variablen i initialiseres over for-sløjfen, og dens værdi forøges inde i sløjfekroppen. Dette program er det samme som i eksempel 1.

Tilsvarende er betingelsen også en valgfri erklæring. Men hvis vi ikke bruger testudtryk, tester for-sløjfen ikke nogen betingelse og kører for evigt (uendelig løkke).

Uendelig for løkke

Hvis betingelsen i en for-løkke altid er sand, vil løkken køre for evigt. Dette kaldes uendelig for loop.

Eksempel 5: Infinite for loop

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

Her initialiseres jeg til 1, og betingelsen er i>0. For hver iteration øger vi værdien af ​​i med 1, så tilstanden bliver aldrig false. Dette vil få løkken til at udføres uendeligt.

Vi kan også oprette en uendelig løkke ved at erstatte betingelsen med et tomt. For eksempel,

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

eller

 til (initialisering;; iterator) (// body of for loop) 

Interessante artikler...