Větvení kódu na základě vyhodnocení podmínky má základní tvar
if ( podmínka ) { příkaz1; } else { příkaz2; }
nebo pouze provedení příkazu1 (nebo posloupnosti příkazů)
if ( podmínka ) { příkaz1; }
Základní cyklem je příkaz for
, který se skládá ze tří částí a bloku příkazů, které se mají provést.
Cyklus je řízení hodnotou řídicí proměnné, která je na začátku incializována.
Cyklus je opakován dokud platí podmínka pro řídicí proměnnou (např. je menší než zvolená hodnota.
Na konci každého cyklu pak provádím změnu hodnoty řídicí proměnné.
Těmto třem částem odpovídá i syntax příkazu for
:
for ( inicializace řídicích proměnné; podmínka spuštění cyklu; změna hodnoty řídicí proměnné) { příkaz; nebo posloupnost příkazů }
Ve standardu C99 je možné deklarovat proměnnou přímo při inicializaci a použití for
cyklu může například vypadat:
for (int i = 0; i < 10; ++i) { printf("Printing this text for the %d time\n", i + 1); }
Další možností cyklu je použití příkazu while
, u kterého je nutné deklaraci a změnu hodnoty řídicí proměnné realizovat vně a uvnitř bloku cyklu.
Základní tvar while
cyklu je
while ( podmínka ) { tělo cyklu; }
a výše uvedný příklad může vypadat například
int i = 1; while ( i <= 10 ) { printf("Printing this text for the %d time\n", i); i = i + 1; }
Těla cyklu for
a while
nemusejí proběhnout ani jednou, neboť podmínka je testována před provedením těla cyklu.
Naproti tomu cyklus typu do-while
proběhne vždy alespoň jednou, neboť podmínka opakování cyklu je testována po provedení těla cyklu.
Základní tvar do-while
cyklu je
do { tělo cyklu; } while ( podmínka );
A výše uvedený příklad může například vypadat
int i = 0; do { i = i + 1; printf("Printing this text for the %d time\n", i); } while ( i < 10 );
V těle cyklu lze použít příkazy continue
a break
. Příkaz continue
ukončí vykonávání aktuálního cyklu a vyvolá vyhodnocení podmínky opakování.
Naproti tomu break
ukončuje provádění cyklu podmínky opakování a program pokračuje dalším příkazem po cyklu.
Základním “stavebním blokem” Cčkových programů jsou funkce. Základní tvar funkce je
návratova_hodnota jméno_funkce(parametry) { tělo funkce jako posloupnost příkazu return; //předpis návratu funkce případně s návratovou hodnotou }