На занятті 4 ви познайомилися з операторами if і if / else. Однак в деяких ситуаціях застосування оператора if може привести до виникнення конструкцій з великим числом вкладень, значно ускладнюють як написання, так і сприйняття програми. Для вирішення цієї проблеми в мові C ++ передбачений оператор switch. Основною його відмінністю від оператора if є те, що він дозволяє перевіряти відразу кілька умов, в результаті чого розгалуження програми організовується більш ефективно. Синтаксис оператора switch наступний:
case ПервоеЗначеніе: оператор;
case ВтороеЗначеніе: оператор;
case Значеніе_N: оператор:
У дужках за оператором switch може використовуватися будь-який вираз, коректне з точки зору синтаксису мови. Замість ідентифікатора оператор допускається використання будь-якого оператора або виразу, а також послідовності операторів або виразів, результатом виконання яких є цілочисельне значення (або значення, яке може бути однозначно приведено до целочисленному типу). Тому використання логічних операцій або виразів порівняння тут не допускається.
Синтаксис використання оператора switch наступний:
case ПервоеЗначеніе: оператор;
case ВтороеЗначеніе: оператор;
case Значеніе_N: оператор:
Оператор switch дозволяє здійснювати розгалуження програми за результатами вираження, що повертає кілька можливих значень. Значення, повернене виразом, заданим в дужках оператора switch, порівнюється зі значеннями, зазначеними за операторами case, і в разі збігу значень виконується вираз в рядку відповідного оператора case. Будуть виконуватися всі рядки програми після обраного оператора до тих пір, поки не закінчиться тіло блоку оператора switch, або якби не зустрівся оператор break.
Якщо жодне із значень операторів case не співпаде з повернутим значенням, то виконуються рядки програми, які стоять після оператора default, в разі ж відсутності цього оператора в тілі блоку switch. управління буде передано наступної за цим блоком рядку програми.
cout <<"Zero!" < cout <<"One!" <Схожі статті