Cykly for slouží k provádění určité skupiny příkazů po pevný, předem daný počet opakování. Cyklus for má proto smysl například při provádění několika spolu souvisejících výpočtů, při páci s elementy na obrazovce nebo při zpracování určité množiny vstupních dat.
for (inicialzace; podmínka; přírůstky) { příkazy }
inicializace | |||
Příkazy, které jsou vykonány před začátkem cyklu. V této části se inicializují proměnné. Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu. |
|||
podmínka | |||
Podmínka, je-li splněna je provedeno tělo cyklu. Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu. |
|||
přírůstky | |||
Výrazy zde uvedené se vyhodnotí po každém průchodu tělem cyklu. Nejčastěji jsou zde uvedeny výrazy měnící proměnné. Je-li zde uvedeno více výrazů musí být odděleny čárkami. Přírůstek může být i <> 1 (i záporný). Při použití přírůstku <> od 1 je důležité zkontrolovat správnost podmínky. |
|||
příkazy | |||
Posloupnost příkazů, které jsou opakovaně vykonávány podle zadaného počtu opakování. |
Příklad použití cyklu for, jež zobrazí hodnoty od 1 do 10.
for (int i = 1; i <= 10; i++) { printf("Hodnota čítače je : " + i); }
Jednotlivé části příkazu for (inicializace; podmínka; změna) je možné vynechat, středníky MUSÍ být uvedeny.
Cyklus while probíhá tak dlouho dokud jistá podmínka není splněna.
while (podmínka) { příkazy }
podmínka | |||
Podmínka opakování. Výraz podmínka musí být typu bool nebo s hodnotou, kterou lze na bool převést (čísla, ukazatele nebo objektové typy, pro které je definován vhodný přetypovací operátor). Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu. |
|||
příkazy | |||
Posloupnost příkazů, které jsou opakovaně vykonávány vstoupí-li cyklus do smyčky. |
Příklad vypisuje hodnoty do té chvíle, než je proměnná i < 0.
int i = 3 while (i > 0) { printf("Hodnota proměnné i = " + i); i- - // zmenšení hodnoty proměnné i }
Výsledkem běhu příkladu je následující výpis:
Hodnota proměnné i = 3 Hodnota proměnné i = 2 Hodnota proměnné i = 1
Cyklus do - while má podmínku na konci. To znamená, že tělo cyklu proběhne alespoň jednou. Vyhodnocení výrazu, které je součástí ukončovací podmínky cyklu, se děje vždy po provedení těla cyklu.
do { příkazy } while (podmínka);
podmínka | |||
Podmínka opakování. Výraz podmínka musí být typu bool nebo s hodnotou, kterou lze na bool převést (čísla, ukazatele nebo objektové typy, pro které je definován vhodný přetypovací operátor). Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu. |
|||
příkazy | |||
Posloupnost příkazů, které jsou opakovaně vykonávány vstoupí-li cyklus do smyčky. |
Příklad cyklu, který se vykonává, dokud je hodnota proměnné i > 10. Pokud je proměnná i > 10 již na začátku cyklu, cyklus se provede alespoň jedenkrát.
int i = 3 { printf("Hodnota proměnné i = " + i); i- - // zmenšení hodnoty proměnné i }while (i > 10)
Cyklus v předchozím příkladě se provede jedenkrát, protože hodnota proměnné
i < 10.