C Comutați declarațiile de caz

C Switch Case Statements



O instrucțiune de comutare - sau pur și simplu o instrucțiune de caz - este un mecanism de control al fluxului care determină executarea unui program pe baza valorii unei variabile sau a unei expresii.

Utilizarea unei instrucțiuni switch vă permite să testați mai multe condiții și să executați un anumit bloc numai dacă condiția este adevărată. Deși funcționează similar cu o instrucțiune if ... else if ... .else, sintaxa este mai simplă și mai ușor de citit și de gestionat.







Acest tutorial se concentrează pe a vă arăta cum să creați și să lucrați cu instrucțiuni switch în programarea C.



Utilizare de bază

Instrucțiunea switch este ușor de implementat. Sintaxa generală este așa cum se arată mai jos:



intrerupator (expr) {
casevar1:
// cod
pauză;
casevar2:
//cod
pauză;
casevar3:
// cod
pauză;
casevarN:
// cod
pauză;
...
….
….
Mod implicit:
//cod
}

Cum functioneaza

Instrucțiunea switch implementează o logică simplă pentru a evalua fiecare dintre blocurile de cazuri.





Începe prin evaluarea expresiei din interiorul blocului de comutare. Apoi, compară valoarea din blocul de comutare cu fiecare bloc de caz.

Odată ce localizează o potrivire în interiorul unuia dintre blocurile de cazuri definite, execută codul din interiorul acelui bloc până când întâlnește cuvântul cheie break.



Dacă nu întâlnește o potrivire în niciunul dintre blocurile de majuscule definite, acesta sare la instrucțiunea implicită și execută codul din interior. Blocul implicit este opțional și poate fi omis dacă nu există nicio acțiune necesară pentru un scenariu care nu se potrivește

NOTĂ: Este bine să vă asigurați că fiecare instrucțiune de caz se termină cu o instrucțiune de pauză pentru a împiedica executarea tuturor declarațiilor după blocul de potrivire.

C Exemplu de declarație de caz de comutare

Să ilustrăm declarația switch cu un exemplu foarte simplu:

#include

principal() {
intUnde= 5;
intrerupator (Unde) {
caz3:
printf („Valoarea este 3”);
pauză;
caz4:
printf („Valoarea este 4”);
pauză;
caz5:
printf („Valoarea este 5”);
pauză;
Mod implicit:
printf („Valoarea nu este nici 3, 4, nici 5”);
}
returnare0;
}

Dacă rulăm exemplul de mai sus, ar trebui să obținem o ieșire similară cu cea de mai jos:

Valoarea este5

Următoarea diagramă de flux ilustrează logica programului de mai sus:

O declarație de comutare imbricată

C vă permite să aveți instrucțiuni de comutare imbricate într-o instrucțiune de comutare. Instrucțiunea de comutare imbricată se leagă de valoarea comutatorului exterior.

Luați în considerare următorul exemplu:

#include

principal() {
intdepartament= 5;
intaccess_code= 2028;
intrerupator (departament) {
cazul 1:
intrerupator (cod de acces) {
caz2021:
printf ('[+] Cod de acces valid!');
pauză;
Mod implicit:
printf ('[-] Cod de acces nevalid!');
}
pauză;
Mod implicit:
printf („[-] Doar Departamentul 1 este permis!”);
}
returnare0;
}

În exemplul de mai sus, implementăm două instrucțiuni switch. Primul verifică dacă departamentul furnizat este 1. Dacă este adevărat, acesta trece la următorul bloc de comutare și verifică codul de acces valid.

Dacă valoarea dept nu este una, execuția se mută la blocul implicit.

Următoarea este executarea codului de mai sus cu un dept și un cod de acces corect și incorect.

În primul exemplu, atât departamentul, cât și codul de acces sunt corecte; astfel, execuția nu atinge niciodată blocurile implicite.

În al doilea exemplu, atât departamentul, cât și codul de acces sunt incorecte; prin urmare, execuția sare imediat la primul bloc implicit.

Liniile directoare pentru declarațiile de comutare

Următoarele sunt îndrumări rapide demne de remarcat la crearea instrucțiunilor de comutare în C.

  1. Trebuie să treceți o expresie la cuvântul cheie switch.
  2. Declarațiile de caz trebuie să verifice dacă există valori unice
  3. Încheiați fiecare bloc de majuscule folosind cuvântul cheie break.
  4. Puteți cupla mai multe instrucțiuni de comutare.
  5. Puteți include o declarație implicită atunci când este necesară o acțiune pentru cazurile care nu se potrivesc.

Concluzie

Acest ghid v-a prezentat elementele de bază pentru crearea și utilizarea instrucțiunilor C switch. Declarațiile de comutare sunt utile atunci când aveți cazuri de decizie complexe care ar putea fi dificil de implementat cu declarația și if else.