Loops i C-sprog er kontrolflow-sætningerne, der bruges til at gentage en del af koden, indtil den givne betingelse er opfyldt. Det gør-mens-løkke er en af de tre loop-sætninger i C, de andre er while loop og for loop. Det bruges hovedsageligt til at krydse arrays, vektorer og andre datastrukturer.
Hvad er do...while Loop in C?
Det gør ... mens du er i C er en loop-sætning, der bruges til at gentage en del af koden, indtil den givne betingelse er opfyldt. Det er en form for en udgangskontrolleret eller eftertestet sløjfe hvor testtilstanden kontrolleres efter udførelse af løkkens krop. På grund af dette vil sætningerne i do...while-løkken altid blive udført mindst én gang, uanset hvilken betingelse der er.
Syntaks for do...while Loop in C
do { // body of do-while loop } while ( condition );> Sådan bruges gør ... mens Loop in C
Følgende eksempel viser brugen af do...while loop i programmeringssproget 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;> }> |
>
>Produktion
Geeks Geeks Geeks>
Hvordan virker do...while Loop?

Syntaks Struktur af do while loop
Funktionen af do...while loop er forklaret nedenfor:
- Når programstyringen først kommer til do...while loop, løkkens krop udføres først, og derefter kontrolleres testbetingelsen/-udtrykket , i modsætning til andre sløjfer, hvor testtilstanden kontrolleres først. På grund af denne egenskab kaldes do...while-løkken også udgangskontrolleret eller post-testet loop.
- Når testtilstanden vurderes som rigtigt , det programstyring går til starten af løkken og kroppen udføres endnu en gang.
- Ovenstående proces gentages, indtil testbetingelsen er sand.
- Når testtilstanden vurderes som falsk, programkontrollerne går videre til de næste udsagn efter do...while loop.
Som med while-løkken i C, er initialisering og opdatering ikke en del af do...while-løkkens syntaks. Det skal vi gøre eksplicit før og i løkken.
Flowdiagrammet nedenfor viser den visuelle repræsentation af flowet af do...while loop i C.
C gør ... mens Loop Flowchart

Flowchart over gør ... mens Loop in C
Indlejret gør ... mens Loop in C
Som med andre løkker kan vi også indlejre en do...mens vi løkker ind i en anden løkke. Det demonstreres ved hjælp af 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;> }> |
>
>Produktion
0 1 2 3 4 5 6 7 8>
For at vide mere om indlejrede løkker i C, se denne artikel - Indlejrede løkker i C med eksempler
Eksempler på do...while loop in C
Eksempel 1. C Program til at demonstrere adfærden af do...while loop, hvis betingelsen er falsk fra starten.
C
python sorteringsordbog
// 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;> }> |
>
>Produktion
This is loop body.>
Som vi kan se, selv når betingelsen er falsk i starten, udføres loop-legemet én gang. Dette skyldes, at i do...while loop, bliver tilstanden kontrolleret efter at have gået gennem kroppen, så når kontrollen er i starten,
- Det går gennem løkkelegemet.
- Udfører alle udsagn i kroppen.
- Kontrollerer tilstanden, som viser sig at være falsk.
- Forlader derefter løkken.
Eksempel 2. C Program til at udskrive multiplikationstabel med N ved hjælp af do...while loop
Følgende eksempel viser brugen af do...while loop til at udskrive multiplikationstabellen for 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;> }> |
>
justering af et billede i css
>Produktion
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>
Forskellen mellem mens og gør ... mens Loop in C
Følgende tabel viser de vigtige forskelle mellem mens og gør ... mens Loop i C.
| mens Loop | gør ... mens Loop |
|---|---|
| Testtilstanden kontrolleres før loop-legemet udføres. | Testtilstanden kontrolleres efter at have henrettet liget. |
| Når betingelsen er falsk, vil kroppen ikke henrettes ikke en eneste gang. | Kroppen af do...mens loop udføres mindst én gang selv når betingelsen er falsk. |
| Det er en type prætestet eller indgangskontrolleret sløjfe. | Det er en type eftertestet eller udgangskontrolleret sløjfe. |
| Semikolon er ikke påkrævet. | Semikolon er påkrævet til sidst. |
For at vide mere om disse forskelle, se venligst denne artikel - Forskel mellem while og do-while loop i C, C++, Java
Konklusion
Som konklusion er brugen af den eneste udgangskontrollerede sløjfe i C, do...while loop, også til at iterere en bestemt del af koden, men måden den fungerer på gør den anderledes end indgangskontrollerede loops såsom while loop og for sløjfe. Det er nyttigt i tilfælde, hvor vi skal udføre sætningen inde i loop-kroppen mindst én gang, såsom ved at krydse cirkulære sammenkædede lister.
Ofte stillede spørgsmål om C do...while Loops
1. Hvor mange typer løkker er der i C?
Flere år: Der er 3 typer loops i C-sprog:
- for Loop
- mens Loop
- gør ... mens Loop
2. Hvad er de indgangskontrollerede eller prætestede sløjfer?
Flere år: De indgangskontrollerede sløjfer eller prætestede sløjfer er de sløjfer, hvori sløjfen tilstand kontrolleres inden udførelse af kroppen af løkken.
3. Hvad er de udgangskontrollerede eller eftertestede sløjfer?
Flere år: De udgangskontrollerede sløjfer eller eftertestede sløjfer er de sløjfer, hvori programkontrol kommer til løkkens krop, før sløjfetilstanden kontrolleres .
4. Hvilken løkke vil med garanti udføres mindst én gang?
Flere år: Det gør ... mens loop er garanteret at udføre sætningerne i løkkens krop mindst én gang, da det er en type exit-styret løkke.
5. Kan vi springe klammeparenteser over i C do...while loop syntaks, hvis der kun er én sætning i kroppen?
Svar: Nej. , kan vi ikke springe klammeparenteser over i C do ... mens syntaks, selvom der kun er en enkelt sætning i modsætning til while og for loop.
6. Hvordan laver man en uendelig loop i C ved hjælp af do...while loop?
Flere år: Vi kan skabe en uendelig løkke i C ved at angive a tilstand, der altid vil være sand som sløjfetilstand. Nedenstående program viser, hvordan man gø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;> }> |
>
>
Produktion
gfg gfg gfg gfg gfg gfg gfg .... (infinite)>