C Případy spínačů

C Switch Case Statements



Příkaz switch - nebo jednoduše case case - je mechanismus toku řízení, který určuje provádění programu na základě hodnoty proměnné nebo výrazu.

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:

#zahrnout

intmain() {
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 je5

Ná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:

#zahrnout

intmain() {
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.

  1. Klíčovému slovu přepínače musíte předat výraz.
  2. Případy musí kontrolovat jedinečné hodnoty
  3. Ukončete každý blok případů pomocí klíčového slova break.
  4. Můžete vnořit více příkazů přepínače.
  5. 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.