Declarație de comutare în C ++ - Cum funcționează - Sintaxa și exemple

Cuprins:

Anonim

Ce este o declarație de comutare în C ++?

Instrucțiunile de caz comutare sunt o declarație controlată care este considerată ca un substitut pentru declarațiile if-else. Este o declarație de ramură multiway care oferă o modalitate de a organiza fluxul de execuție către părți de cod pe baza valorii expresiei. Într-un termen foarte de bază, o instrucțiune switch evaluează o expresie, o testează și o compară cu mai multe cazuri scrise în cod. De îndată ce se găsește o potrivire cu orice caz, controlul va intra în acel caz și va începe să execute declarațiile scrise în acel caz până la găsirea unei declarații de pauză. Imediat ce apare o instrucțiune de pauză, instrucțiunea de comutare se încheie și controlul programului iese din comutare.

Uneori se poate întâmpla ca niciun caz să nu se potrivească cu valoarea expresiei. Pentru astfel de cazuri, menționăm un caz implicit care se va executa întotdeauna în cazul în care nu se găsește nicio potrivire. Cazurile dintr-un bloc al unei instrucțiuni de comutare sunt reprezentate de diferite numere sau șiruri, care este cunoscut ca un identificator. Valoarea expresiei sau valoarea furnizată de utilizator este comparată cu aceste cazuri până la găsirea potrivirii.

Sintaxa declarației de comutare C ++

Sintaxa pentru declarația de comutare în limbajul de programare C ++ este dată mai jos-

switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;

Trebuie să aveți în vedere următoarele lucruri atunci când utilizați o declarație de comutare:

  1. Etichetele de caz pot fi un număr întreg sau un personaj și ar trebui să fie unice
  2. Etichetele carcasei se termină întotdeauna cu punct și virgulă.
  3. Chiar dacă o etichetă de caz implicită nu este obligatorie, ea poate fi cel mult una dacă este definită.
  4. Aveți nevoie de o declarație de pauză pentru a scoate controlul din buclă, altfel toate cazurile înainte ca o pauză să fie executată.
  5. Eticheta implicită a cazurilor nu are nicio poziție specifică.
  6. Instrucțiunea switch poate fi, de asemenea, cuibărită.

Organigrama declarației de comutare

Cum funcționează Switch Statement în C ++?

Să înțelegem fluxul de control prezentat în schema de mai sus pentru a obține o mai bună înțelegere a fluxului de execuție.

O expresie este transmisă cu instrucțiunea switch care este egală cu una dintre valorile cazurilor. În cazul în care valoarea nu este egală, cazul implicit este executat. Valoarea acestei expresii este apoi comparată cu identificatorul cazului sau cu primul caz. Dacă primul caz se potrivește, atunci blocul de cod asociat cu primul caz este executat. După întâlnirea pauzei, execuția se oprește și veți ieși din instrucțiunea de comutare. Cu toate acestea, dacă cazul nu se potrivește, execuția trece la următorul caz. Dacă acest caz se potrivește, atunci al doilea bloc de cod se execută altfel, fluxul verifică următorul caz într-un mod similar. În cele din urmă, dacă niciun caz nu se potrivește, atunci blocul de cod implicit este executat.

Exemple de declarații de comutare în C ++

Ne permite să vedem câteva exemple din instrucțiunea switch în C ++.

Exemplul # 1

Acest exemplu va oferi mai multă claritate cu privire la instrucțiunile switch.

#include
using namespace std;
int main () (
char grade_report = 'D';
cout << "Your performance is: " << endl;
switch(grade_report) (
case 'A' :
cout << "Outstanding Result!\n" << endl;
break;
case 'B' :
cout << "Excellent Result!\n" << endl;
break;
case 'C' :
cout << "Good Result\n" << endl;
break;
case 'D' :
cout << "Satisfying Result\n" << endl;
break;
case 'F' :
cout << "Poor Result\n" << endl;
break;
default :
cout << "You did not appear for exam\n" << endl;
)
return 0;
)

ieşire:

Performanța dvs. este: Rezultatul satisfăcător

Exemplul # 2

Acest exemplu descrie utilizarea instrucțiunii break într-un comutator. Dacă instrucțiunea de pauză nu este specificată după caz, fluxul de execuție va continua până când va întâlni instrucțiunea de pauză.

#include
using namespace std;
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
cout << "The number is 10 or 20 or 30 " << endl;
break;
case 50:
case 55:cout << "This case also executes because there is no break " << endl;
cout << "\n" << endl;
case 60:
cout << "The number is either 40 or 50 or 60" << endl;
break;
default:
cout << "The number is greater than 60" << endl; ))

ieşire:

Acest caz se execută și pentru că nu există nicio pauză
Numărul este fie 40, fie 50, fie 60

Exemplul # 3

#include
using namespace std;
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
cout << "hi" << endl;
break;
case 0:
cout << "bye" << endl;
break;
default:
cout << " Hello bye " << endl;
))

ieşire:

pa

Exemplul # 4

Declarație de comutator cuibărit

#include
using namespace std;
int main() (
int ID = 300;
int password = 1000;
cout << "Enter Your ID:\n " << endl;
scanf("%d", & ID);
switch (ID) (
case 300:
cout << "Enter your password:\n " << endl;
scanf("%d", & password);
switch (password) (
case 1000:
cout << "Welcome to the portal\n" << endl;
break;
default:
cout << "Enter correct password" << endl;
break;
)
break;
default:
cout << "Enter correct ID" << endl;
break;
))

ieşire:

Aceasta va depinde de valorile introduse de utilizator.

Rezultat 1:

Introdu ID-ul tău: 300
Introduceți parola: 1000
Bun venit pe portal

Rezultat 2:

Introdu ID-ul tău: 100
Introduceți un ID corect

Rezultat 3:

Introdu ID-ul tău: 300
Introduceți parola: 000
Introduceți parola corectă

Concluzie

Trebuie să știți că fluxul de bază și funcționalitatea instrucțiunii switch rămân aceleași în toate limbajele de programare. Diferența poate fi văzută doar în sintaxa generală bazată pe limbajul de programare utilizat.

Articole recomandate

Acesta a fost un ghid pentru declarația de comutare din C ++. Aici discutăm Conceptul, Sintaxa, Lucrul și Exemple de declarații de comutare în C ++. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Funcții cu șiruri C ++
  2. Ce este clasa de șabloane în C ++?
  3. Aplicații ale C ++ în lumea reală
  4. Ghid pentru declarația de caz în Java
  5. Ghid pentru declarația de comutare PHP