C++ do...while loop med eksempler
โก Smart oppsummering
En do-while-lรธkke i C++ kjรธrer en kodeblokk รฉn gang og gjentar den sรฅ lenge en betingelse forblir sann. Her lรฆrer du hvordan do-while-lรธkken fungerer, syntaksen, nรฅr den skal brukes, og eksempler.

Hva er do-while loop?
Do-while-lรธkken itererer en del av C++ program flere ganger. I do-while-lรธkken legges testuttrykk til nederst i loopen. Lรธkkekroppen kommer fรธr testuttrykket. Det er grunnen til at loop-kroppen mรฅ kjรธres for en gangs skyld, selv nรฅr testuttrykket evalueres til usant i den fรธrste testen.
Nรฅr skal man bruke en do-while-lรธkke?
Do-while-lรธkken bรธr brukes nรฅr antall iterasjoner ikke er fast, og lรธkken mรฅ kjรธres i minst รฉn gang. De C++ kompilatoren utfรธrer slรธyfen fรธrst fรธr tilstanden evalueres. Det betyr at lรธkken mรฅ returnere et resultat. Dette er tilfellet selv nรฅr testbetingelsen evalueres til en falsk ved den fรธrste evalueringen. Siden loop-kroppen allerede er utfรธrt, mรฅ den returnere resultatet.
syntax
Den grunnleggende syntaksen til C++ gjรธr mens loop er som fรธlger:
do{ //code }while(condition);
Tilstanden er testuttrykk. Det mรฅ vรฆre sant for at loopen skal utfรธres. { og } markerer hoveddelen av do while-lรธkken. Det kommer fรธr tilstanden. Derfor utfรธres den fรธr tilstanden.
Hvordan fungerer do-while loop?

Flytskjemaforklaring:
- Start av do while loop.
- Kroppen til do while loop.
- Testuttrykket eller tilstanden som skal evalueres.
- Hvis testuttrykket er sant, vil C++ kompilatoren utfรธrte brรธdteksten til do while-lรธkken.
- Hvis testuttrykket er usant, vil C++ kompilatoren utfรธrer setningene etter loop-kroppen.
- Uttalelser som kommer etter lรธkkekroppen.
Eksempel 1
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten pรฅ brรธdteksten til main()-funksjonen.
- En kommentar. De C++ kompilator vil hoppe over dette.
- Deklarerer en heltallsvariabel x og tildeler den en verdi pรฅ 1.
- Opprette en do-while-lรธkke. { markerer starten pรฅ lรธkkens hovedtekst.
- For รฅ skrive ut verdien av variabel x sammen med annen tekst pรฅ konsollen. Endl er en C++ nรธkkelord som betyr sluttlinje.
- รker verdien av x med 1 etter hver iterasjon.
- Enden av lรธkkekroppen. Testuttrykk er lagt til pรฅ slutten av lรธkken. Den tester om verdien av x er mindre enn 5.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Eksempel 2
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- { markerer starten pรฅ brรธdteksten til main()-funksjonen.
- Deklarerer to heltallsvariabler, num og sum. Variabelsummen er initialisert til 0.
- Opprette en do-while-lรธkke. { markerer starten pรฅ lรธkkens hovedtekst.
- Skrive ut teksten "Skriv inn et nummer:" pรฅ konsollen.
- Leser brukerinndata fra konsollen og lagrer verdien i variabel num. cin (konsollinngang) er en funksjon som leser brukerinndata.
- ร legge til verdien av num til verdien av sum og lagre resulterer i variabel sum.
- } markerer slutten av lรธkken. Testuttrykket er lagt til pรฅ slutten av lรธkken. Den tester om verdien angitt av brukeren for รฅ sikre at den ikke er 0. != er ikke lik operatoren. Hvis brukeren angir en 0, bรธr slรธyfen avsluttes.
- Utskriftsverdi av variabel sum pรฅ konsollen sammen med annen tekst.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Nested Do While Loop
In C++, er det mulig for oss รฅ lage en do-while-lรธkke inne i en annen gjรธr-hel-lรธkke. Dette resulterer i en nestet do-while-lรธkke.
syntax
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
Den fรธrste do-setningen angir gjรธr-delen av den ytre do-while-lรธkken.
Den andre do-setningen angir do-delen av den indre do-while-lรธkken.
Den fรธrste while-setningen angir testbetingelsen for den indre slรธyfen.
Den andre while-setningen angir testbetingelsen for den ytre slรธyfen.
Hvordan nestet gjรธr mens slรธyfen fungerer
Nested do while loop fungerer som fรธlger:
Trinn 1: Initialiseringen utfรธres fรธrst og en gang.
Trinn 2: Utsagnene (the do) utfรธres รฉn gang.
Trinn 3: Testuttrykk er evaluering ved flytkontroll.
Trinn 4: Hvis sant, utfรธres indre slรธyfe.
Trinn 5: Oppdateringserklรฆring(er) er oppdatert.
Trinn 6: Prosessen kjรธrer gjentatte ganger til testuttrykket blir usant.
Trinn 7: Nรฅr testuttrykket blir falskt, avsluttes den indre slรธyfen og kontrollen hopper til den ytre slรธyfen.
Trinn 8: Testtilstanden evalueres pรฅ nytt.
Trinn 9: Hvis sant, utfรธres setning(er) for รฅ returnere usann.
Trinn 10: Utfรธrelse av slรธyfestopp og kontrollhopp til setninger etter slรธyfe.
Eksempel
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten pรฅ brรธdteksten til main()-funksjonen.
- Deklarerer en heltallsvariabel a og tildeler den en verdi pรฅ 1.
- Opprette den ytre do-while-lรธkken. { markerer starten pรฅ den ytre lรธkken.
- Deklarerer en heltallsvariabel b og tildeler den verdien 1.
- Opprette den indre do-while-lรธkken. { markerer starten pรฅ indre lรธkke.
- For รฅ skrive ut verdien av variabel a pรฅ konsollen. "\n" er et nytt linjetegn som flytter musepekeren til neste linje.
- รker verdien av b med 1 etter hver iterasjon.
- Enden av den indre lรธkkekroppen. Testuttrykk er lagt til pรฅ slutten av lรธkken. Den tester om verdien av b er mindre enn eller lik 5.
- รker verdien av a med 1 etter hver iterasjon.
- Enden av den ytre lรธkkekroppen. Testuttrykk er lagt til pรฅ slutten av lรธkken. Den tester om verdien av a er mindre enn eller lik 3.
- Slutten av hoveddelen av hoved()-funksjonen.





