logo

gör...medan Loop in C

Slingor i C-språk är kontrollflödessatserna som används för att upprepa en del av koden tills det givna villkoret är uppfyllt. De gör-under loop är en av de tre loop-satserna i C, de andra är while loop och for loop. Det används främst för att korsa arrayer, vektorer och andra datastrukturer.

Vad är do...while Loop in C?

De gör ... i C är en loop-sats som används för att upprepa en del av koden tills det givna villkoret är uppfyllt. Det är en form av en utgångskontrollerad eller eftertestad slinga där testvillkoret kontrolleras efter exekvering av slingans kropp. På grund av detta kommer satserna i do...while-slingan alltid att köras minst en gång oavsett vilket villkor det är.

Syntax för do...while Loop in C

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

Hur man använder gör... medan Loop in C

Följande exempel visar användningen 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;> }>

>

>

Produktion

Geeks Geeks Geeks>

Hur fungerar do...while loop?

gör while loop syntax

Syntax Struktur för do while loop

Hur do...while-slingan fungerar förklaras nedan:

  1. När programkontrollen först kommer till do...while loop, slingans kropp exekveras först och sedan kontrolleras testvillkoret/uttrycket , till skillnad från andra slingor där testvillkoret kontrolleras först. På grund av denna egenskap kallas do...while-slingan även utgångskontrollerad eller eftertestad loop.
  2. När testvillkoret utvärderas som Sann , den programkontrollen går till start av slingan och kroppen exekveras en gång till.
  3. Ovanstående process upprepas tills testvillkoret är sant.
  4. När testvillkoret utvärderas som falsk, programkontrollerna går vidare till nästa påstående efter do...while-slingan.

Som med while-slingan i C, är initiering och uppdatering inte en del av do...while-slingans syntax. Vi måste göra det uttryckligen före respektive i slingan.

Flödesschemat nedan visar den visuella representationen av flödet av do...while-slingan i C.

C gör...medan Loop Flödesschema

flödesschema för do...while loop i C

Flödesschema över gör ... medan Loop in C

Kapslad gör ... medan Loop in C

Precis som med andra slingor kan vi också kapsla en do ... medan vi loopar in i en annan slinga. Det demonstreras med hjälp av följande C-program.

Exempel 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>

För att veta mer om kapslade loopar i C, se den här artikeln – Kapslade loopar i C med exempel

Exempel på do...while loop in C

Exempel 1. C Program för att visa beteendet hos do...while loop om villkoret är falskt från början.

C


sortera högen



// 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, även när villkoret är falskt i början, exekveras loopkroppen en gång. Detta beror på att i do...while-slingan kontrolleras tillståndet efter att ha gått igenom kroppen, så när kontrollen är i början,

  1. Den går genom slingkroppen.
  2. Utför alla påståenden i kroppen.
  3. Kontrollerar tillståndet som visar sig vara falskt.
  4. Går sedan ur slingan.

Exempel 2. C Program för att skriva ut multiplikationstabell med N med do...while loop

Följande exempel visar användningen av do...while loop för att skriva ut multiplikationstabellen för 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;> }>

>

java strängformat långt
>

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>

Skillnaden mellan while och do...while loop in C

Följande tabell listar de viktiga skillnader mellan while och do...while Loop i C.

medan Loop

gör ... medan Loop

Testtillståndet kontrolleras innan loopkroppen exekveras. Testtillståndet kontrolleras efter att ha avrättat kroppen.
När villkoret är falskt, kroppen inte avrättas inte ens en gång. Kroppen av do...while loop exekveras minst en gång även när villkoret är falskt.
Det är en typ av förtestad eller ingångskontrollerad slinga. Det är en typ av eftertestad eller utgångskontrollerad slinga.
Semikolon krävs inte. Semikolon krävs i slutet.

För att veta mer om dessa skillnader, se den här artikeln - Skillnaden mellan while och do-while loop i C, C++, Java

Slutsats

Sammanfattningsvis är användningen av den enda utgångskontrollerade slingan i C, do...while-slingan också för att iterera en viss del av koden, men hur den fungerar skiljer den från ingångskontrollerade slingor som while-loopen och för slinga. Det är användbart i fall där vi behöver exekvera satsen inuti loopkroppen minst en gång, till exempel när vi korsar cirkulära länkade listor.

Vanliga frågor om C do...while Loops

1. Hur många typer av slingor finns det i C?

År: Det finns 3 typer av loopar i C-språk:

  1. för Loop
  2. medan Loop
  3. gör ... medan Loop

2. Vilka är de ingångskontrollerade eller förtestade slingorna?

År: De ingångskontrollerade slingorna eller förtestade slingorna är de slingor i vilka slingan skicket kontrolleras innan kroppen utförs av slingan.

3. Vilka är de utgångskontrollerade eller eftertestade slingorna?

År: De utgångskontrollerade slingorna eller eftertestade slingorna är de slingor där programkontrollen kommer till slingans kropp innan slingtillståndet kontrolleras .

4. Vilken loop kommer garanterat att köras minst en gång?

År: De gör ... medan loop kommer garanterat att köra satserna i slingans kropp minst en gång eftersom det är en typ av utgångskontrollerad slinga.

5. Kan vi hoppa över klammerparenteser i C do...while loop syntax om det bara finns ett påstående i kroppen?

Svar: Nej. , vi kan inte hoppa över klammerparenteser i C do...while syntax även om det bara finns ett enda uttalande till skillnad från while och for loop.

6. Hur skapar man en oändlig loop i C med hjälp av do...while loop?

År: Vi kan skapa en oändlig loop i C genom att specificera a tillstånd som alltid kommer att vara sant som loopvillkor. Nedanstående program visar hur 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)>

Relaterade artiklar: