Какво е изявление за превключване в C ++?
Изявленията за случай на превключване са контролирано изявление, което се разглежда като заместител на операторите if-else. Това е многостранен оператор на клон, който предоставя начин да се организира потока на изпълнение към части от код въз основа на стойността на израза. В много основен термин, превключващото изявление оценява израз, тества го и го сравнява с няколко случая, написани в кода. Щом бъде открито съвпадение с всеки случай, контролът ще влезе в този случай и ще започне да изпълнява изявленията, написани в този случай, докато не бъде намерено изявление за прекъсване. Веднага след като се появи заявка за прекъсване, операторът за превключване прекратява и програмното управление излиза от превключвателя.
Понякога може да се случи, че нито един случай не съвпада със стойността на израза. За такива случаи споменаваме случай по подразбиране, който винаги ще се изпълнява в случай, че не се намери съвпадение. Случаите в блок на оператор за превключване са представени с различни числа или низ, който е известен като идентификатор. Стойността на израза или стойността, предоставена от потребителя, се сравнява с тези случаи, докато съвпадението не бъде намерено.
Синтаксис на изявление за превключване на C ++
Синтаксисът за оператор за превключване в езика за програмиране на C ++ е даден по-долу-
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;
Трябва да имате предвид следните неща, когато използвате изявление за превключване:
- Етикетите на буквите могат да бъдат цяло число или знак и те трябва да бъдат уникални
- Етикетите на кутиите винаги завършват с точка и запетая.
- Въпреки че етикетът на регистъра по подразбиране не е задължителен, той може да бъде най-много, ако е дефиниран.
- Трябва ви декларация за прекъсване, за да извадите контрола от цикъла, в противен случай всички случаи преди прекъсването ще бъдат изпълнени.
- Етикетът на регистъра по подразбиране няма конкретна позиция.
- Операторът за превключване също може да бъде вложен.
Блок-схема на изявление за превключване
Как работи изявление за превключване в C ++?
Нека да разберем потока на контрол, изобразен в схемата на схемата по-горе, за да получим по-добро разбиране на потока на изпълнение.
Изразът се предава с командата switch, която е равна на една от стойностите на случаите. В случай че стойността не е равна, случаят по подразбиране се изпълнява. След това стойността на този израз се сравнява с идентификатора на случая или първия случай. Ако първият случай съвпада, тогава се изпълнява блокът код, свързан с първия случай. След като се установи прекъсването, изпълнението спира и ще излезете от оператора за превключване. Ако случаят обаче не съвпада, изпълнението се прехвърля към следващия случай. Ако този случай съвпада, тогава вторият код код се изпълнява по друг начин, потокът проверява следващия случай по подобен начин. И накрая, ако няма случай, тогава се изпълнява кодът по подразбиране.
Примери за превключване на заявление в C ++
Позволява ни да видим някои от примерите на оператора за превключване в C ++.
Пример №1
Този пример ще даде по-голяма яснота относно използването на оператори за превключване.
#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;
)
изход:
Вашето изпълнение е: Удовлетворяващ резултат
Пример №2
Този пример изобразява използването на отчета за прекъсване в комутатор. Ако след случая не се посочи декларацията за прекъсване, потокът на изпълнение ще продължи, докато не срещне отчета за прекъсване.
#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; ))
изход:
Този случай също се изпълнява, защото няма прекъсване
Числото е или 40, или 50, или 60
Пример №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;
))
изход:
чао
Пример №4
Съобщение за вмъкване
#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;
))
изход:
Това ще зависи от стойностите, въведени от потребителя.
Резултат 1:
Въведете своя идентификационен номер: 300
Въведете вашата парола: 1000
Добре дошли в портала
Резултат 2:
Въведете своя идентификационен номер: 100
Въведете правилен идентификационен номер
Резултат 3:
Въведете своя идентификационен номер: 300
Въведете вашата парола: 000
Въведете правилна парола
заключение
Трябва да знаете, че основният поток и функционалността на оператора за превключване остават същите във всички езици на програмиране. Разликата може да се види само в общия синтаксис въз основа на използвания език за програмиране.
Препоръчителни статии
Това е ръководство за превключване на заявление в C ++. Тук обсъждаме концепцията, синтаксиса, работата и примери за изявление за превключване в C ++. Можете да разгледате и другите ни предложени статии, за да научите повече -
- С ++ струнни функции
- Какво представлява класът на шаблоните в C ++?
- Приложения на C ++ в реалния свят
- Ръководство за декларация за случая в Java
- Ръководство за PHP изявление за превключване