logo

Perjungimo pareiškimas C

Keitimo didžiųjų raidžių sakinys įvertina nurodytą išraišką ir pagal įvertintą reikšmę (atitinkančią tam tikrą sąlygą) vykdo su ja susijusius teiginius. Iš esmės jis naudojamas įvairiems veiksmams atlikti pagal skirtingas sąlygas (atvejus).

  • Perjungti didžiųjų raidžių sakinius vadovaujasi pasirinkimo valdymo mechanizmu ir leidžia vertei pakeisti vykdymo valdymą.
  • Jie ilgą laiką yra pakaitalas jei pareiškimai kurie lygina kintamąjį su keliomis integralinėmis reikšmėmis.
  • Komutatoriaus teiginys yra daugiakryptis šakinis sakinys. Tai yra paprastas būdas nukreipti vykdymą į skirtingas kodo dalis pagal išraiškos vertę.

C kalboje perjungimo atvejo sakinys naudojamas vienai sąlygai iš kelių sąlygų vykdyti. Tai panašu į jei-kitaip-jei kopėčias.



skaitymas iš csv failo java

Perjungimo sakinį sudaro sąlyginiai atvejai ir numatytasis atvejis.

Jungiklio teiginio sintaksė C

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

Kaip naudoti jungiklio korpuso pareiškimą C?

Prieš naudodami jungiklio atvejį savo programoje, turime žinoti kai kurias jungiklio teiginio taisykles.

Jungiklio atvejo pareiškimo taisyklės

Toliau pateikiamos kelios taisyklės, kurių turime laikytis naudodami jungiklio teiginį:



  1. Komutatoriaus pareiškime atvejo vertė turi būti iš char ir tarpt tipo.
  2. Gali būti vienas arba N atvejų skaičius.
  3. Reikšmės byloje turi būti Unikalus .
  4. Kiekvienas atvejo teiginys gali turėti pertraukos teiginį. Tai neprivaloma.
  5. Numatytasis pareiškimas taip pat neprivalomas.

Pavyzdys

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

Išvestis
Case 1 is Matched.>

Kaip veikia pareiškimo perjungimas?

Komutatoriaus teiginio C veikimas yra toks:

  1. 1 žingsnis: Įvertinamas jungiklio kintamasis.
  2. 2 žingsnis: Įvertinta vertė yra suderinta su visais dabartiniais atvejais.
  3. 3A veiksmas: Jei randama atitinkama raidžių reikšmė, vykdomas susietas kodas.
  4. 3B veiksmas: Jei atitinkantis kodas nerastas, vykdomas numatytasis atvejis, jei yra.
  5. 4A veiksmas: Jei atvejis yra pertraukos raktinis žodis, programos valdymas išeina iš jungiklio teiginio.
  6. 4B veiksmas: Jei pertraukos raktinio žodžio nėra, tada vykdomi visi atvejai po atitikimo atvejo.
  7. 5 veiksmas: Vykdomi teiginiai po perjungimo teiginio.

Taip pat galime suprasti jungiklio teiginio veikimą C kalboje naudodami struktūrinę schemą.

Perjungimo pareiškimo schema

jungiklio korpusas c

Jungiklio teiginio schema C



Pertrauka jungiklio korpusą

Šis raktinis žodis naudojamas jungiklio bloko vykdymui sustabdyti. Tai padeda nutraukti jungiklio bloką ir iš jo išeiti. Pasiekus pertraukos sakinį, jungiklis baigiasi, o valdymo srautas peršoka į kitą eilutę po jungiklio sakinio.

The pertraukos teiginys yra neprivalomas . Jei praleista, vykdymas bus tęsiamas kitu atveju. Kontrolės srautas pateks į kitus atvejus, kol bus pasiekta pertrauka.

Jungiklio korpuso pavyzdys be pertraukos

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

Išvestis
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Numatytasis jungiklio korpuse

Numatytasis raktinis žodis naudojamas rinkiniui nurodyti teiginiai, kuriuos reikia vykdyti, jei nėra sutapimo .

tai yra neprivaloma jei norite naudoti numatytąjį raktinį žodį jungiklio didžiojoje raidėje. Net jei perjungimo atvejo sakinyje nėra numatytojo sakinio, jis veiktų be jokių problemų.

