Príkaz Switch case vyhodnotí daný výraz a na základe vyhodnotenej hodnoty (zodpovedajúcej určitej podmienke) vykoná príkazy s ním spojené. V podstate sa používa na vykonávanie rôznych akcií na základe rôznych podmienok (prípadov).
- Príkazy Switch case sa riadia mechanizmom kontroly výberu a umožňujú hodnote zmeniť riadenie vykonávania.
- Sú dlhou náhradou ak výroky ktoré porovnávajú premennú s niekoľkými integrálnymi hodnotami.
- Príkaz switch je viaccestný príkaz vetvy. Poskytuje jednoduchý spôsob odosielania vykonávania do rôznych častí kódu na základe hodnoty výrazu.
V jazyku C sa príkaz switch case používa na vykonanie jednej podmienky z viacerých podmienok. Je to podobné ako rebrík if-else-if.
gimp odstraňuje pozadie
Príkaz switch pozostáva z podmienených prípadov a predvolených prípadov.
Syntax príkazu switch v jazyku C
switch(expression) { case value1 : statement_1; break; case value2 : statement_2; break; . . . case value_n : statement_n; break; default: default_statement; }>Ako používať príkaz prepínača v jazyku C?
Pred použitím prípadu switch v našom programe musíme vedieť o niektorých pravidlách príkazu switch.
Pravidlá príkazu switch case
Nasledujú niektoré z pravidiel, ktoré musíme dodržiavať pri používaní príkazu switch:
- V príkaze switch je hodnota prípadu musí byť z char a int typu.
- Môže existovať jeden alebo N počet prípadov.
- Hodnoty v prípade musia byť jedinečný .
- Každé vyjadrenie prípadu môže obsahovať vyhlásenie o prerušení. Je to voliteľné.
- Predvolený výpis je tiež voliteľný.
Príklad
C // C program to Demonstrate returning of day based numeric // value #include int main() { // switch variable int var = 1; // switch statement switch (var) { case 1: printf('Case 1 is Matched.'); break; case 2: printf('Case 2 is Matched.'); break; case 3: printf('Case 3 is Matched.'); break; default: printf('Default case is Matched.'); break; } return 0; }> Výkon
Case 1 is Matched.>
Ako funguje prepínač?
Fungovanie príkazu switch v C je nasledovné:
- Krok 1: Vyhodnocuje sa premenná spínača.
- Krok 2: Vyhodnotená hodnota sa porovnáva so všetkými súčasnými prípadmi.
- Krok 3A: Ak sa nájde zodpovedajúca hodnota prípadu, vykoná sa príslušný kód.
- Krok 3B: Ak sa nenájde zodpovedajúci kód, vykoná sa predvolený prípad, ak je prítomný.
- Krok 4A: Ak je v prípade prítomné kľúčové slovo break, potom sa ovládanie programu preruší z príkazu switch.
- Krok 4B: Ak kľúčové slovo break nie je prítomné, vykonajú sa všetky prípady po zhode veľkosti písmen.
- Krok 5: Vykonajú sa príkazy po príkaze switch.
Fungovanie príkazu switch v C môžeme pochopiť aj pomocou vývojového diagramu.
Vývojový diagram príkazu Switch

