User manual
68
4.4.6. Switch – Case
Často budeme muset porovnávat proměnnou s velkým množstvím různých hodnot a na základě
výsledku porovnání rozhodnout o dalším provádění programu. Samozřejmě můžeme použít
větší počet podmíněných příkazů if – then – else, ale programovací jazyk C nabízí mnohem
elegantnější metodu pomocí konstrukce switch – else.
Malý příklad:
Tento úryvek programu funguje docela podobně jako předchozí příklad podmíněné struktury
“ifelse – if –else – if – else...”, ale nyní místo ní použijeme větvení case. Je zde jeden základní
rozdíl – pokud je jedna z podmínek pravdivá, provedou se všechny následující případy větvení
case. Pokud nechcete takové chování – jednoduše přidáte instrukci “break” a v tomto místě se
opustí konstrukce switch – case.
Výstup předchozího příkladu by měl vypadat takto (pří výchozí hodnotě x = 3):
x=3
Hello
over
there!
Nastavením x = 1 bude výsledný výstup “x=1\n” a při x = 5 bude výsledek:
over
there!
Nyní jste již možná pochopili, že instrukce “break” ukončí větvení case, program brouzdá přes
následující příkazy, dokud se neobjeví konec konstrukce switch nebo další “break”.
Pokud nastavíme hodnotu x = 7, nebude žádné větvení pravdivé. Program nyní provede větvení
“default”, které má za výsledek výstup: "The value of x is something else!\n".
Textový výstup je samozřejmě pouhý příklad, reálné programy však mohou tyto konstrukce
používat pro vytvoření řady odlišných pohybů robota. Několik ukázkových programů na použití
konstrukce switch – case je uvedeno při realizaci konečných stavových automatů
k implementaci jednoduchého chování základní jednotky robotu.










