C # while and do ... while loop (med eksempler)

I denne artikel vil vi lære om mens og gør … mens du løber i C #, hvordan du bruger dem og forskellen mellem dem.

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 lærer vi at bruge mens sløjfer i C #.

C # mens sløjfe

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

 while (test-expression) (// body of while) 

Hvordan mens loop fungerer?

  1. C # mens sløjfe består af en test-expression.
  2. Hvis den test-expressionvurderes til true,
    1. udsagn inden i mens løkken udføres.
    2. efter udførelse test-expressionevalueres den igen.
  3. Hvis den test-expressionevalueres til false, afsluttes while-sløjfen.

mens loop Flowchart

Eksempel 1: mens Loop

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (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

Oprindeligt er værdien af ​​i 1.

Når programmet når while-loop-erklæringen,

  • testudtrykket i <=5evalueres. Da jeg er 1 og 1 <= 5er true, udfører den kroppen af ​​while-sløjfen. Her udskrives linjen på skærmen med Iteration 1, og værdien på i øges med 1 til at blive 2.
  • Nu i <=5evalueres testudtrykket ( ) igen. Også denne gang vender udtrykket tilbage true(2 <= 5), så linjen udskrives på skærmen, og værdien for i øges nu til 3 …
  • Dette går, og mens løkken udføres, indtil jeg bliver 6. På dette tidspunkt vil testudtrykket evaluere til falseog dermed sløjfen afsluttes.

Eksempel 2: mens loop for at beregne summen af ​​de første 5 naturlige tal

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

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

 Sum = 15

Dette program beregner summen af ​​de første 5 naturlige tal.

  • Oprindeligt initialiseres værdien af ​​summen til 0.
  • For hver iteration opdateres summen til sum+iog værdien af ​​i øges med 1.
  • Når værdien af ​​i når 6, i<=5returnerer testudtrykket falsk, og sløjfen afsluttes.

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

Oprindeligt var i = 1, sum = 0

Mens loop udførelse trin
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 er 15.

C # gør … mens loop

Den gør og mens søgeord bruges til at skabe en gør … while-løkke. Det ligner en while-loop, men der er en stor forskel mellem dem.

I mens løkke kontrolleres tilstanden, før kroppen udføres. Det er nøjagtigt det modsatte i do … while loop, dvs. tilstanden kontrolleres, efter at kroppen er udført.

Dette er grunden til, at kroppen af ​​do… while loop udføres mindst en gang uanset testudtrykket.

Syntaksen for do … while loop er:

 do (// body of do while loop) while (test-expression); 

Hvordan fungerer … mens loop fungerer?

  1. Body of do … mens loop udføres først.
  2. Derefter test-expressionevalueres den.
  3. Hvis den test-expressioner true, udføres sløjfekroppen.
  4. Når det test-expressioner false, skal du gøre … mens sløjfen afsluttes.

gør … mens loop flowchart

Eksempel 3: gør … mens du løkker

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

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

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (true) (// body of while loop) 

Uendelig gør … mens sløjfe

 do (// body of while loop) while (true); 

Den uendelige løkke er nyttig, når vi har brug for en løkke til at køre, så længe vores program kører.

For eksempel, hvis dit program er en animation, skal du hele tiden køre det, indtil det stoppes. I sådanne tilfælde er en uendelig løkke nødvendig for at fortsætte med at køre animationen gentagne gange.

Interessante artikler...