logo

Stavek Switch v C

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:



  1. V izjavi o preklopu je vrednost primera mora biti od char in int vrsta.
  2. Primerov je lahko en ali N.
  3. Vrednosti v primeru morajo biti edinstveno .
  4. Vsak stavek primera ima lahko stavek za prekinitev. To ni obvezno.
  5. 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:

  1. Korak 1: Spremenljivka stikala je ovrednotena.
  2. 2. korak: Ocenjena vrednost se primerja z vsemi trenutnimi primeri.
  3. Korak 3A: Če je najdena ustrezna vrednost velikih in malih črk, se izvede povezana koda.
  4. Korak 3B: Če ustrezna koda ni najdena, se izvede privzeti primer, če je prisoten.
  5. Korak 4A: Če je ključna beseda break prisotna v primeru, se krmiljenje programa prekine iz stavka switch.
  6. Korak 4B: Če ključna beseda break ni prisotna, se izvedejo vsi primeri za ujemajočim se primerom.
  7. 5. korak: Stavki po stavku switch se izvedejo.

Delovanje stavka switch v C lahko razumemo tudi z uporabo diagrama poteka.

Diagram poteka izjave Switch

zamenjati primer v c

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

  1. Lažje brati kot if else if.
  2. Lažje odpravljanje napak in vzdrževanje za veliko število pogojev.
  3. Večja hitrost izvajanja.

Slabosti izjave C switch

  1. Preklop velikih in malih črk lahko oceni samo vrsto int ali char.
  2. Ni podpore za logične izraze.
  3. 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