Svarbūs punktai apie „Switch Case“ pareiškimus

1. Perjungimo išraiška turėtų sukelti a pastovią vertę

Jei jungiklio sakinyje pateikta išraiška nesukuria pastovios reikšmės, ji negaliotų. Kai kurios tinkamos jungiklio raidžių išraiškos bus

testavimas ir testavimo tipai
// 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. Išraiškos reikšmė turi būti tik int arba char tipo.

Komutatoriaus teiginys gali įvertinti tik sveikojo skaičiaus arba simbolio reikšmę. Taigi jungiklio išraiška turėtų grąžinti tik int arba char tipo reikšmes.

3. Atvejų reikšmės turi būti unikalios

C switch teiginyje dubliuoti didžiųjų ir mažųjų raidžių reikšmes neleidžiama.

3. Perjungimo teiginių įdėjimas

Leidžiamas jungiklio teiginių įdėjimas , o tai reiškia, kad jungiklio teiginius galite turėti kitame jungiklyje. Tačiau reikėtų vengti įdėtų jungiklių teiginių, nes dėl jų programa tampa sudėtingesnė ir mažiau skaitoma.

4. Numatytąjį bloką galima įdėti bet kur

Neatsižvelgiant į jo vietą, numatytasis atvejis vykdomas tik tuo atveju, jei neįvykdoma jokia kita atvejo sąlyga. Taigi, įtraukus jį į pradžią, vidurį ar pabaigą, pagrindinė logika nekeičiama.

Perjungimo pareiškimo pavyzdžiai C

1 pavyzdys: C Programa spausdinti savaitės dieną naudojant jungiklio dėklą.

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

Išvestis
The day with number 2 is Tuesday>

2 pavyzdys: paprastas skaičiuotuvas, naudojant jungiklio korpusą 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; }>


Išvestis

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

C jungiklio pareiškimo pranašumai

  1. Lengviau skaityti, nei jei kitaip.
  2. Lengviau derinti ir prižiūrėti esant daugeliui sąlygų.
  3. Greitesnis vykdymo greitis.

C jungiklio pareiškimo trūkumai

  1. Jungiklio didžioji raidė gali įvertinti tik int arba char tipą.
  2. Nepalaikoma loginių išraiškų.
  3. Reikia nepamiršti kiekvienu atveju pridėti pertrauką.

Išvada

Šiame straipsnyje aptarėme C programavimo jungiklio teiginį ir kaip jį naudoti. Tai sąlyginis teiginys, kaip ir jei-kitaip-jei kopėčios, turinčios savų privalumų ir trūkumų. Tai dažniausiai teikiama, kai vertinamų sąlygų yra daug.

DUK apie C jungiklio pareiškimą

1. Kas yra jungiklio korpusas C?

Komutatoriaus atvejo sakinys yra srauto valdymo sakinys, kuriame galime apibrėžti jungiklio kintamąjį ir tada vykdyti skirtingą kodą pagal jungiklio kintamojo reikšmę. Tai alternatyva, jei kitaip, jei kopėčios.

2. Kas yra perjungimo sakinyje C?

Raktinis atvejis naudojamas apibrėžti skirtingus atvejus ir su jais susijusį kodą perjungimo sakinyje.

3. Ką daro pertrauka jungiklio korpuse?

Pertraukos raktinis žodis naudojamas išeiti iš perjungimo bloko, įvykdžius atitikimo atvejį.

netinkamai slenka pelės ratukas

4. Kuo skiriasi jungiklis ir jei kitaip, jei kopėčios C?

Toliau pateikiami pagrindiniai skirtumai tarp C jungiklio ir C, jei kitaip, jei kopėčios :

jungiklis

jei kitaip jei

Jis vykdo skirtingus atvejus pagal jungiklio kintamojo vertę.Jis vykdo skirtingus blokus pagal nurodytą sąlygą.
Jis gali įvertinti tik int arba char tipo išraiškas.Jis gali įvertinti bet kokio tipo išraišką.
Greitesnis ir lengviau skaitomas esant daugybei sąlygų.Tai gali būti netvarkinga, kai yra daug sąlygų.

Privaloma perskaityti:

  • Įdomūs faktai apie jungiklio korpusą C
  • Spausdinkite atskirus skaitmenis kaip žodžius nenaudodami if arba jungiklio