Pomocí příkazu switch můžete otestovat více podmínek a spustit konkrétní blok, pouze pokud je podmínka pravdivá. Ačkoli to funguje podobně jako příkaz if ... else if ... .else, syntaxe je jednodušší a snáze se čte a spravuje.
Tento tutoriál se zaměřuje na to, jak vám ukázat, jak vytvářet a pracovat s příkazy přepínače v programování v jazyce C.
Základní použití
Příkaz switch je snadno implementovatelný. Obecná syntaxe je uvedena níže:
přepínač (expr) {
casevar1:
// kód
přestávka;
casevar2:
//kód
přestávka;
casevar3:
// kód
přestávka;
casevarN:
// kód
přestávka;
...
….
….
výchozí:
//kód
}
Jak to funguje
Příkaz switch implementuje jednoduchou logiku pro vyhodnocení každého bloku případů.
Začíná vyhodnocením výrazu uvnitř bloku přepínačů. Potom porovná hodnotu z bloku přepínačů s každým blokem případu.
Jakmile vyhledá shodu uvnitř jednoho z definovaných bloků případu, spustí kód uvnitř tohoto bloku, dokud nenarazí na klíčové slovo break.
Pokud nenarazí na shodu v žádném z definovaných bloků případu, skočí na výchozí příkaz a spustí kód uvnitř něj. Výchozí blok je volitelný a lze jej vynechat, pokud pro neodpovídající scénář neexistuje požadovaná akce
POZNÁMKA: Je dobré zajistit, aby každý příkaz case byl ukončen příkazem break, aby se zabránilo provádění všech příkazů po odpovídajícím bloku.
C Příklad příkazu k přepnutí
Pojďme si ilustrovat příkaz switch na velmi jednoduchém příkladu:
#zahrnoutintmain() {
intkde= 5;
přepínač (kde) {
případ 3:
printf („Hodnota je 3“);
přestávka;
případ 4:
printf („Hodnota je 4“);
přestávka;
případ 5:
printf („Hodnota je 5“);
přestávka;
výchozí:
printf („Hodnota není ani 3, 4 ani 5“);
}
návrat0;
}
Pokud spustíme výše uvedený příklad, měli bychom získat výstup podobný tomu níže:
Hodnota je5Následující vývojový diagram ilustruje logiku výše uvedeného programu:
Vnořené prohlášení o přepínači
C umožňuje mít vnořené příkazy switch uvnitř příkazu switch. Vnořený příkaz switch souvisí s hodnotou vnějšího přepínače.
Zvažte následující příklad:
#zahrnoutintmain() {
intodd= 5;
intaccess_code= 2028;
přepínač (odd) {
případ 1:
přepínač (přístupový kód) {
případ 2021:
printf ('[+] Platný přístupový kód!');
přestávka;
výchozí:
printf ('[-] Neplatný přístupový kód!');
}
přestávka;
výchozí:
printf ('[-] Pouze oddělení 1 je povoleno!');
}
návrat0;
}
Ve výše uvedeném příkladu implementujeme dva příkazy přepínače. První zkontroluje, zda je poskytnuté oddělení 1. Je -li true, pokračuje do dalšího bloku přepínačů a zkontroluje platný přístupový kód.
Pokud hodnota oddělení není jedna, provedení se přesune do výchozího bloku.
Následuje provedení výše uvedeného kódu se správným a nesprávným kódem oddělení a přístupovým kódem.
V prvním příkladu je správný jak přístupový kód, tak i přístupový kód; provedení tedy nikdy nedosáhne výchozích bloků.
Ve druhém příkladu jsou nesprávný přístupový i přístupový kód; provedení tedy okamžitě přeskočí na první výchozí blok.
Pokyny pro prohlášení o přepínačích
Následující jsou rychlé pokyny, které stojí za zmínku při vytváření příkazů přepínače v C.
- Klíčovému slovu přepínače musíte předat výraz.
- Případy musí kontrolovat jedinečné hodnoty
- Ukončete každý blok případů pomocí klíčového slova break.
- Můžete vnořit více příkazů přepínače.
- Pokud je v případě neodpovídajících případů nutná akce, můžete zahrnout výchozí příkaz.
Závěr
Tato příručka vás provedla základy vytváření a používání příkazů C switch. Přepínací příkazy jsou užitečné, pokud máte složité rozhodovací případy, které mohou být obtížně implementovatelné pomocí příkazu a if else.