Větvení programu

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");
}

cc,upol

jazykc/vetveni-programu.txt · Last modified: 2015/01/15 20:48 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0