logo

Vaihtolause C:ssä

Switch case -käsky arvioi tietyn lausekkeen ja suorittaa arvioidun arvon perusteella (vastaa tiettyä ehtoa) siihen liittyvät lausekkeet. Pohjimmiltaan sitä käytetään suorittamaan erilaisia ​​toimintoja eri olosuhteiden (tapausten) perusteella.

  • Vaihtotapaukset noudattavat valinta-ohjausmekanismia ja sallivat arvon muuttaa suorituksen ohjausta.
  • Ne ovat korvike pitkään jos lausunnot jotka vertaavat muuttujaa useisiin integraaliarvoihin.
  • Kytkinkäsky on monitiehaarakäsky. Se tarjoaa helpon tavan lähettää suoritus koodin eri osiin lausekkeen arvon perusteella.

C:ssä switch case -lausetta käytetään yhden ehdon suorittamiseen useista ehdoista. Se on samanlainen kuin jos-else-if-tikkaat.



valitse nimellä

Kytkinkäsky koostuu ehdollisiin tapauksista ja oletustapauksista.

Kytkimen lausekkeen syntaksi C:ssä

  switch(expression)     {     case   value1  :   statement_1;   break;     case   value2  :   statement_2;   break;   . . .   case   value_n  :   statement_n;   break;     default:   default_statement; }>

Kuinka käyttää kytkinkotelon lausuntoa C:ssä?

Ennen kuin käytämme kytkintapausta ohjelmassamme, meidän on tiedettävä joitain kytkinkäskyn sääntöjä.

Kytkimen tapauksen säännöt

Seuraavassa on joitain sääntöjä, joita meidän on noudatettava, kun käytät kytkinlausetta:



  1. Kytkimen lausunnossa tapauksen arvo täytyy olla hiiltyä ja int tyyppi.
  2. Tapauksia voi olla yksi tai N määrä.
  3. Tapauksen arvojen tulee olla ainutlaatuinen .
  4. Jokaisella tapauksen lauseella voi olla break-lause. Se on valinnainen.
  5. Oletuslausunto on myös valinnainen.

Esimerkki

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; }>

Lähtö
Case 1 is Matched.>

Miten vaihtolausunto toimii?

Kytkinkäskyn toiminta C:ssä on seuraava:

  1. Vaihe 1: Kytkinmuuttuja arvioidaan.
  2. Vaihe 2: Arvioitu arvo verrataan kaikkiin esillä oleviin tapauksiin.
  3. Vaihe 3A: Jos vastaava tapausarvo löytyy, siihen liittyvä koodi suoritetaan.
  4. Vaihe 3B: Jos vastaavaa koodia ei löydy, oletustapaus suoritetaan, jos se on olemassa.
  5. Vaihe 4A: Jos tapauksessa break-avainsana on läsnä, ohjelman ohjaus katkeaa kytkinkäskystä.
  6. Vaihe 4B: Jos break-avainsanaa ei ole, kaikki tapaukset vastaavan tapauksen jälkeen suoritetaan.
  7. Vaihe 5: Switch-lauseen jälkeiset lausekkeet suoritetaan.

Vuokaavion avulla voimme myös ymmärtää kytkinkäskyn toiminnan C:ssä.

Switch-lausunnon vuokaavio

kytkinkotelo c

C:n kytkimen lauseen vuokaavio



Katkaise kytkinkotelo

Tätä avainsanaa käytetään pysäyttämään suoritus kytkinlohkon sisällä. Se auttaa päättämään kytkinlohkon ja purkamaan siitä. Kun break-lause saavutetaan, kytkin päättyy ja ohjausvirta siirtyy kytkinkäskyä seuraavalle riville.

The break-lause on valinnainen . Jos se jätetään pois, suoritus jatkuu seuraavaan tapaukseen. Ohjausvirta jakautuu seuraaviin tapauksiin, kunnes saavutetaan tauko.

Esimerkki kytkinkotelosta ilman taukoa

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; }>

Lähtö
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Oletusarvo kytkinkotelossa

Oletusavainsanaa käytetään määrittämään joukko suoritettavat lauseet, jos kirjainkokoa ei löydy .

se on valinnainen käyttääksesi oletusavainsanaa kytkimen tapauksessa. Vaikka switch case -lauseessa ei olisi oletuskäskyä, se toimisi ilman ongelmia.

