logo

Pārslēgšanas paziņojums C

Pārslēgšanās gadījuma priekšraksts novērtē doto izteiksmi un, pamatojoties uz novērtēto vērtību (atbilst noteiktam nosacījumam), izpilda ar to saistītos paziņojumus. Būtībā to izmanto, lai veiktu dažādas darbības, pamatojoties uz dažādiem apstākļiem (gadījumiem).

  • Lietu pārslēgšanas priekšraksti ievēro atlases kontroles mehānismu un ļauj vērtībai mainīt izpildes kontroli.
  • Tie ir aizstājēji ilgu laiku ja paziņojumi kas salīdzina mainīgo ar vairākām integrālvērtībām.
  • Slēdža paziņojums ir daudzvirzienu filiāles paziņojums. Tas nodrošina vienkāršu veidu, kā nosūtīt izpildi uz dažādām koda daļām, pamatojoties uz izteiksmes vērtību.

Programmā C slēdža gadījuma priekšraksts tiek izmantots, lai izpildītu vienu nosacījumu no vairākiem nosacījumiem. Tas ir līdzīgs ja-else-if kāpnēm.



atgriežot masīvu java

Slēdža priekšraksts sastāv no uz nosacījumiem balstītiem gadījumiem un noklusējuma gadījuma.

Slēdža paziņojuma sintakse valodā C

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

Kā lietot slēdža korpusa paziņojumu C valodā?

Pirms mūsu programmā izmantot slēdža gadījumu, mums ir jāzina daži slēdža priekšraksta noteikumi.

Slēdža gadījuma paziņojuma noteikumi

Tālāk ir norādīti daži noteikumi, kas mums jāievēro, izmantojot slēdža paziņojumu.



  1. Slēdža paziņojumā lietas vērtība jābūt no char un starpt veids.
  2. Var būt viens vai N gadījumu skaits.
  3. Vērtībām lietā jābūt unikāla .
  4. Katram gadījuma paziņojumam var būt pārtraukuma paziņojums. Tas nav obligāti.
  5. Noklusējuma paziņojums arī nav obligāts.

Piemērs

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

Izvade
Case 1 is Matched.>

Kā darbojas paziņojuma pārslēgšana?

Slēdža paziņojuma darbība valodā C ir šāda:

  1. 1. darbība: Slēdža mainīgais tiek novērtēts.
  2. 2. darbība: Novērtētā vērtība ir saskaņota ar visiem pašreizējiem gadījumiem.
  3. 3.A darbība: Ja tiek atrasta atbilstošā gadījuma vērtība, tiek izpildīts saistītais kods.
  4. 3.B darbība: Ja atbilstošais kods netiek atrasts, tiek izpildīts noklusējuma reģistrs, ja tāds ir.
  5. 4.A darbība: Ja lietā ir pārtraukuma atslēgvārds, programmas vadība izlaužas no slēdža priekšraksta.
  6. 4.B darbība: Ja pārtraukuma atslēgvārda nav, tiek izpildīti visi gadījumi pēc atbilstības gadījuma.
  7. 5. darbība: Tiek izpildīti paziņojumi pēc pārslēgšanas paziņojuma.

Mēs varam arī saprast slēdža priekšraksta darbību C valodā, izmantojot blokshēmu.

Slēdža paziņojuma blokshēma

slēdža korpuss c

Slēdža paziņojuma blokshēma valodā C



Pārrāvums slēdža korpusā

Šis atslēgvārds tiek izmantots, lai apturētu izpildi slēdža blokā. Tas palīdz pārtraukt slēdža bloku un izlauzties no tā. Kad tiek sasniegts pārtraukuma paziņojums, slēdzis tiek pārtraukts, un vadības plūsma pāriet uz nākamo rindiņu pēc slēdža paziņojuma.

The pārtraukuma paziņojums nav obligāts . Ja tas tiek izlaists, izpilde tiks turpināta nākamajā gadījumā. Kontroles plūsma nonāks līdz nākamajiem gadījumiem, līdz tiks sasniegts pārtraukums.

Slēdža korpusa piemērs bez pārtraukuma

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

Izvade
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Noklusējums slēdža korpusā

Noklusējuma atslēgvārds tiek izmantots, lai norādītu kopu izpildāmie paziņojumi, ja nav reģistra atbilstības .

Tas ir neobligāti lai izmantotu noklusējuma atslēgvārdu slēdža gadījumā. Pat ja slēdža gadījuma priekšrakstam nav noklusējuma priekšraksta, tas darbotos bez problēmām.

