Použitie príkazu switch vám umožní otestovať viacero podmienok a vykonať konkrétny blok, iba ak je podmienka pravdivá. Aj keď to funguje podobne ako s príkazom if ... else if ... .else, syntax je jednoduchšie a čitateľnejšie a spravovateľnejšie.
Tento tutoriál sa zameriava na to, ako vám ukázať, ako vytvárať a pracovať s príkazmi prepínačov v programovaní v jazyku C.
Základné použitie
Príkaz switch je ľahko implementovateľný. Všeobecná syntax je uvedená nižšie:
prepínač (expr) {
casevar1:
// kód
prestávka;
casevar2:
// kód
prestávka;
casevar3:
// kód
prestávka;
casevarN:
// kód
prestávka;
...
….
….
predvolené:
// kód
}
Ako to funguje
Príkaz switch implementuje jednoduchú logiku na vyhodnotenie každého prípadového bloku.
Začína sa to vyhodnotením výrazu vo vnútri bloku prepínačov. Potom porovná hodnotu z bloku prepínačov s každým blokom prípadu.
Akonáhle nájde zhodu v jednom z definovaných blokov prípadu, spustí kód v tomto bloku, kým nenarazí na kľúčové slovo break.
Ak sa v žiadnom z definovaných blokov prípadu nestretne so zhodou, skočí na predvolený príkaz a spustí kód v ňom. Predvolený blok je voliteľný a vynechateľný, ak v prípade scenára, ktorý sa nezhoduje, nie je potrebná žiadna akcia
POZNÁMKA: Je dobré zaistiť, aby bol každý príkaz case ukončený príkazom break, aby sa zabránilo spusteniu všetkých príkazov po zodpovedajúcom bloku.
C Príklad vyhlásenia prípadu prepínača
Ilustrujme príkaz switch na veľmi jednoduchom príklade:
#zahrnúťintmain() {
intkde= 5;
prepínač (kde) {
prípad 3:
printf („Hodnota je 3“);
prestávka;
prípad 4:
printf („Hodnota je 4“);
prestávka;
prípad 5:
printf („Hodnota je 5“);
prestávka;
predvolené:
printf („Hodnota nie je ani 3, 4 ani 5“);
}
návrat0;
}
Ak spustíme vyššie uvedený príklad, mali by sme získať výstup podobný nižšie uvedenému:
Hodnota je5Nasledujúci vývojový diagram ilustruje logiku vyššie uvedeného programu:
Vnorené vyhlásenie o prepínači
C vám umožňuje vložiť do príkazu switch vnorené príkazy prepínača. Vnorený príkaz switch súvisí s hodnotou vonkajšieho prepínača.
Zvážte nasledujúci príklad:
#zahrnúťintmain() {
intdlh= 5;
intaccess_code= 2028;
prepínač (dlh) {
prípad 1:
prepínač (prístupový kód) {
prípad 2021:
printf ('[+] Platný prístupový kód!');
prestávka;
predvolené:
printf ('[-] Neplatný prístupový kód!');
}
prestávka;
predvolené:
printf („[-] Povolené je iba oddelenie 1!“);
}
návrat0;
}
Vo vyššie uvedenom príklade implementujeme dva príkazy prepínača. Prvý skontroluje, či je poskytnuté oddiel 1. Ak je pravdivý, pokračuje do ďalšieho bloku prepínačov a skontroluje platný prístupový kód.
Ak hĺbková hodnota nie je jedna, vykonanie sa presunie do predvoleného bloku.
Nasleduje spustenie vyššie uvedeného kódu so správnym a nesprávnym kódom PIN a prístupovým kódom.
V prvom prípade sú správny aj prístupový kód správny; vykonanie teda nikdy nedosiahne predvolené bloky.
V druhom prípade je nesprávny prístupový aj prístupový kód; vykonanie preto okamžite preskočí na prvý predvolený blok.
Pokyny pre vyhlásenia o prepínačoch
Nasledujú rýchle pokyny, ktoré je potrebné poznamenať pri vytváraní príkazov prepínača v jazyku C.
- Kľúčovému slovu prepínača musíte odovzdať výraz.
- Prípady musia kontrolovať jedinečné hodnoty
- Ukončite každý blok prípadov pomocou kľúčového slova break.
- Môžete vnoriť viacero príkazov prepínača.
- Ak je v prípade nesúladných prípadov potrebná akcia, môžete zahrnúť predvolený príkaz.
Záver
Táto príručka vás prevedie základmi vytvárania a používania príkazov prepínača C. Prepínače sú užitočné vtedy, ak máte zložité prípady rozhodovania, ktoré je ťažké implementovať pomocou príkazu a keď iného.