logo

Declarația Switch în C

Declarația Switch case evaluează o expresie dată și pe baza valorii evaluate (care se potrivește cu o anumită condiție), execută instrucțiunile asociate acesteia. Practic, este folosit pentru a efectua diferite acțiuni bazate pe diferite condiții (cazuri).

  • Declarațiile switch case urmează un mecanism de control al selecției și permit unei valori să schimbe controlul execuției.
  • Sunt un înlocuitor pentru mult timp declaraţii dacă care compară o variabilă cu mai multe valori integrale.
  • Instrucțiunea switch este o instrucțiune de ramură cu mai multe căi. Oferă o modalitate ușoară de a trimite execuția către diferite părți ale codului pe baza valorii expresiei.

În C, instrucțiunea switch case este folosită pentru a executa o condiție din mai multe condiții. Este similară cu o scară dacă-altfel-dacă.



care este dimensiunea ecranului monitorului meu

Declarația switch constă din cazuri bazate pe condiții și un caz implicit.

Sintaxa instrucțiunii switch în C

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

Cum se utilizează declarația switch case în C?

Înainte de a folosi cazul switch în programul nostru, trebuie să știm despre unele reguli ale instrucțiunii switch.

Regulile declarației switch case

Iată câteva dintre regulile pe care trebuie să le respectăm când folosim instrucțiunea switch:



  1. Într-o declarație switch, the valoarea cazului trebuie să fie de char și int tip.
  2. Poate fi unul sau N număr de cazuri.
  3. Valorile din carcasă trebuie să fie unic .
  4. Fiecare instrucțiune a cazului poate avea o declarație break. Este optional.
  5. Declarația implicită este, de asemenea, opțională.

Exemplu

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

Ieșire
Case 1 is Matched.>

Cum funcționează Declarația Switch?

Funcționarea instrucțiunii switch în C este după cum urmează:

  1. Pasul 1: Variabila de comutare este evaluată.
  2. Pasul 2: Valoarea evaluată este comparată cu toate cazurile prezente.
  3. Pasul 3A: Dacă se găsește valoarea casei potrivite, se execută codul asociat.
  4. Pasul 3B: Dacă codul potrivit nu este găsit, atunci cazul implicit este executat dacă este prezent.
  5. Pasul 4A: Dacă cuvântul cheie break este prezent în caz, atunci controlul programului iese din instrucțiunea switch.
  6. Pasul 4B: Dacă cuvântul cheie break nu este prezent, atunci sunt executate toate cazurile după literele de potrivire.
  7. Pasul 5: Instrucțiunile după instrucțiunea switch sunt executate.

De asemenea, putem înțelege funcționarea instrucțiunii switch în C folosind diagrama flux.

Diagrama de flux a declarației Switch

carcasa comutatorului în c

Diagrama de flux a instrucțiunii switch în C



Rupere în carcasa comutatorului

Acest cuvânt cheie este folosit pentru a opri execuția în interiorul unui bloc de comutare. Ajută la terminarea blocului de comutare și la ieșirea din acesta. Când se ajunge la o instrucțiune break, comutatorul se termină și fluxul de control sare la următoarea linie după instrucțiunea switch.

The Instrucțiunea break este opțională . Dacă este omisă, execuția va continua în cazul următor. Fluxul de control va trece în cazurile ulterioare până când se ajunge la o pauză.

Exemplu de carcasă întrerupător fără întrerupere

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

Ieșire
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Implicit în carcasa comutatorului

Cuvântul cheie implicit este folosit pentru a specifica setul de instrucțiuni de executat dacă nu există potrivire cu majuscule .

Este opțional pentru a utiliza cuvântul cheie implicit într-un caz de comutare. Chiar dacă instrucțiunea switch case nu are o instrucțiune implicită, ar rula fără nicio problemă.

Puncte importante despre declarațiile Switch Case

1. Schimbarea expresiei ar trebui să aibă ca rezultat a valoare constantă

Dacă expresia furnizată în instrucțiunea switch nu are ca rezultat o valoare constantă, aceasta nu ar fi validă. Unele expresii valide pentru caz de comutare vor fi,

citește fișierul excel în java
// 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. Valoarea expresiei ar trebui să fie doar de tip int sau char.

Instrucțiunea switch poate evalua doar valoarea întregului sau caracterului. Deci expresia switch ar trebui să returneze numai valorile de tip int sau char.

3. Valorile cazului trebuie să fie unice

În instrucțiunea C switch, nu sunt permise valorile case duplicat.

3. Imbricarea instrucțiunilor switch

Imbricarea instrucțiunilor switch este permisă , ceea ce înseamnă că puteți avea instrucțiuni switch în interiorul altui switch. Cu toate acestea, instrucțiunile switch imbricate ar trebui evitate, deoarece fac programul mai complex și mai puțin lizibil.

4. Blocul implicit poate fi plasat oriunde

Indiferent de plasarea sa, cazul implicit este executat numai dacă nici una dintre celelalte condiții de caz nu este îndeplinită. Deci, punerea lui la început, la mijloc sau la sfârșit nu schimbă logica de bază.

sunt cântăreți

Exemple de instrucțiune switch în C

Exemplul 1: C Programează pentru a tipări ziua săptămânii utilizând o carcasă de comutare.

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

Ieșire
The day with number 2 is Tuesday>

Exemplul 2: Calculator simplu folosind majusculele comutatoare în 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; }>


Ieșire

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

Avantajele Declarației C switch

  1. Mai ușor de citit decât dacă altfel dacă.
  2. Mai ușor de depanat și întreținut pentru un număr mare de condiții.
  3. Viteză de execuție mai mare.

Dezavantajele instrucțiunii C switch

  1. Switch case poate evalua doar tipul int sau char.
  2. Nu există suport pentru expresii logice.
  3. Trebuie să rețineți că adăugați o pauză în fiecare caz.

Concluzie

În acest articol, am discutat despre declarația switch în programarea C și despre cum să o folosim. Este o declarație condiționată precum scara dacă-altfel-dacă, având propriile merite și demerite. Este de preferat atunci când numărul de condiții de evaluat este mare.

Întrebări frecvente despre declarația C switch

1. Care este carcasa comutatorului în C?

Declarația switch case este o instrucțiune de control al fluxului în care putem defini o variabilă switch și apoi executam un cod diferit în funcție de valoarea variabilei switch. Este o alternativă la scară if else if.

2. Care este cazul în instrucțiunea switch din C?

Cuvântul cheie case este folosit pentru a defini diferitele cazuri și codul asociat acestora în instrucțiunea switch.

3. Ce face ruptura din carcasa comutatorului?

Cuvântul cheie break este folosit pentru a ieși din blocul de comutare după executarea majusculei potrivite.

4. Care sunt diferențele dintre comutator și if else if scară în C?

Următoarele sunt principalele diferențele dintre C comutator și C dacă altfel dacă scară :

intrerupator

dacă altfel dacă

Execută diferitele cazuri pe baza valorii variabilei de comutare.Execută diferitele blocuri în funcție de condiția specificată.
Poate evalua doar expresiile de tip int sau char.Poate evalua orice tip de expresie.
Mai rapid și mai ușor de citit pentru numărul mare de condiții.Poate deveni dezordonat atunci când sunt multe condiții.

Trebuie citit:

  • Fapte interesante despre Switch Case în C
  • Imprimați cifrele individuale ca cuvinte fără a utiliza if sau Switch