logo

gjør ... mens Loop in C

Loops i C-språket er kontrollflytsetningene som brukes til å gjenta en del av koden til den gitte betingelsen er oppfylt. De gjør-mens-løkke er en av de tre loop-setningene i C, de andre er while loop og for loop. Den brukes hovedsakelig til å krysse matriser, vektorer og andre datastrukturer.

Hva er do...while Loop in C?

De gjør ... mens du er i C er en loop-setning som brukes til å gjenta en del av koden til den gitte betingelsen er oppfylt. Det er en form for en utgangskontrollert eller ettertestet sløyfe hvor testtilstanden kontrolleres etter utførelse av sløyfens kropp. På grunn av dette vil setningene i do...while-løkken alltid bli utført minst én gang uansett hva betingelsen er.



Syntaks for do...while Loop in C

 do { // body of do-while loop } while ( condition );>

Slik bruker du do ... mens Loop in C

Følgende eksempel viser bruken av do...while loop i programmeringsspråket C.

C








// C Program to demonstrate the use of do...while loop> #include> int> main()> {> >// loop variable declaration and initialization> >int> i = 0;> >// do while loop> >do> {> >printf>(>'Geeks '>);> >i++;> >}>while> (i <3);> >return> 0;> }>

>

>

Produksjon

Geeks Geeks Geeks>

Hvordan fungerer do ... mens Loop?

gjør mens loop syntaks

Syntaks Struktur for do while loop

Virkemåten til do...while-løkken er forklart nedenfor:

  1. Når programkontrollen først kommer til do...while loop, hoveddelen av løkken utføres først og deretter kontrolleres testbetingelsen/-uttrykket , i motsetning til andre sløyfer der testtilstanden kontrolleres først. På grunn av denne egenskapen kalles do...while-løkken også utgangskontrollert eller post-testet loop.
  2. Når testtilstanden er evaluert som ekte , den programkontrollen går til starten av løkken og kroppen utføres en gang til.
  3. Prosessen ovenfor gjentas til testbetingelsen er sann.
  4. Når testtilstanden er evaluert som falsk, programkontrollene går videre til de neste setningene etter do...while-løkken.

Som med while-løkken i C, er ikke initialisering og oppdatering en del av do...while-løkken-syntaksen. Vi må gjøre det eksplisitt før og i løkken.

Flytskjemaet nedenfor viser den visuelle representasjonen av flyten til do...while-løkken i C.

C gjør ... mens Loop Flytskjema

flytskjema over do...while loop in C

Flytskjema for do...while Loop in C

Nested do...while Loop in C

Som med andre løkker, kan vi også legge en do ... mens vi går inn i en annen løkke. Det demonstreres ved hjelp av følgende C-program.

Eksempel på Nested do...while Loop in C:

C




// C Program to demonstrate the nesting of do...while loop> #include> int> main()> {> >// declaring loop variables> >int> i = 0, j;> >int> count = 0;> >// outer loop starts> >do> {> >j = 0;> >// inner loop starts> >do> {> >printf>(>'%d '>, count++);> >j++;> >}>while> (j <3);> >// inner loop ends> >printf>(>' '>);> >i++;> >}>while> (i <3);> >// outer loop ends> >return> 0;> }>

>

>

Produksjon

0 1 2 3 4 5 6 7 8>

For å vite mer om nestede løkker i C, se denne artikkelen – Nestede løkker i C med eksempler

Eksempler på do...while Loop in C

Eksempel 1. C Program for å demonstrere oppførselen til do...while loop hvis betingelsen er falsk fra starten.

C


python sorteringsordbok



// C Program to demonstrate the do...while loop behaviour> // when the condition is false from the start> #include> #include> int> main()> {> >// declaring a false variable> >bool> condition =>false>;> >do> {> >printf>(>'This is loop body.'>);> >}>while> (condition);>// false condition> >return> 0;> }>

>

>

Produksjon

This is loop body.>

Som vi kan se, selv når betingelsen er falsk ved starten, utføres loop-kroppen én gang. Dette er fordi i do...while-løkken, blir tilstanden sjekket etter å ha gått gjennom kroppen, så når kontrollen er i starten,

  1. Den går gjennom løkkekroppen.
  2. Utfører alle utsagnene i kroppen.
  3. Sjekker tilstanden som viser seg å være falsk.
  4. Går deretter ut av løkken.

Eksempel 2. C Program for å skrive ut multiplikasjonstabell med N ved å bruke do...while loop

Følgende eksempel viser bruken av do...while loop for å skrive ut multiplikasjonstabellen til N.

C




// C Program to print multiplication table using do...while> // loop> #include> int> main()> {> >int> N = 5, i = 1;> >do> {> >printf>(>'%d x %d = %d '>, N, i, N * i);> >}>while> (i++ <10);> >return> 0;> }>

>

kanel vs kompis
>

Produksjon

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

Forskjellen mellom while og do...while Loop in C

Tabellen nedenfor viser de viktige forskjeller mellom while og do...while Loop i C.

mens Loop

gjør ... mens Loop

Testtilstanden kontrolleres før løkkelegemet utføres. Testtilstanden kontrolleres etter å ha henrettet kroppen.
Når tilstanden er falsk, vil kroppen blir ikke henrettet ikke en eneste gang. Kroppen til do ... mens loop utføres minst én gang selv når tilstanden er falsk.
Det er en type forhåndstestet eller inngangskontrollert sløyfe. Det er en type ettertestet eller utgangskontrollert sløyfe.
Semikolon er ikke nødvendig. Semikolon kreves på slutten.

For å vite mer om disse forskjellene, vennligst se denne artikkelen - Forskjellen mellom while og do-while loop i C, C++, Java

Konklusjon

Avslutningsvis er bruken av den eneste utgangskontrollerte sløyfen i C, do...while-løkken også for å iterere en bestemt del av koden, men måten den fungerer på gjør den forskjellig fra inngangskontrollerte looper som while-løkken og for Løkke. Det er nyttig i tilfeller der vi trenger å utføre setningen inne i loop-kroppen minst én gang, for eksempel når vi krysser sirkulære lenkede lister.

Vanlige spørsmål om C do...while Loops

1. Hvor mange typer løkker er det i C?

År: Det er 3 typer løkker i C-språk:

  1. for Loop
  2. mens Loop
  3. gjør ... mens Loop

2. Hva er de inngangskontrollerte eller forhåndstestede løkkene?

År: De inngangskontrollerte løkkene eller forhåndsteste løkkene er de løkkene der løkken tilstanden kontrolleres før kroppen utføres av løkken.

3. Hva er de utgangskontrollerte eller ettertestede løkkene?

År: De utgangskontrollerte løkkene eller ettertestede løkkene er de løkkene der programkontroll kommer til hoveddelen av sløyfen før du sjekker sløyfetilstanden .

4. Hvilken sløyfe vil garantert kjøre minst én gang?

År: De gjør ... mens loop er garantert å utføre setningene i sløyfen minst én gang, da det er en type utgangskontrollert sløyfe.

5. Kan vi hoppe over klammeparenteser i C do...while loop syntaks hvis det bare er ett utsagn i kroppen?

Svar: Nei. , kan vi ikke hoppe over klammeparenteser i C do ... mens syntaks selv om det bare er en enkelt setning i motsetning til while og for loop.

6. Hvordan lage en uendelig løkke i C ved å bruke do...while-løkken?

År: Vi kan lage en uendelig sløyfe i C ved å spesifisere a tilstand som alltid vil være sann som løkkebetingelsen. Programmet nedenfor viser hvordan du gjør det:

C




// C Program to create a infinite loop using do...while loop> // in C> #include> int> main()> {> >// infinite loop> >do> {> >printf>(>'gfg '>);> >}>while> (1);>// always 1 ~ true> >return> 0;> }>

>

>

Produksjon

gfg gfg gfg gfg gfg gfg gfg .... (infinite)>

Relaterte artikler: