C++ do…when ciklus a Példákkal

⚡ Okos összefoglaló

Egy „csináld közben” ciklus C++ egyszer lefuttat egy kódblokkot, majd addig ismétli, amíg egy feltétel igaz marad. Itt megismerheted a do-while ciklus működését, szintaxisát, használatának idejét és példákat.

  • 🔂 Ami: Egy do-while ciklus egyszer lefuttatja a törzsét, majd ismétlődik, amíg egy feltétel igaz.
  • Először fut: A törzs mindig legalább egyszer végrehajtódik, mielőtt a feltétel ellenőrzésre kerülne.
  • 🧾 Syntax: do { utasítások } while(feltétel); pontosvesszővel végződik.
  • 🎯 Mikor kell használni: Akkor használd, ha a kódnak legalább egyszer le kell futnia, például menükben.
  • 🤖 MI segítség: AI-eszközök, mint például a GitHub Copilot írási és hibakeresési szolgáltatásai C++ azonnali hurkok.

C++ Do-While Loop

Mi az a do-while ciklus?

A do-while ciklus iterálja a C++ program többször. A do-while ciklusban a tesztkifejezés a ciklus aljára kerül hozzáadásra. A ciklustörzs a tesztkifejezés elé kerül. Ezért a ciklustörzsnek egyszer végre kell hajtania, még akkor is, ha a tesztkifejezés hamisra értékelődik az első tesztben.

Mikor használjunk do-while hurkot?

A do-while ciklust akkor kell használni, ha az iterációk száma nem rögzített, és a ciklusnak legalább egyszer végre kell hajtania. A C++ fordítóprogram a feltétel kiértékelése előtt először a ciklustörzset hajtja végre. Ez azt jelenti, hogy a ciklusnak eredményt kell visszaadnia. Ez akkor is így van, ha a tesztfeltétel az első értékeléskor hamisra értékel. Mivel a ciklustörzs már végrehajtásra került, vissza kell adnia az eredményt.

Szintaxis

Az alapvető szintaxis C++ csináld a while ciklust a következőképpen:

do{    
//code 
}while(condition);  

A feltétel a teszt kifejezés. A ciklus végrehajtásához igaznak kell lennie. A { és } jelöli a do while ciklus törzsét. A feltétel előtt jön. Ezért a feltétel előtt kerül végrehajtásra.

Hogyan működik a do-while ciklus?

Do-While Loop
C++ Csináld folyamatábra közben

Folyamatábra magyarázata:

  1. A do while ciklus kezdete.
  2. A do while ciklus törzse.
  3. A kiértékelendő tesztkifejezés vagy feltétel.
  4. Ha a tesztkifejezés igaz, a C++ A fordító végrehajtotta a do while ciklus törzsét.
  5. Ha a tesztkifejezés hamis, a C++ A fordító végrehajtja a ciklustörzs utáni utasításokat.
  6. A huroktörzs után következő utasítások.

Példa 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;
}

output:

Do-While Loop

Itt van egy képernyőkép a kódról:

Do-While Loop

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Lehetővé teszi számunkra, hogy olvassunk a konzolról és írjunk oda.
  2. Beleértve az std névteret, hogy az osztályait és függvényeit hívás nélkül használhassuk.
  3. A main() függvény meghívása, amelyen belül a program logikáját hozzá kell adni. A { a main() függvény törzsének kezdetét jelöli.
  4. Egy megjegyzés. A C++ a fordító ezt kihagyja.
  5. Egy x egész változó deklarálása és 1 érték hozzárendelése.
  6. Do-while ciklus létrehozása. A { a ciklustörzs kezdetét jelöli.
  7. Az x változó értékének kinyomtatása más szöveg mellett a konzolon. A endl egy C++ végsort jelentő kulcsszó.
  8. x értékének növelése 1-gyel minden iteráció után.
  9. A huroktest vége. A tesztkifejezés hozzáadva a ciklustörzs végéhez. Azt vizsgálja, hogy x értéke kisebb-e 5-nél.
  10. A main() függvénynek értéket kell visszaadnia, ha a program jól fut.
  11. A main() függvény törzsének vége.

Példa 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;
}

output:

Do-While Loop

Itt van egy képernyőkép a kódról:

Do-While Loop

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Lehetővé teszi számunkra, hogy olvassunk a konzolról és írjunk oda.
  2. Beleértve az std névteret, hogy az osztályait és függvényeit hívás nélkül használhassuk.
  3. A main() függvény meghívása, amelyen belül a program logikáját hozzá kell adni.
  4. A { a main() függvény törzsének kezdetét jelöli.
  5. Két egész változó deklarálása, a szám és az összeg. A változó összege 0-ra lett inicializálva.
  6. Do-while ciklus létrehozása. A { a ciklustörzs kezdetét jelöli.
  7. Az „Adjon meg egy számot:” szöveg kinyomtatása a konzolon.
  8. Felhasználói bevitel beolvasása a konzolról és az érték tárolása a num változóban. A cin (konzol bemenet) egy olyan funkció, amely beolvassa a felhasználói bevitelt.
  9. A szám értékének hozzáadása az összeg értékéhez és az eredmény tárolása az összeg változóban.
  10. A } a ciklustörzs végét jelöli. A tesztkifejezés hozzá lett adva a ciklustörzs végéhez. Megvizsgálja, hogy a felhasználó által beírt érték nem 0-e. A != nem egyenlő az operátorral. Ha a felhasználó 0-t ír be, a ciklusnak véget kell érnie.
  11. Változó összeg értékének nyomtatása a konzolon más szöveg mellett.
  12. A main() függvénynek értéket kell visszaadnia, ha a program jól fut.
  13. A main() függvény törzsének vége.

Beágyazott Do While Loop

In C++, lehetőség van arra, hogy létrehozzunk egy „do-while” ciklust egy másik „do-whole” cikluson belül. Ez beágyazott do-while ciklust eredményez.

Szintaxis

do{
statement(s)
do{
statement(s)
}while(condition);
statement(s)
}while(condition);

Az első do utasítás a külső do-while ciklus do részét jelöli.

A második do utasítás a belső do-while ciklus do részét jelöli.

Az első while utasítás a belső ciklus tesztfeltételét jelöli.

A második while utasítás a külső ciklus tesztfeltételét jelöli.

Hogyan működik a Nested Do While Loop?

A beágyazott do while ciklus a következőképpen működik:

Lépés 1: Az inicializálás először és egyszer kerül végrehajtásra.

Lépés 2: Az utasítások (a do) egyszer végrehajtásra kerülnek.

Lépés 3: A tesztkifejezés az áramlásvezérlés általi kiértékelés.

Lépés 4: Ha igaz, a belső ciklus végrehajtásra kerül.

Lépés 5: A frissítési nyilatkozat(ok) frissülnek.

Lépés 6: A folyamat többször fut, amíg a tesztkifejezés hamis lesz.

Lépés 7: Amikor a tesztkifejezés hamissá válik, a belső ciklus kilép, és a vezérlés a külső ciklusra ugrik.

Lépés 8: A teszt állapotát újra kiértékeli.

Lépés 9: Ha igaz, az utasítás(ok) végrehajtása hamis értékkel tér vissza.

Lépés 10: Cikkleállások és vezérlési ugrások végrehajtása ciklus utáni utasításokra.

Példa

#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);
}

output:

Beágyazott Do While Loop

Itt van egy képernyőkép a kódról:

Beágyazott Do While Loop

Code Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Lehetővé teszi számunkra, hogy olvassunk a konzolról és írjunk oda.
  2. Beleértve az std névteret, hogy az osztályait és függvényeit hívás nélkül használhassuk.
  3. A main() függvény meghívása, amelyen belül a program logikáját hozzá kell adni. A { a main() függvény törzsének kezdetét jelöli.
  4. Egy a egész változó deklarálása és 1 érték hozzárendelése.
  5. A külső do-while ciklus létrehozása. A { a külső hurok törzsének kezdetét jelöli.
  6. Egy b egész változó deklarálása és 1 érték hozzárendelése.
  7. A belső do-while ciklus létrehozása. A { a belső hurok törzsének kezdetét jelöli.
  8. Az a változó értékének kinyomtatása a konzolon. A „\n” egy új sorkarakter, amely az egérkurzort a következő sorra viszi.
  9. B értékének növelése 1-gyel minden iteráció után.
  10. A belső huroktest vége. A tesztkifejezés hozzáadva a ciklustörzs végéhez. Azt vizsgálja, hogy b értéke kisebb-e vagy egyenlő-e 5-tel.
  11. A érték növelése 1-gyel minden iteráció után.
  12. A külső huroktest vége. A tesztkifejezés hozzáadva a ciklustörzs végéhez. Azt vizsgálja, hogy a értéke kisebb-e vagy egyenlő-e 3-mal.
  13. A main() függvény törzsének vége.

GYIK

A do-while ciklus egy olyan vezérlőstruktúra, amely egyszer lefuttatja a törzsét, majd addig ismétli, amíg egy feltétel igaz. A feltétel minden menet után ellenőrzésre kerül, nem előtte.

Egy while ciklus a törzs futtatása előtt ellenőrzi a feltételt, így előfordulhat, hogy nulla alkalommal fut le. Egy do-while ciklus először a törzset futtatja le, és csak utána ellenőrzi a feltételt, így mindig legalább egyszer lefut.

A szintaxis a következő: do { utasítások } while(feltétel);. Először a zárójelben lévő törzs fut le, majd a zárójelben lévő feltétel tesztelődik, és a ciklus pontosvesszővel zárul.

Használj do-while ciklust, ha a kódnak legalább egyszer le kell futnia a feltételtől függetlenül, például egy menü megjelenítése vagy a felhasználói bevitel validálása során.

Egy beágyazott do-while ciklus egy másik do-while cikluson belül elhelyezett do-while ciklus. A belső ciklus a külső ciklus minden egyes menetével befejezi az összes menetét.

Az olyan mesterséges intelligencia asszisztensek, mint a GitHub Copilot, do-while ciklusokat generálnak egy megjegyzésből, konvertálnak a ciklustípusok között, és megjelölik azokat a feltételeket, amelyek végtelen ciklust okozhatnak.

Igen. A mesterséges intelligenciával működő eszközök végtelen ciklusokat, egyszeri eltéréseket és helytelen ciklusfeltételeket észlelnek, és egyértelműbb cikluslogikát javasolnak.ping a te C++ a kód helyesen fut.

Igen. Mivel a feltétel ellenőrzése a törzs után történik, egy do-while ciklus mindig legalább egyszer végrehajtja a törzsét, még akkor is, ha a feltétel az első ellenőrzéskor hamis.

Foglald össze ezt a bejegyzést a következőképpen: