Čo je to slučka For?
Toto je štruktúra riadenia opakovania, ktorá nám pomáha iterovať časť kódu C ++ pevne stanovený početkrát. Cykly for prebiehajú za predpokladu, že testovací výraz je pravdivý. Smyčka ukončí vykonávanie okamžite, keď sa testovací výraz stane nepravdivým. To znamená, že pred vykonaním tela slučky v každej iterácii musí byť podmienka vyhodnotená. Ak hodnotenie vráti hodnotu true, vykoná sa telo slučky. Ak hodnotenie vráti hodnotu false, vykonanie tela slučky sa ukončí.
V tomto výučbe pre C ++ sa dozviete:
- Čo je to slučka For?
- Ako funguje slučka?
- Kedy použiť slučku for?
- Syntax slučky for
- Príklad 1
- Príklad 2
Ako funguje slučka?
Smyčka for funguje nasledovne:
Vysvetlenie vývojového diagramu:
- Kompilátor jazyka C ++ začína vyhodnotením inicializácie. Toto sa vykonáva iba raz na začiatku vykonávania.
- Testovací výraz sa vyhodnotí / vykoná.
- Ak je testovací výraz pravdivý, vykoná sa telo cyklu a testovací výraz sa aktualizuje. Ak sa výraz stane nepravdivým, cyklus for sa ukončí.
- Po vykonaní testovacieho výrazu sa vykoná prírastok, aby sa zvýšila hodnota riadiacej premennej slučky.
- Testovací výraz sa znova vyhodnotí a proces pokračuje, kým sa výraz nestane nepravdivým.
- Ak je exorícia nepravdivá, príkazy tela slučky sa preskočia.
Poznámka : Testovací výraz sa aktualizuje po každej iterácii. To znamená, že v každej iterácii sa vykonávajú rôzne hodnoty riadiacej premennej slučky.
Kedy použiť slučku for?
Smyčka for by sa mala použiť, keď:
- Máte pevný počet iterácií.
- Presný počet iterácií poznáte.
Syntax slučky for
Tu je syntax cyklu for:
for ( initialization;condition;increment ) {statement(s);}
Tu je vysvetlenie vyššie uvedených parametrov:
- Inicializácia: Táto časť sa vykoná ako prvá a iba raz. Tu deklarujete a inicializujete riadiace premenné slučky. Riadiace premenné slučky môžu byť viac ako jedna a ich hodnoty sa budú meniť po každej iterácii. Ich hodnoty však musia byť vyhodnotené pred spustením iterácie.
- Podmienka: Táto časť sa vykoná ďalej. Aby sa mohlo vykonať telo slučky, musí byť táto podmienka pravdivá. Ak je podmienka nepravdivá, vykonanie skočí na príkazy bezprostredne za telom slučky. Ak je podmienka pri prvom vyhodnotení nepravdivá, telo slučky sa nikdy nespustí.
- Prírastok: Po vykonaní tela slučky riadenie skočí na prírastok. Túto časť môžete vynechať a namiesto nej použiť bodkočiarku.
- Opäť sa vyhodnotí stav. Ak je to pravda, vykoná sa telo slučky a bude to pokračovať. Smyčka sa okamžite ukončí a podmienka sa stane nepravdivou.
Príklad 1
#includeusing namespace std;int main() {for (int x=0; x<5; x=x+1) {cout << "X is: " << x << endl;}return 0;}
Výkon:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
- Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
- Volanie funkcie main (), do ktorej by mala byť pridaná logika programu. Značka {označuje začiatok tela funkcie main ().
- Vytvára sa slučka pre. Inicializácia vytvorí celočíselnú premennú x a priradí jej hodnotu 0. Podmienka uvádza, že hodnota x musí byť menšia ako 5. Prírastok po každej iterácii zvýši hodnotu x o 1. {Označuje začiatok tela slučky for.
- Ak chcete vytlačiť hodnotu premennej x spolu s iným textom na konzole. Endl je kľúčové slovo C ++, čo znamená koncový riadok. Kurzor sa vytlačí v ďalšom riadku v nasledujúcej iterácii.
- Koniec tela slučky.
- Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
- Koniec tela hlavnej () funkcie.
Príklad 2
#includeusing 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;}
Výkon:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Vrátane súboru hlavičiek iostream v našom kóde. Umožní nám to čítať z konzoly a zapisovať do nej.
- Vrátane štandardného menného priestoru, aby bolo možné používať jeho triedy a funkcie bez jeho volania.
- Volanie funkcie main (), do ktorej by mala byť pridaná logika programu.
- Značka {označuje začiatok tela funkcie main ().
- Deklarovanie celočíselných premenných x, num a faktoriál. Premennému faktoriálu bola priradená hodnota 1.
- Tlač textu na konzole.
- Vyzývanie používateľa na zadanie hodnoty premennej č.
- Vytvára sa slučka pre. Inicializácia vytvorí celočíselnú premennú x a priradí jej hodnotu 1. Podmienka uvádza, že hodnota x musí byť menšia alebo rovná hodnote premennej num. Prírastok zvyšuje hodnotu x o 1 po každej iterácii. {Označuje začiatok tela slučky for.
- Výpočet hodnoty faktoriálu pomocou vzorca faktoriál = faktoriál * x.
- Koniec tela slučky.
- Ak chcete vytlačiť hodnotu premenných num a faktoriál spolu s ďalším textom na konzole.
- Funkcia main () by mala vrátiť hodnotu, ak program funguje dobre.
- Koniec tela hlavnej () funkcie.
Zhrnutie
- Smyčka for iteruje sekciu kódu C ++ pevne stanovený počet opakovaní.
- Smyčka for beží, pokiaľ je splnená podmienka testu.
- Inicializačná časť cyklu for slúži na deklarovanie a inicializáciu akýchkoľvek riadiacich premenných cyklu.
- Podmienková časť cyklu for musí byť pravdivá, aby sa telo cyklu mohlo vykonať.
- Prírastková časť slučky for môže byť nahradená bodkočiarkou.