C++ do...while loop med 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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:
Kodeforklaring:
- 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.
Sammendrag
- Do-while-løkken kjører en del av koden flere ganger.
- Den skal brukes når antall iterasjoner ikke er fast.
- I do-while-løkken kommer loop-kroppen før testuttrykk.
- Løkketeksten kjøres minst én gang, selv om testuttrykket blir usant.
- Denne løkken skal brukes når antall iterasjoner ikke er fast.
- Do while loop kan kjøre et hvilket som helst antall ganger, forutsatt at betingelsen er sann.
- Tilstanden vurderes én gang etter hver iterasjon.
- Resultatet av evalueringen av tilstanden bestemmer handlingen som skal iverksettes.
- Hvis betingelsen er sann, utførte loopen kroppen.
- Utførelse av sløyfe stopper umiddelbart tilstanden evalueres til en falsk.
- Siden do while loop-teksten allerede er utført, må den returnere resultatet.





