Оператор Switch в C ++ - Как это работает? Синтаксис и примеры

Содержание:

Anonim

Что такое оператор переключения в C ++?

Операторы switch case являются контролируемым оператором, который рассматривается как замена операторов if-else. Это многопоточный оператор ветвления, который обеспечивает способ организации потока выполнения к частям кода, основанным на значении выражения. В самом простом выражении оператор switch оценивает выражение, проверяет его и сравнивает с несколькими случаями, написанными в коде. Как только найдено совпадение с любым случаем, элемент управления войдет в этот случай и начнет выполнять операторы, написанные в этом случае, пока не будет найден оператор прерывания. Как только появляется оператор break, оператор switch завершается, и управление программой выходит из switch.

Иногда может случиться, что ни один регистр не совпадает со значением выражения. Для таких случаев мы упоминаем случай по умолчанию, который всегда будет выполняться в случае, если совпадение не найдено. Случаи в блоке оператора switch представлены различными числами или строкой, которая называется идентификатором. Значение выражения или значение, предоставленное пользователем, сравнивается с этими случаями, пока не будет найдено совпадение.

Синтаксис оператора переключения C ++

Синтаксис оператора switch в языке программирования 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;

При использовании оператора Switch необходимо помнить следующее:

  1. Метки дел могут быть целыми или символами, и они должны быть уникальными
  2. Метки дел всегда заканчиваются точкой с запятой.
  3. Хотя метка регистра по умолчанию не является обязательной, она может быть не более одной, если она определена.
  4. Вам нужен оператор break, чтобы вывести управление из цикла, иначе все случаи до прерывания будут выполнены.
  5. Метка регистра по умолчанию не имеет какой-либо конкретной позиции.
  6. Оператор switch также может быть вложенным.

Блок-схема оператора Switch

Как Switch Statement работает в C ++?

Давайте разберемся с потоком управления, изображенным на блок-схеме выше, чтобы лучше понять ход выполнения.

Выражение передается с оператором switch, равным одному из значений падежей. Если значение не равно, выполняется случай по умолчанию. Значение этого выражения затем сравнивается с идентификатором регистра или первым регистром. Если первый случай совпадает, то выполняется блок кода, связанный с первым случаем. Как только перерыв обнаружен, выполнение останавливается, и вы выходите из оператора switch. Однако, если регистр не совпадает, выполнение переходит к следующему. Если этот случай совпадает, то второй кодовый блок выполняется иначе, поток аналогичным образом проверяет следующий случай. Наконец, если ни один регистр не соответствует, выполняется блок кода по умолчанию.

Примеры оператора Switch в C ++

Давайте посмотрим на некоторые примеры оператора switch в C ++.

Пример № 1

Этот пример даст больше ясности относительно использования операторов 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;
)

Выход:

Ваше выступление: Удовлетворяющий результат

Пример № 2

В этом примере показано использование оператора break в переключателе. Если оператор break не указан после регистра, поток выполнения будет продолжаться до тех пор, пока не встретит оператор break.

#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

Вложенный оператор Switch

#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:

Введите ваш ID: 300
Введите ваш пароль: 1000
Добро пожаловать на портал

Выход 2:

Введите ваш ID: 100
Введите правильный идентификатор

Выход 3:

Введите ваш ID: 300
Введите ваш пароль: 000
Введите правильный пароль

Вывод

Вы должны знать, что основной поток и функциональность оператора switch остаются одинаковыми во всех языках программирования. Разницу можно увидеть только в общем синтаксисе, основанном на используемом языке программирования.

Рекомендуемые статьи

Это было руководство к инструкции Switch в C ++. Здесь мы обсуждаем концепцию, синтаксис, работу и примеры операторов переключения в C ++. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Строковые функции C ++
  2. Что такое шаблон класса в C ++?
  3. Приложения C ++ в реальном мире
  4. Руководство к описанию случая в Java
  5. Руководство по переключателю PHP