Svarīgi punkti par Switch lietas paziņojumiem

1. Pārslēgšanas izteiksmes rezultāts ir a nemainīga vērtība

Ja slēdža priekšrakstā sniegtā izteiksme nerada nemainīgu vērtību, tā nebūtu derīga. Dažas derīgas slēdža reģistra izteiksmes būs,

reakcijas tabula
// 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. Izteiksmes vērtībai ir jābūt tikai int vai char tipa.

Slēdža paziņojums var novērtēt tikai vesela skaitļa vai rakstzīmes vērtību. Tātad slēdža izteiksmei ir jāatgriež tikai int vai char veida vērtības.

3. Lieta vērtībām ir jābūt unikālām

C switch priekšrakstā nav atļauts dublēt reģistra vērtības.

3. Slēdžu paziņojumu ligzdošana

Slēdžu priekšrakstu ligzdošana ir atļauta , kas nozīmē, ka slēdža priekšraksti var būt cita slēdža iekšpusē. Tomēr ir jāizvairās no ligzdoto slēdžu priekšrakstiem, jo ​​tie padara programmu sarežģītāku un mazāk lasāmu.

4. Noklusējuma bloku var novietot jebkur

Neatkarīgi no tā izvietojuma noklusējuma gadījums tiek izpildīts tikai tad, ja nav izpildīts neviens no pārējiem gadījuma nosacījumiem. Tātad, ievietojot to sākumā, vidū vai beigās, galvenā loģika nemainās.

pretrunīga meklēšana

Slēdža paziņojuma piemēri C

1. piemērs: C Programma nedēļas dienas drukāšanai, izmantojot slēdža korpusu.

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

Izvade
The day with number 2 is Tuesday>

2. piemērs: vienkāršs kalkulators, izmantojot slēdža korpusu 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; }>


Izvade

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

C slēdža paziņojuma priekšrocības

  1. Vieglāk lasīt nekā tad, ja citādi.
  2. Vieglāk atkļūdot un uzturēt daudzos apstākļos.
  3. Ātrāks izpildes ātrums.

C slēdža paziņojuma trūkumi

  1. Slēdža reģistrs var novērtēt tikai int vai char veidu.
  2. Nav atbalsta loģiskām izteiksmēm.
  3. Jāpatur prātā, ka katrā gadījumā jāpievieno pārtraukums.

Secinājums

Šajā rakstā mēs apspriedām C programmēšanas slēdža paziņojumu un to, kā to izmantot. Tas ir nosacīts paziņojums, piemēram, ja-else-if kāpnēm, kurām ir savas priekšrocības un trūkumi. Lielākoties to dod priekšroka, ja novērtējamo nosacījumu skaits ir liels.

Bieži uzdotie jautājumi par C slēdža paziņojumu

1. Kāds ir slēdža korpuss valodā C?

Slēdža gadījuma paziņojums ir plūsmas vadības paziņojums, kurā mēs varam definēt slēdža mainīgo un pēc tam izpildīt dažādu kodu, pamatojoties uz slēdža mainīgā vērtību. Tā ir alternatīva kāpnēm.

2. Kāds ir slēdzis priekšraksts C valodā?

Case atslēgvārds tiek izmantots, lai definētu dažādus gadījumus un ar tiem saistīto kodu slēdža priekšrakstā.

3. Ko dara pārrāvums slēdža korpusā?

Pārtraukuma atslēgvārds tiek izmantots, lai izietu no slēdžu bloka pēc atbilstības gadījuma izpildes.

4. Kādas ir atšķirības starp slēdzi un ja vēl ja kāpnēm C?

Tālāk ir norādīti galvenie atšķirības starp C slēdzi un C, ja citādi, ja kāpnes :

slēdzis

ja citādi, ja

Tas izpilda dažādus gadījumus, pamatojoties uz slēdža mainīgā vērtību.Tas izpilda dažādus blokus, pamatojoties uz norādīto nosacījumu.
Tas var novērtēt tikai int vai char veida izteiksmes.Tas var novērtēt jebkura veida izteiksmi.
Ātrāk un vieglāk lasāms daudzos apstākļos.Tas var kļūt netīrs, ja ir daudz apstākļu.

Vajag izlasīt:

  • Interesanti fakti par slēdža korpusu C
  • Drukājiet atsevišķus ciparus kā vārdus, neizmantojot if vai Switch