Stavek Switch case ovrednoti dani izraz in na podlagi ovrednotene vrednosti (ki se ujema z določenim pogojem) izvede stavke, povezane z njim. V bistvu se uporablja za izvajanje različnih dejanj na podlagi različnih pogojev (primerov).
- Stavki Switch case sledijo izbirno-nadzornemu mehanizmu in omogočajo vrednosti, da spremeni nadzor nad izvajanjem.
- So nadomestek za dolgo če izjave ki primerjajo spremenljivko z več integralnimi vrednostmi.
- Stavek switch je večsmerni stavek razvejanja. Zagotavlja preprost način za pošiljanje izvajanja v različne dele kode glede na vrednost izraza.
V C se stavek switch case uporablja za izvajanje enega pogoja iz več pogojev. Podobno je lestvi če-drugače-če.
primerjava nizov v Javi
Stavek switch je sestavljen iz pogojnih primerov in privzetega primera.
Sintaksa stavka switch v C
switch(expression) { case value1 : statement_1; break; case value2 : statement_2; break; . . . case value_n : statement_n; break; default: default_statement; }>Kako uporabljati izjavo switch case v C?
Pred uporabo primera switch v našem programu moramo poznati nekaj pravil stavka switch.
Pravila izjave o preklopnem primeru
Sledi nekaj pravil, ki jih moramo upoštevati pri uporabi stavka switch:
- V izjavi o preklopu je vrednost primera mora biti od char in int vrsta.
- Primerov je lahko en ali N.
- Vrednosti v primeru morajo biti edinstveno .
- Vsak stavek primera ima lahko stavek za prekinitev. To ni obvezno.
- Privzeta izjava je tudi neobvezna.
Primer
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; }> Izhod
Case 1 is Matched.>
Kako Switch Statement deluje?
Delovanje stavka switch v C je naslednje:
- Korak 1: Spremenljivka stikala je ovrednotena.
- 2. korak: Ocenjena vrednost se primerja z vsemi trenutnimi primeri.
- Korak 3A: Če je najdena ustrezna vrednost velikih in malih črk, se izvede povezana koda.
- Korak 3B: Če ustrezna koda ni najdena, se izvede privzeti primer, če je prisoten.
- Korak 4A: Če je ključna beseda break prisotna v primeru, se krmiljenje programa prekine iz stavka switch.
- Korak 4B: Če ključna beseda break ni prisotna, se izvedejo vsi primeri za ujemajočim se primerom.
- 5. korak: Stavki po stavku switch se izvedejo.
Delovanje stavka switch v C lahko razumemo tudi z uporabo diagrama poteka.
Diagram poteka izjave Switch

Diagram poteka stavka switch v C
Zlom ohišja stikala
Ta ključna beseda se uporablja za zaustavitev izvajanja znotraj stikalnega bloka. Pomaga pri prekinitvi stikalnega bloka in izstopu iz njega. Ko je dosežen prekinitveni stavek, se preklop zaključi in tok nadzora skoči v naslednjo vrstico, ki sledi preklopnemu stavku.
The stavek break ni obvezen . Če je izpuščeno, se bo izvajanje nadaljevalo v naslednjem primeru. Tok nadzora bo prešel na naslednje primere, dokler ne bo dosežena prekinitev.
Primer ohišja stikala brez prekinitve
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; }> Izhod
Case 2 is executed. Case 3 is executed.Case 4 is executed.>
Privzeto v velikih in malih črkah
Privzeta ključna beseda se uporablja za določanje nabora stavkov za izvedbo, če ni ujemanja velikih in malih črk .
je neobvezno za uporabo privzete ključne besede v preklopnem primeru. Tudi če stavek switch case nima privzetega stavka, bi deloval brez težav.
Pomembne točke o izjavah o zamenjavi primerov
1. Izraz stikala mora imeti za posledico a konstantna vrednost
Če izraz, naveden v stavku switch, ne povzroči konstantne vrednosti, ne bi bil veljaven. Nekateri veljavni izrazi za zamenjavo velikih in malih črk bodo,
js set
// 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. Vrednost izraza mora biti samo tipa int ali char.
Stavek switch lahko ovrednoti samo celo število ali vrednost znakov. Torej mora izraz switch vrniti samo vrednosti vrste int ali char.
3. Vrednosti primerov morajo biti enolične
V stavku C switch podvojene vrednosti velikih in malih črk niso dovoljene.
3. Gnezdenje stavkov switch
Gnezdenje stavkov switch je dovoljeno , kar pomeni, da lahko imate stavke switch znotraj drugega stikala. Vendar se je treba izogibati ugnezdenim stavkom switch, saj naredijo program bolj zapleten in manj berljiv.
4. Privzeti blok lahko postavite kamor koli
Ne glede na njegovo postavitev se privzeti primer izvede le, če ni izpolnjen noben od drugih pogojev primera. Če ga torej postavite na začetek, sredino ali konec, ne spremenite osnovne logike.
Primeri izjave switch v C
Primer 1: Program C za tiskanje dneva v tednu s preklopom velikih in malih črk.
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; }> Izhod
The day with number 2 is Tuesday>
Primer 2: Enostaven kalkulator z uporabo preklopa velikih in malih črk v 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; }>
Izhod
Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>
Prednosti C switch Statement
- Lažje brati kot if else if.
- Lažje odpravljanje napak in vzdrževanje za veliko število pogojev.
- Večja hitrost izvajanja.
Slabosti izjave C switch
- Preklop velikih in malih črk lahko oceni samo vrsto int ali char.
- Ni podpore za logične izraze.
- Ne pozabite dodati premora v vsakem primeru.
Zaključek
V tem članku smo razpravljali o stavku switch v programiranju C in o tem, kako ga uporabljati. To je pogojna izjava, kot je lestvica če-drugače-če, ki ima svoje prednosti in slabosti. Večinoma je prednostna, kadar je število pogojev za ocenjevanje veliko.
Pogosta vprašanja o izjavi C switch
1. Kaj je preklopni primer v C?
Stavek preklopnega primera je stavek za nadzor toka, v katerem lahko definiramo preklopno spremenljivko in nato izvedemo drugačno kodo na podlagi vrednosti preklopne spremenljivke. Je alternativa lestvici if else if.
kako uporabljati delovno mizo mysql
2. Kakšen je primer v stavku switch v C?
Ključna beseda case se uporablja za definiranje različnih primerov in njihove povezane kode v stavku switch.
3. Kaj naredi prekinitev v ohišju stikala?
Ključna beseda break se uporablja za izhod iz stikalnega bloka po izvedbi ujemajočega se primera.
4. Kakšne so razlike med switch in if else if ladder v C?
Sledijo glavne razlike med C switch in C if else if ladder :
stikalo | če drugače če |
|---|---|
| Izvaja različne primere na podlagi vrednosti preklopne spremenljivke. | Izvaja različne bloke glede na podani pogoj. |
| Lahko samo ovrednoti izraze tipa int ali char. | Lahko oceni katero koli vrsto izražanja. |
| Hitrejše in lažje branje zaradi velikega števila pogojev. | Ko je veliko pogojev, lahko postane neurejeno. |
Morati prebrati:
- Zanimiva dejstva o preklopnem primeru v C
- Natisnite posamezne števke kot besede brez uporabe if ali Switch