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