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

I denne artikkelen vil vi lære om mens og om … mens du går i C #, hvordan du bruker dem og forskjellen mellom dem.

I programmeringen er det ofte ønsket å utføre visse utsagnblokker for et spesifisert antall ganger. En mulig løsning vil være å skrive disse utsagnene for det nødvendige antall ganger. Imidlertid er antall repetisjoner kanskje ikke kjent på forhånd (i løpet av kompileringstiden) eller kanskje stort nok (si 10000).

Den beste løsningen på et slikt problem er loop. Sløyfer brukes i programmering for å utføre gjentatte ganger en viss setningsblokk til noen vilkår er oppfylt.

I denne artikkelen lærer vi å bruke mens løkker i C #.

C # mens sløyfe

Den mens nøkkelordet brukes til å lage mens sløyfe i C #. Syntaksen for mens loop er:

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

Hvordan mens loop fungerer?

  1. C # mens sløyfe består av en test-expression.
  2. Hvis den test-expressionblir evaluert til true,
    1. uttalelser i mens loop utføres.
    2. etter utførelse blir den test-expressionevaluert på nytt.
  3. Hvis den test-expressionblir evaluert til false, avslutter mens sløyfen.

mens sløyfe Flytskjema

Eksempel 1: while 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 kjører programmet, vil utdataene være:

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

Opprinnelig er verdien på i 1.

Når programmet når while loop-uttalelsen,

  • testuttrykket i <=5evalueres. Siden jeg er 1 og 1 <= 5er true, utfører den kroppen til mens sløyfen. Her blir linjen skrevet ut på skjermen med Iterasjon 1, og verdien på i økes med 1 til å bli 2.
  • Nå blir testuttrykket ( i <=5) evaluert på nytt. Også denne gangen returnerer uttrykket true(2 <= 5), så linjen skrives ut på skjermen og verdien på i økes nå til 3 …
  • Dette går og mens løkken kjøres til jeg blir 6. På dette tidspunktet vil testuttrykket evaluere til falseog dermed sløyfen avsluttes.

Eksempel 2: mens loop for å beregne summen av de første 5 naturlige tallene

 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 kjører programmet, vil utdataene være:

 Sum = 15

Dette programmet beregner summen av de første 5 naturlige tallene.

  • Opprinnelig initialiseres verdien av summen til 0.
  • På hver iterasjon blir verdien av summen oppdatert til sum+iog verdien av i økes med 1.
  • Når verdien på i når 6, vil testuttrykket i<=5returnere falsk og sløyfen avsluttes.

La oss se hva som skjer i det gitte programmet på hver iterasjon.

Opprinnelig var i = 1, sum = 0

Mens løkkekjøringstrinn
Iterasjon Verdien av i jeg <= 5 Verdien av summen
1 1 ekte 0 + 1 = 1
2 2 ekte 1 + 2 = 3
3 3 ekte 3 + 3 = 6
4 4 ekte 6 + 4 = 10
5 5 ekte 10 + 5 = 15
6 6 falsk Loop slutter

Så den endelige verdien av summen blir 15.

C # gjør … mens løkke

Den gjør og mens nøkkelordet brukes til å lage en gjør … mens loop. Det ligner på en stundsløyfe, men det er stor forskjell mellom dem.

I mens sløyfe blir tilstanden sjekket før kroppen utføres. Det er stikk motsatt i do … mens loop, dvs. tilstanden blir sjekket etter at kroppen er henrettet.

Dette er grunnen til at kroppen av gjør … mens sløyfen vil utføres minst en gang uavhengig av testuttrykket.

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 utføres først.
  2. Deretter test-expressionblir det evaluert.
  3. Hvis det test-expressioner true, blir kroppen av sløyfen utført.
  4. Når det test-expressioner false, gjør … mens sløyfen avsluttes.

gjør … mens du sløyfer flytskjema

Eksempel 3: gjør… mens løkke

 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 kjører programmet, vil utdataene 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 gjør … mens løkke

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

Den uendelige sløyfen er nyttig når vi trenger en løkke for å kjøre så lenge programmet vårt kjører.

For eksempel, hvis programmet ditt er en animasjon, må du kjøre det hele tiden til det stoppes. I slike tilfeller er en uendelig sløyfe nødvendig for å fortsette å kjøre animasjonen gjentatte ganger.

Interessante artikler...