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

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

Kód magyarázata:

  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

Kód magyarázata:

  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

Kód magyarázata:

  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.

Összegzésként

  • A do-while ciklus többször lefuttat egy kódrészletet.
  • Akkor kell használni, ha az iterációk száma nem rögzített.
  • A do-why ciklusban a ciklus törzse a tesztkifejezés elé kerül.
  • A ciklustörzs legalább egyszer végrehajtódik, még akkor is, ha a tesztkifejezés hamis lesz.
  • Ezt a ciklust akkor kell használni, ha az iterációk száma nem rögzített.
  • A Do while ciklus bárhányszor lefuthat, feltéve, hogy a feltétel igaz.
  • A feltétel minden iteráció után egyszer kerül kiértékelésre.
  • Az állapot értékelésének eredménye határozza meg a megteendő intézkedést.
  • Ha a feltétel igaz, a ciklus végrehajtotta a testet.
  • A ciklus végrehajtása azonnal leáll, a feltétel hamisra értékelődik.
  • Mivel a do while ciklus törzsét már végrehajtották, vissza kell adnia az eredményt.