Větvení programu

Doplňující informace

Blok příkazů

Konstrukce bloku umožňuje zapouzdřit více příkazů (a deklarací proměnných) do jednoho celku. Tento je pak možné použít jako by se jednalo o jeden příkaz. Bloků se prakticky využívá při větvení programu (větev může mít více příkazů) a při konstrukcí cyklů (cyklus složený z více příkazů).

Obecná syntaxe:

{
deklarace_1;
...
deklarace_M;
příkaz_1;
...
příkaz_N;
}

Konstrukce if

Příkaz if umožňuje zapsat v kódu příkaz (nebo blok příkazů), který se bude provádět pouze tehdy, pokud bude splněna zadaná podmínka. V příkazu lze definovat pomocí klíčového slova else také větev, jejíž příkazy se budou provádět při nesplnění podmínky. Příkaz if může být vnořen (tj. vyskytovat se v libovolné větvi jiného příkazu if).

Syntaxe jednoduchého if:

if (podmínka) příkaz

Příklad:

if (x == 0) printf("Proměnná x je nula.\n");

Syntaxe s využití větve else:

if (podmínka) příkaz_1 else příkaz_2

Příklad:

if (x > 0) printf("x je kladné\n");
else printf("x není kladné\n");

Konstrukce switch

Příkaz switch slouží k větvení programu do libovolného počtu větví v závislosti na předaném celočíselném výrazu. Jednotlivé větve tohoto příkazu se provádějí, má-li předaný výraz jim odpovídající hodnotu. Nelze zde tedy vytvářet libovolné podmínky. V konstrukci switch lze definovat také default větev, která se bude provádět, pokud výraz nenabude žádné z uvedených hodnot.

Obecná syntaxe:

switch (celočíselný_výraz){
   case konstanta_1: příkazy_1
        break;
   ...
   case konstanta_N: příkazy_N
        break;
   default: příkazy_default_větve
}

Příklad:

switch (cislo){
   case 1: printf("cislo je 1\n");
           break;
   case 2: printf("cislo je 2\n");
           break;
   default: printf("neco jineho\n");
}

Vynecháním příkazů break na konci jednotlivých větví je možné vytvořit také větev pro více hodnot daného výrazu.

Příklad:

switch (cislo){
   case 1:
   case 2: printf("cislo je 1 nebo 2\n");
           break;
   default: printf("neco jineho\n");
}

Creative Commons License Sbírka úloh z jazyka C. © Katedra informatiky Univerzity Palackého v Olomouci, 2009.
Projekt byl vytvořen za podpory grantu FRVŠ 2061/2009/G1.