For Loop in C++ Szintaxis és Program PÉLDÁK
Mi az a For Loop?
Ez egy ismétlési vezérlőstruktúra, amely segít nekünk egy szakaszon át ismételni C++ kódot meghatározott számú alkalommal. A for ciklus akkor fut, ha a tesztkifejezés igaz. A ciklus azonnal leállítja a végrehajtást, a tesztkifejezés hamissá válik. Ez azt jelenti, hogy a ciklustörzs végrehajtása előtt minden iterációban ki kell értékelni a feltételt. Ha a kiértékelés igaz értéket ad vissza, a ciklustörzs végrehajtásra kerül. Ha a kiértékelés false értéket ad vissza, a ciklustörzs végrehajtása leáll.
Hogyan működik a for loop?
A for ciklus a következőképpen működik:
Folyamatábra magyarázata:
- A C++ nyelvi fordító az inicializálás kiértékelésével kezdődik. Ez csak egyszer történik meg, a végrehajtás megkezdésekor.
- A tesztkifejezés kiértékelése/végrehajtása megtörténik.
- Ha a tesztkifejezés igaz, a ciklustörzs végrehajtásra kerül, és a tesztkifejezés frissül. Ha a kifejezés hamissá válik, a for ciklus véget ér.
- A tesztkifejezés végrehajtása után a ciklusvezérlő változó értékének növelése érdekében az inkrement végrehajtásra kerül.
- A tesztkifejezés újra kiértékelésre kerül, és a folyamat addig folytatódik, amíg a kifejezés hamissá nem válik.
- Ha a kifejezés hamis, a ciklustörzs utasításai kimaradnak.
Megjegyzések: A tesztkifejezés minden iteráció után frissül. Ez azt jelenti, hogy a ciklusvezérlő változó különböző értékei kerülnek végrehajtásra minden iterációban.
Mikor kell for hurkot használni?
A for ciklust akkor kell használni, ha:
- Fix számú iterációja van.
- Tudod az iterációk pontos számát.
A for ciklus szintaxisa
Íme a for ciklus szintaxisa:
for ( initialization;condition;increment ) { statement(s); }
Íme a fenti paraméterek magyarázata:
- inicializálása: Ezt a részt először és csak egyszer hajtják végre. Itt deklarálja és inicializálja a hurokvezérlő változókat. A hurokvezérlő változók egynél több is lehetnek, és értékeik minden iteráció után változnak. Értékeiket azonban az iteráció futtatása előtt ki kell értékelni.
- Állapot: Ezt a részt a következőképpen hajtják végre. A ciklustörzs végrehajtásához ennek a feltételnek igaznak kell lennie. Ha a feltétel hamis, a végrehajtás közvetlenül a ciklustörzs utáni utasításokra ugrik. Ha a feltétel az első kiértékeléskor hamis, a ciklustörzs soha nem kerül végrehajtásra.
- Növekedés: A ciklustörzs végrehajtása után a vezérlés a növekményre ugrik. Ezt a részt elhagyhatja és pontosvesszőt használhat helyette.
- Ismét az állapotot értékelik. Ha ez igaz, a ciklustörzs végrehajtásra kerül, és ez folytatódik. A hurok azonnal véget ér, ha a feltétel hamis lesz.
For Loop in C++ Példa 1
#include <iostream> using namespace std; int main() { for (int x=0; x<5; x=x+1) { cout << "X is: " << x << endl; } 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 az osztályok és az osztályok használatához funkciók felhívás nélkül.
- 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.
- For ciklus létrehozása. Az inicializálás létrehoz egy x egész változót, és 0 értéket rendel hozzá. A feltétel kimondja, hogy x értékének 5-nél kisebbnek kell lennie. A növekmény minden iteráció után 1-gyel növeli x értékét. A { jelzi a for ciklus törzsének kezdetét.
- Az x változó értékének kinyomtatása más szöveg mellett a konzolon. A endl egy C++ végsort jelentő kulcsszó. A következő iterációban a kurzor a következő sorba fog nyomtatni.
- A huroktest vége.
- 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.
For Loop in C++ Példa 2
#include <iostream> using namespace std; int main() { int x, num, factorial = 1; cout << "Type positive number: "; cin >> num; for (x = 1; x <= num; ++x) { factorial *= x; // factorial = factorial * x; } cout << "Factorial of " << num << " = " << factorial; 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.
- Egész változók, x, szám és faktoriális deklarálása. A változó faktoriális 1-es értéket kapott.
- Szöveg nyomtatása a konzolon.
- A felhasználó felkérése, hogy adjon meg egy értéket a num változóhoz.
- For ciklus létrehozása. Az inicializálás létrehoz egy egész számú x változót, és 1 értéket rendel hozzá. A feltétel kimondja, hogy x értékének kisebbnek vagy egyenlőnek kell lennie a num változó értékénél. A növekmény minden iteráció után 1-gyel növeli x értékét. A { jelzi a for ciklus törzsének kezdetét.
- A faktoriális értékének kiszámítása a faktoriális = faktoriális * x képlet segítségével.
- A huroktest vége.
- A num és a faktoriális változók értékének kinyomtatása a konzolon lévő egyéb szövegek mellé.
- 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.
Összegzésként
- A for ciklus iterálja a C++ kódot meghatározott számú alkalommal.
- A for ciklus addig fut, amíg a tesztfeltétel igaz.
- A for ciklus inicializálási része a ciklusvezérlő változók deklarálására és inicializálására szolgál.
- A for ciklus feltétel részének igaznak kell lennie ahhoz, hogy a ciklustörzs végrehajtódjon.
- A for ciklus növekményes része pontosvesszővel helyettesíthető.