Оператор множинного вибору switch

Часто в процесі написання програми необхідно писати довгі конструкції if-else. У ситуації, коли варіант шляху обчислень визначається одним із кількох значень цілого або символьного типу, обчислення можна описати за допомогою оператору множинного вибору switch, або перемикача.

Наведемо фрагмент програми, яка виводить назву оцінки з використанням конструкції if-else:

Тепер наведемо фрагмент програми з використанням оператору множинного вибору switch:

Оператор switch працює так само, як і конструкція  if-else, головна його перевага в тому, що стає легко зрозуміти, як працює програма, бо єдина змінна контролює поведінку програми. У випадку з if-else прийдеться уважно роздивлятися кожну умову.

Оператор перемикач має таку форму запису:

Вираз в дужках, який називається селектором варіантів, порівнюється зі значеннями (мітками варіантів), які описані після ключового слова case. Після двокрапки знаходиться послідовність інструкцій, який буде виконуватися, якщо значення виразу буде збігатися з міткою.

Оператор break необхідний для того, щоб перервати виконання switch. Якщо його не використовувати, то значення виразу буде послідовно порівнюватися з усіма значеннями.

Якщо значення селектору не збіглося з жодною міткою, то виконаються інструкції, записані після слова default, а якщо слова default немає, то виконання перемикача закінчується.

Блок-схема оператору множинного вибору:

Значення для порівняння можуть бути тільки константними, тому наступний приклад використання оператора невірний:

Послідовність інструкцій після мітки варіанта може бути порожньою. За збігу значення селектора з цією міткою  виконуються найближчі інструкції, записані в подальших варіантах  – до найближчого break або до кінця перемикача. Наприклад, наведемо фрагмент програми, яка за номером місяця виводить пору року:

Зверніть увагу! В якості селектору варіантів може бути тільки вираз цілого типу, або такого, що однозначно перетворюється до цілого – символьного або перераховного. Розглянемо приклад з використанням селектору символьного типу.

Приклад. Ввести з клавіатури два числа і знак арифметичної операції (+, -, *, /). Вивести відповідний результат обчислення.

 

 

0

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *