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 det er: En do-while-lรธkke kjรธrer kroppen sin รฉn gang, og gjentar seg deretter mens en betingelse er sann.
  • โœ… Kjรธrer fรธrst: Kroppen utfรธrer alltid en handling minst รฉn gang fรธr tilstanden kontrolleres.
  • ๐Ÿงพ Syntaks: do { statements } while(betingelse); slutter med et semikolon.
  • ๐ŸŽฏ Nรฅr skal du bruke: Bruk den nรฅr koden mรฅ kjรธres minst รฉn gang, for eksempel i menyer.
  • ๐Ÿค– AI-hjelp: AI-verktรธy som GitHub Copilot skriver og feilsรธker C++ lรธkker umiddelbart.

C++ Do-While Loop

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?

Do-While Loop
C++ Gjรธr mens Flytskjema

Flytskjemaforklaring:

  1. Start av do while loop.
  2. Kroppen til do while loop.
  3. Testuttrykket eller tilstanden som skal evalueres.
  4. Hvis testuttrykket er sant, vil C++ kompilatoren utfรธrte brรธdteksten til do while-lรธkken.
  5. Hvis testuttrykket er usant, vil C++ kompilatoren utfรธrer setningene etter loop-kroppen.
  6. 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:

Do-While Loop

Her er et skjermbilde av koden:

Do-While Loop

Code Forklaring:

  1. Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
  2. Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
  3. Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten pรฅ brรธdteksten til main()-funksjonen.
  4. En kommentar. De C++ kompilator vil hoppe over dette.
  5. Deklarerer en heltallsvariabel x og tildeler den en verdi pรฅ 1.
  6. Opprette en do-while-lรธkke. { markerer starten pรฅ lรธkkens hovedtekst.
  7. For รฅ skrive ut verdien av variabel x sammen med annen tekst pรฅ konsollen. Endl er en C++ nรธkkelord som betyr sluttlinje.
  8. ร˜ker verdien av x med 1 etter hver iterasjon.
  9. Enden av lรธkkekroppen. Testuttrykk er lagt til pรฅ slutten av lรธkken. Den tester om verdien av x er mindre enn 5.
  10. Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
  11. 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:

Do-While Loop

Her er et skjermbilde av koden:

Do-While Loop

Code Forklaring:

  1. Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
  2. Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
  3. Kaller main()-funksjonen der logikken til programmet skal legges til.
  4. { markerer starten pรฅ brรธdteksten til main()-funksjonen.
  5. Deklarerer to heltallsvariabler, num og sum. Variabelsummen er initialisert til 0.
  6. Opprette en do-while-lรธkke. { markerer starten pรฅ lรธkkens hovedtekst.
  7. Skrive ut teksten "Skriv inn et nummer:" pรฅ konsollen.
  8. Leser brukerinndata fra konsollen og lagrer verdien i variabel num. cin (konsollinngang) er en funksjon som leser brukerinndata.
  9. ร… legge til verdien av num til verdien av sum og lagre resulterer i variabel sum.
  10. } 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.
  11. Utskriftsverdi av variabel sum pรฅ konsollen sammen med annen tekst.
  12. Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
  13. 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:

Nested Do While Loop

Her er et skjermbilde av koden:

Nested Do While Loop

Code Forklaring:

  1. Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
  2. Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
  3. Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten pรฅ brรธdteksten til main()-funksjonen.
  4. Deklarerer en heltallsvariabel a og tildeler den en verdi pรฅ 1.
  5. Opprette den ytre do-while-lรธkken. { markerer starten pรฅ den ytre lรธkken.
  6. Deklarerer en heltallsvariabel b og tildeler den verdien 1.
  7. Opprette den indre do-while-lรธkken. { markerer starten pรฅ indre lรธkke.
  8. For รฅ skrive ut verdien av variabel a pรฅ konsollen. "\n" er et nytt linjetegn som flytter musepekeren til neste linje.
  9. ร˜ker verdien av b med 1 etter hver iterasjon.
  10. 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.
  11. ร˜ker verdien av a med 1 etter hver iterasjon.
  12. 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.
  13. Slutten av hoveddelen av hoved()-funksjonen.

Spรธrsmรฅl og svar

En do-while-lรธkke er en kontrollstruktur som kjรธrer kroppen รฉn gang og deretter gjentar den sรฅ lenge en betingelse er sann. Betingelsen kontrolleres etter hver omgang, ikke fรธr.

En while-lรธkke sjekker betingelsen fรธr den kjรธrer kroppen, sรฅ den kan kjรธres null ganger. En do-while-lรธkke kjรธrer kroppen fรธrst og sjekker betingelsen etterpรฅ, sรฅ den kjรธrer alltid minst รฉn gang.

Syntaksen er do { statements } while(condition);. Brรธdteksten i parenteser kjรธres fรธrst, deretter testes betingelsen i parentes, og lรธkken avsluttes med et semikolon.

Bruk en do-while-lรธkke nรฅr koden mรฅ kjรธres minst รฉn gang uavhengig av betingelsen, for eksempel รฅ vise en meny eller validere brukerinput.

En nestet do-while-lรธkke er en do-while-lรธkke plassert inni en annen do-while-lรธkke. Den indre lรธkken fullfรธrer alle sine passeringer for hver enkelt passering av den ytre lรธkken.

AI-assistenter som GitHub Copilot genererer do-while-lรธkker fra en kommentar, konverterer mellom lรธkketyper og flagger betingelser som kan forรฅrsake en uendelig lรธkke.

Ja. AI-drevne verktรธy oppdager uendelige lรธkker, feil som ikke er รฉn for รฉn og feil lรธkkeforhold, og foreslรฅr tydeligere lรธkkelogikk.ping din C++ koden kjรธrer riktig.

Ja. Fordi betingelsen sjekkes etter kroppen, kjรธrer en do-while-lรธkke alltid kroppen sin minst รฉn gang, selv om betingelsen er usann ved fรธrste sjekk.

Oppsummer dette innlegget med: