====== Cyklus for ====== Pro zápis cyklu s řídící proměnnou nám slouží syntaktická struktura s názvem **for**. Typickým použitím cyklu for je procházení hodnot v definovaných mezích. (zdola-nahoru, shora-dolů) Cyklus for se skládá z několika částí: * hlavička * inicializační část - deklaruje/definuje řídící proměnnou * podmínka cyklu * aktualizační část - aktualizuje hodnotu řídící proměnné * tělo cyklu - vlastní příkaz, nebo blok kódu, který se bude vykonávat ===== Syntaxe cyklu for ===== // S jedním příkazem v těle for (inicializace; podminka; aktualizace) prikaz; // S blokem příkazů v těle for (inicializace; podminka; aktualizace) { prikaz1; prikaz2; //... } ==== Poznámky ==== * Při zachování středníků se dá libovolná část hlavičky vynechat - //vyzkoušejte efekt// * Podmínka cyklu nemusí být platná už před první iterací. Cyklus pak nevykoná ani jednu iteraci. * Cykly while a for se dají mezi sebou navzájem transformovat. * Při použití operátoru //čárka//, lze v libovolné části hlacičky vykonávat více operací. //[[https://en.wikipedia.org/wiki/Comma_operator|Comma operator]]// ===== Průběh cyklu for ===== - **inicializační část** - **ověření podmínky** - podmínka platí - **vykonání těla cyklu** - **aktualizační část** - opakuj krok 2. - podmínka neplatí - **konec cyklu** ===== Ukázky ===== ==== Výpis čísel od 1 do 10 pomocí cyklu for ==== for (int cislo = 1; cislo <= 10; cislo++) printf("%d\n", cislo); ==== Ekvivalentní výpis čísel od 1 do 10 pomocí cyklu while ==== int cislo = 1; // Inicializační část while (cislo <= 10) // Podmínka cyklu { printf("%d\n", cislo); // Příkaz cyklu cislo++; // Aktualizační část } ==== Vypsání prvků pole o kapacitě 42 ==== double pole[42] = {}; // inicializace prvků pole for (int i = 0; i < 42; i++) { printf("%f", pole[i]); if (i != 41) printf(", "); } putchar('\n');