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?
Folyamatábra magyarázata:
- A do while ciklus kezdete.
- A do while ciklus törzse.
- A kiértékelendő tesztkifejezés vagy feltétel.
- Ha a tesztkifejezés igaz, a C++ A fordító végrehajtotta a do while ciklus törzsét.
- Ha a tesztkifejezés hamis, a C++ A fordító végrehajtja a ciklustörzs utáni utasításokat.
- 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:
Itt van egy képernyőkép a kódról:
Kód magyarázata:
- Az iostream fejlécfájl belefoglalása a kódunkba. Lehetővé teszi számunkra, hogy olvassunk a konzolról és írjunk oda.
- Beleértve az std névteret, hogy az osztályait és függvényeit hívás nélkül használhassuk.
- 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.
- Egy megjegyzés. A C++ a fordító ezt kihagyja.
- Egy x egész változó deklarálása és 1 érték hozzárendelése.
- Do-while ciklus létrehozása. A { a ciklustörzs kezdetét jelöli.
- Az x változó értékének kinyomtatása más szöveg mellett a konzolon. A endl egy C++ végsort jelentő kulcsszó.
- x értékének növelése 1-gyel minden iteráció után.
- 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.
- A main() függvénynek értéket kell visszaadnia, ha a program jól fut.
- 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:
Itt van egy képernyőkép a kódról:
Kód magyarázata:
- Az iostream fejlécfájl belefoglalása a kódunkba. Lehetővé teszi számunkra, hogy olvassunk a konzolról és írjunk oda.
- Beleértve az std névteret, hogy az osztályait és függvényeit hívás nélkül használhassuk.
- 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.
- Két egész változó deklarálása, a szám és az összeg. A változó összege 0-ra lett inicializálva.
- Do-while ciklus létrehozása. A { a ciklustörzs kezdetét jelöli.
- Az „Adjon meg egy számot:” szöveg kinyomtatása a konzolon.
- 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.
- 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.
- 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.
- Változó összeg értékének nyomtatása a konzolon más szöveg mellett.
- A main() függvénynek értéket kell visszaadnia, ha a program jól fut.
- 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:
Itt van egy képernyőkép a kódról:
Kód magyarázata:
- Az iostream fejlécfájl belefoglalása a kódunkba. Lehetővé teszi számunkra, hogy olvassunk a konzolról és írjunk oda.
- Beleértve az std névteret, hogy az osztályait és függvényeit hívás nélkül használhassuk.
- 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.
- Egy a egész változó deklarálása és 1 érték hozzárendelése.
- A külső do-while ciklus létrehozása. A { a külső hurok törzsének kezdetét jelöli.
- Egy b egész változó deklarálása és 1 érték hozzárendelése.
- A belső do-while ciklus létrehozása. A { a belső hurok törzsének kezdetét jelöli.
- 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.
- B értékének növelése 1-gyel minden iteráció után.
- 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.
- A érték növelése 1-gyel minden iteráció után.
- 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.
- 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.