Tärkeitä seikkoja Switch-tapauslausunnoista

1. Vaihtolausekkeen pitäisi johtaa a vakioarvo

Jos kytkinkäskyssä annettu lauseke ei johda vakioarvoon, se ei ole kelvollinen. Jotkut kelvolliset lausekkeet vaihtajan kirjaimelle ovat,

java-tyyppinen muuttuja
// 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. Lausekkeen arvon tulee olla vain int tai char tyyppiä.

Switch-käsky voi arvioida vain kokonaisluvun tai merkin arvon. Joten kytkinlausekkeen pitäisi palauttaa vain int- tai char-tyypin arvot.

3. Tapausten arvojen on oltava yksilöllisiä

C switch -käskyssä kaksinkertaiset tapausarvot eivät ole sallittuja.

3. Kytkinlausuntojen sisäkkäisyys

Kytkinkäskyjen sisäkkäisyys on sallittu , mikä tarkoittaa, että sinulla voi olla kytkinlauseita toisen kytkimen sisällä. Sisäkkäisiä kytkinlauseita tulee kuitenkin välttää, koska ne tekevät ohjelmasta monimutkaisemman ja vähemmän luettavan.

4. Oletuslohko voidaan sijoittaa mihin tahansa

Sijoituksestaan ​​riippumatta oletustapaus suoritetaan vain, jos mikään muu tapauksen ehto ei täyty. Joten sen sijoittaminen alkuun, keskelle tai loppuun ei muuta ydinlogiikkaa.

Esimerkkejä C:n kytkinlausekkeesta

Esimerkki 1: C Ohjelma tulostaa viikonpäivä käyttämällä kytkinkoteloa.

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; }>

Lähtö
The day with number 2 is Tuesday>

Esimerkki 2: Yksinkertainen laskin C:n kytkinkotelolla

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; }>


Lähtö

Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>

C-kytkimen edut

  1. Helpompi lukea kuin jos muuten.
  2. Helpompi virheenkorjaus ja ylläpito useissa olosuhteissa.
  3. Nopeampi suoritusnopeus.

C-kytkinlausunnon haitat

  1. Kytkimen kirjainkoko voi arvioida vain int- tai char-tyyppiä.
  2. Ei tukea loogisille lausekkeille.
  3. Pitää muistaa lisätä tauko joka tapauksessa.

Johtopäätös

Tässä artikkelissa keskustelimme C-ohjelmoinnin kytkinlauseesta ja sen käytöstä. Se on ehdollinen lausunto, kuten jos-else-if -portaat, jolla on omat hyvät ja huonot puolensa. Se on enimmäkseen parempi, kun arvioitavien ehtojen määrä on suuri.

Usein kysytyt kysymykset C-kytkimen lausunnosta

1. Mikä on kytkinkotelo C:ssä?

Kytkintapauslauseke on vuonohjauskäsky, jossa voimme määritellä kytkinmuuttujan ja sitten suorittaa eri koodin kytkinmuuttujan arvon perusteella. Se on vaihtoehto if else if -portaille.

2. Mikä on C:n vaihtokäskyn tapaus?

Case-avainsanaa käytetään määrittämään eri tapaukset ja niihin liittyvä koodi kytkinkäskyssä.

3. Mitä kytkinkotelon rikkoutuminen tekee?

Break-avainsanaa käytetään poistumaan kytkinlohkosta vastaavan tapauksen suorittamisen jälkeen.

java pari

4. Mitä eroja on C:n kytkimen ja jos muuten tikkaiden välillä?

Seuraavat ovat tärkeimmät erot C-kytkimen ja C-kytkimen välillä, jos muuten tikkaat :

vaihtaa

jos muuten jos

Se suorittaa eri tapaukset kytkinmuuttujan arvon perusteella.Se suorittaa eri lohkot määritetyn ehdon perusteella.
Se voi arvioida vain int- tai char-tyyppisiä lausekkeita.Se voi arvioida minkä tahansa tyyppisiä ilmaisuja.
Nopeampi ja helpompi lukea useissa olosuhteissa.Se voi mennä sotkuiseksi, kun olosuhteita on paljon.

Täytyy lukea:

  • Mielenkiintoisia faktoja C:n kytkinkotelosta
  • Tulosta yksittäiset numerot sanoina käyttämättä if- tai kytkintä