cyklus while:
Příkaz while realizuje v C++ cykly s podmínkou na začátku.
while (výraz) příkaz;
While funguje tak, že se nejprve vyhodnotí výraz a pak, je-li vyhodnocen jako nenulový(true), provede se příkaz. Po jeho provedení se znovu vyhodnotí výraz a případně se znovu provede příkaz. Cyklus končí v okamžiku, kdy je podmínka vyhodnocena jako 0 (false). Příkaz se pak již neprovede a program pokračuje dalším příkazem po while.
int a=0;
while (a<10) a++; //desetkrát se provede inkrementace a.
cyklus do – while:
do příkaz1; while (výraz);
Podobný cyklu while je příkaz do – while, který ale vyhodnocuje pokračovací podmínku výraz až po provedení těla cyklu. To znamená, že minimálně jednou se tělo cyklu provede vždy.
Nejprve se provede příkaz a teprve po jeho provedení je vyhodnocen výraz podmínky. Pokud je nenulový(true), znovu se vykoná příkaz. To pokračuje až do doby, kdy je podmínka vyhodnocena jako nulová(false).
Příklad:
a=0;
do
{ printf(“ahoj\n”);
}while (a++ != 10);
cyklus for:
for (inicializační_výraz; terminální_výraz; iterační_výraz) příkaz;
příkaz for je prováděn v těchto krocích:
1. Je vyhodnocen inicializační_výraz. Ten je primárně určen pro inicializování iterační proměnné.
2. Je vyhodnocen terminální_výraz. Pokud je vyhodnocen jako 0, je vykonávání cyklu for ukončeno a pokračuje se prvním příkazem uvedeným po cyklu. Pokud je ale vyhodnocen jako nenulový, pokračuje se krokem 3.
3. Je proveden příkaz.
4. Vyhodnotí se iterační_výraz. Ten obvykle slouží ke změně(inkrementaci, dekrementaci, přičtení hodnoty, atd.) iterační proměnné.
5. Pokračuje se znovu od bodu 2.
Příklad:
int i;
for(i=0; i<5; i++) printf("%d",i);
// 5-krát se provede příkaz printf, který tiskne hodnotu proměnné i.
Jako inicializační a iterační výrazy mohou být použity výrazy jakéhokoliv typu. Terminální výraz by však měl být číselný. Je také možné vynechat libovolný z těchto výrazů. Vynecháním terminálního výrazu docílíme nekonečného cyklu, protože chybějící terminální výraz bude nahrazen nějakou nenulovou konstantou a ta nemůže být nikdy vyhodnocena jako 0.
Žádné komentáře:
Okomentovat