C-kielen silmukat ovat ohjausvuon käskyjä, joita käytetään toistamaan jotain koodin osaa, kunnes annettu ehto täyttyy. The do-while -silmukka on yksi C:n kolmesta silmukkalausekkeesta, muut ovat while loop ja for loop. Sitä käytetään pääasiassa taulukoiden, vektorien ja muiden tietorakenteiden läpikulkuun.
Mitä tehdä… kun Loop C:ssä?
The tehdä... kun C on silmukkalause, jota käytetään toistamaan jotain koodin osaa, kunnes annettu ehto täyttyy. Se on muoto an poistumisohjattu tai jälkitestattu silmukka jossa testiehto tarkistetaan silmukan rungon suorittamisen jälkeen. Tästä johtuen do…while-silmukan käskyt suoritetaan aina vähintään kerran riippumatta ehdosta.
Syntaksi do…-silmukassa C:ssä
do { // body of do-while loop } while ( condition );>
Kuinka käyttää do…-toimintoa silmukan aikana C:ssä
Seuraava esimerkki havainnollistaa do…while-silmukan käyttöä C-ohjelmointikielessä.
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;> }> |
>
>Lähtö
Geeks Geeks Geeks>
Miten tee… kun Loop toimii?

Syntaksi Do while -silmukan rakenne
Do…while-silmukan toiminta selitetään alla:
- Kun ohjelman ohjaus tulee ensin do…while-silmukkaan, silmukan runko suoritetaan ensin ja sitten testataan testiehto/lauseke , toisin kuin muut silmukat, joissa testiolosuhteet tarkistetaan ensin. Tästä ominaisuudesta johtuen do…while-silmukkaa kutsutaan myös poistumisohjatuksi tai jälkitestatuksi silmukaksi.
- Kun testitila arvioidaan muodossa totta , ohjelman ohjaus lähtee alkuun silmukan ja runko suoritetaan vielä kerran.
- Yllä oleva prosessi toistetaan, kunnes testiehto on totta.
- Kun testitila arvioidaan muodossa väärä, ohjelman säätimet siirtyvät seuraaviin lauseisiin do…while-silmukan jälkeen.
Kuten C:n while-silmukassa, alustus ja päivitys eivät ole osa do…while-silmukan syntaksia. Meidän on tehtävä se nimenomaisesti ennen ja silmukassa.
Alla oleva vuokaavio näyttää visuaalisen esityksen do…while-silmukan kulusta C:ssä.
C do… kun taas silmukkavuokaavio

Vuokaavio tehtävästä… kun silmukka C:ssä
Nested do… kun taas Loop in C
Kuten muidenkin silmukoiden kohdalla, voimme myös sisäistää yhden tehdä… samalla kun silmukat toiseen silmukkaan. Se esitetään seuraavalla C-ohjelmalla.
Esimerkki sisäkkäisestä do…-silmukasta C:ssä:
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;> }> |
>
>Lähtö
0 1 2 3 4 5 6 7 8>
Jos haluat lisätietoja sisäkkäisistä silmukoista C:ssä, katso tämä artikkeli – Sisäkkäiset silmukat C:ssä ja esimerkkejä
Esimerkkejä do...while Loop in C:ssä
Esimerkki 1. C Ohjelma, joka osoittaa silmukan do…while käyttäytymisen, jos ehto on epätosi alusta alkaen.
C
java poikkeuksia
// 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;> }> |
>
>Lähtö
This is loop body.>
Kuten voimme nähdä, vaikka ehto on epätosi alussa, silmukan runko suoritetaan kerran. Tämä johtuu siitä, että do…while-silmukassa kunto tarkistetaan kehon läpi kulkemisen jälkeen, joten kun ohjaus on alussa,
- Se kulkee silmukan rungon läpi.
- Suorittaa kaikki kehon lausunnot.
- Tarkistaa ehdon, joka osoittautuu vääräksi.
- Sitten poistuu silmukasta.
Esimerkki 2. C Ohjelma tulostaa N:n kertotaulukon käyttämällä do…while-silmukkaa
Seuraava esimerkki havainnollistaa do…while-silmukan käyttöä N:n kertotaulukon tulostamiseen.
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 objektien tasa-arvo
>Lähtö
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>
Ero while- ja do…whille-silmukan välillä C
Seuraavassa taulukossa luetellaan tärkeimmät erot while- ja do…while-silmukan välillä in C.
kun taas Loop | tehdä… kun Loop |
---|---|
Testin kunto tarkistetaan ennen kuin silmukan runko suoritetaan. | Testin kunto tarkistetaan ruumiin teloituksen jälkeen. |
Kun ehto on väärä, ruumista ei teloiteta ei kertaakaan. | Keho do...kun silmukka suoritetaan vähintään kerran vaikka ehto olisi väärä. |
Se on eräänlainen esitestattu tai sisääntuloohjattu silmukka. | Se on eräänlainen jälkitestattu tai poistumisohjattu silmukka. |
Puolipistettä ei vaadita. | Puolipiste vaaditaan lopussa. |
Jos haluat lisätietoja näistä eroista, katso tämä artikkeli – Ero while- ja do-while-silmukan välillä C-, C++- ja Java-kielissä
Johtopäätös
Yhteenvetona voidaan todeta, että ainoan poistumisohjatun silmukan käyttö C:ssä, do…while-silmukan tarkoituksena on myös iteroida tietty koodin osa, mutta sen toimintatapa tekee siitä erilaisen kuin sisääntuloohjatut silmukat, kuten while-silmukka ja for. silmukka. Se on hyödyllinen tapauksissa, joissa meidän on suoritettava lauseke silmukan rungossa vähintään kerran, kuten esimerkiksi kiertäessäsi linkitettyjä listoja.
Usein kysytyt kysymykset C do...while Loopsista
1. Kuinka monta tyyppistä silmukkaa C:ssä on?
Vuodet: C-kielessä on kolmenlaisia silmukoita:
- varten Loop
- kun taas Loop
- tehdä… kun Loop
2. Mitä ovat sisääntuloohjatut tai esitestatut silmukat?
Vuodet: Pääsyohjatut silmukat tai esitestatut silmukat ovat niitä silmukoita, joissa silmukka kunto tarkistetaan ennen rungon suorittamista silmukasta.
3. Mitä ovat poistumisohjatut tai jälkitestatut silmukat?
Vuodet: Poistumisohjatut silmukat tai jälkitestatut silmukat ovat niitä silmukoita, joissa ohjelman ohjaus tulee silmukan runkoon ennen silmukan kunnon tarkistamista .
4. Mikä silmukka taataan suoriutuvan vähintään kerran?
Vuodet: The do...when loop taataan, että se suorittaa lauseet silmukan rungossa vähintään kerran, koska se on eräänlainen poistumisohjattu silmukka.
5. Voiko C do...while -silmukkasyntaksin ohittaa aaltosulkeet, jos rungossa on vain yksi lause?
Vastaus: Ei. , emme voi ohittaa aaltosulkuja C do...while syntaksissa, vaikka siinä olisi vain yksi käsky toisin kuin silmukan while ja for.
6. Kuinka luoda loputon silmukka C:ssä käyttämällä do…while-silmukkaa?
Vuodet: Voimme luoda äärettömän silmukan C:ssä määrittämällä a ehto, joka on aina totta silmukan ehdona. Alla oleva ohjelma näyttää kuinka se tehdään:
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;> }> |
>
>
Lähtö
gfg gfg gfg gfg gfg gfg gfg .... (infinite)>