Vývojový diagram príkazu switch v C
Rozbitie puzdra spínača
Toto kľúčové slovo sa používa na zastavenie vykonávania v bloku prepínačov. Pomáha ukončiť blok spínača a vymaniť sa z neho. Keď sa dosiahne príkaz break, prepínač sa ukončí a tok riadenia preskočí na ďalší riadok za príkazom switch.
The príkaz break je voliteľný . Ak sa vynechá, exekúcia bude pokračovať v ďalšom prípade. Tok kontroly bude pokračovať v nasledujúcich prípadoch, kým sa nedosiahne prerušenie.
Príklad skrine spínača bez prerušenia
C // C Program to demonstrate the behaviour of switch case // without break #include int main() { int var = 2; // switch case without break switch (var) { case 1: printf('Case 1 is executed.
'); case 2: printf('Case 2 is executed.
'); case 3: printf('Case 3 is executed.'); case 4: printf('Case 4 is executed.'); } return 0; }> Výkon
Case 2 is executed. Case 3 is executed.Case 4 is executed.>
Predvolené v puzdre spínača
Predvolené kľúčové slovo sa používa na určenie množiny príkazy, ktoré sa majú vykonať, ak neexistuje zhoda veľkých a malých písmen .
to je voliteľné použiť predvolené kľúčové slovo v prípade prepínača. Aj keď príkaz switch case nemá predvolený príkaz, fungoval by bez problémov.
Dôležité body týkajúce sa vyhlásení o puzdre Switch
1. Prepnúť výraz by mal mať za následok a konštantná hodnota
Ak výraz uvedený v príkaze switch nevedie ku konštantnej hodnote, nebude platný. Niektoré platné výrazy pre prípad prepínania budú,
koľko rokov má kylie jenner
// Constant expressions allowed switch(1+2+23) switch(1*2+3%4) // Variable expression are allowed provided // they are assigned with fixed values switch(a*b+c*d) switch(a+b+c)>
2. Hodnota výrazu by mala byť iba typu int alebo char.
Príkaz switch dokáže vyhodnotiť iba celočíselné alebo znakové hodnoty. Takže výraz prepínača by mal vrátiť iba hodnoty typu int alebo char.
3. Hodnoty prípadu musia byť jedinečné
V príkaze C switch nie sú povolené duplicitné hodnoty veľkosti písmen.
3. Vnorenie príkazov switch
Vkladanie príkazov switch je povolené , čo znamená, že príkazy switch môžete mať v inom prepínači. Mali by ste sa však vyhnúť vnoreným príkazom prepínača, pretože to robí program zložitejším a menej čitateľným.
4. Predvolený blok môže byť umiestnený kdekoľvek
Bez ohľadu na jeho umiestnenie sa predvolený prípad vykoná iba vtedy, ak nie je splnená žiadna z ostatných podmienok prípadu. Takže jeho umiestnenie na začiatok, stred alebo koniec nemení základnú logiku.
Príklady príkazu switch v C
Príklad 1: C Program na tlač dňa v týždni pomocou spínacieho puzdra.
C // C program to print the day using switch #include // Driver Code int main() { int day = 2; printf('The day with number %d is ', day); switch (day) { case 1: printf('Monday'); break; case 2: printf('Tuesday'); break; case 3: printf('Wednesday'); break; case 4: printf('Thursday'); break; case 5: printf('Friday'); break; case 6: printf('Saturday'); break; case 7: printf('Sunday'); break; default: printf('Invalid Input'); break; } return 0; }> Výkon
The day with number 2 is Tuesday>
Príklad 2: Jednoduchá kalkulačka používajúca puzdro spínača v jazyku C
C // C Program to create a simple calculator using switch // statement #include #include // driver code int main() { // switch variable char choice; // operands int x, y; while (1) { printf('Enter the Operator (+,-,*,/)
Enter x to ' 'exit
'); scanf(' %c', &choice); // for exit if (choice == 'x') { exit(0); } printf('Enter the two numbers: '); scanf('%d %d', &x, &y); // switch case with operation for each operator switch (choice) { case '+': printf('%d + %d = %d
', x, y, x + y); break; case '-': printf('%d - %d = %d
', x, y, x - y); break; case '*': printf('%d * %d = %d
', x, y, x * y); break; case '/': printf('%d / %d = %d
', x, y, x / y); break; default: printf('Invalid Operator Input
'); } } return 0; }>
Výkon
Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>
Výhody C switch Statement
- Ľahšie sa číta, ako keby.
- Jednoduchšie ladenie a údržba pre veľké množstvo podmienok.
- Vyššia rýchlosť vykonávania.
Nevýhody C switch Statement
- Switch case dokáže vyhodnotiť iba typ int alebo char.
- Žiadna podpora logických výrazov.
- Treba mať na pamäti, že v každom prípade treba pridať prestávku.
Záver
V tomto článku sme diskutovali o príkaze switch v programovaní C a o tom, ako ho používať. Je to podmienené vyhlásenie ako rebrík if-else-if, ktorý má svoje výhody a nevýhody. Väčšinou sa uprednostňuje, keď je počet podmienok na vyhodnotenie veľký.
Často kladené otázky o prepínači C
1. Aký je prípad spínača v C?
Príkaz switch case je príkaz na riadenie toku, v ktorom môžeme definovať premennú prepínača a potom vykonať iný kód na základe hodnoty premennej prepínača. Je to alternatíva rebríka if else if.
2. Aký je prípad príkazu switch v jazyku C?
Kľúčové slovo case sa používa na definovanie rôznych prípadov a ich pridruženého kódu v príkaze switch.
3. Čo robí prerušenie skrinky spínača?
Kľúčové slovo break sa používa na ukončenie prepínacieho bloku po vykonaní zhody veľkých a malých písmen.
4. Aké sú rozdiely medzi prepínačom a rebríkom v C?
Nasledujú hlavné rozdiely medzi C prepínačom a C ak inak ako rebrík :
prepínač ako sťahovať videá z youtube vlc | ak inak ak |
|---|---|
| Vykonáva rôzne prípady na základe hodnoty premennej prepínača. | Vykonáva rôzne bloky na základe špecifikovanej podmienky. |
| Môže vyhodnotiť iba výrazy typu int alebo char. | Dokáže vyhodnotiť akýkoľvek typ výrazu. |
| Rýchlejšie a ľahšie čitateľné pre veľký počet podmienok. | Môže to byť chaotické, keď je veľa podmienok. |
Musíte prečítať:
- Zaujímavé fakty o Switch Case v C
- Vytlačte jednotlivé číslice ako slová bez použitia if alebo Switch