Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Switch, Break | Оператори управління
Основи C
course content

Зміст курсу

Основи C

Основи C

1. Вступ
2. Дані
3. Оператори
4. Оператори управління
5. Функції
6. Вказівники

bookSwitch, Break

Використання оператора switch

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

Думайте про оператор switch як про іншу версію оператора if-else. Він діє у відповідь на конкретні значення, які ви заздалегідь визначили.

Ось як виглядає структура оператора switch:

Розглянемо приклад з торговим автоматом. Припустимо, є три кнопки для вибору різних видів чіпсів:

  • Чіпси зі смаком сиру;
  • Чіпси зі смаком бекону;
  • Чіпси зі смаком чилі.
c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }

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

Примітка

Тестований вираз у операторі switch може бути лише цілого або char типу. Ви не можете використовувати змінні, рядки або нецілі типи даних як випадки.

c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }

Роль команди break

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

Без команди break оператор switch виконувався б безперервно, і ви, ймовірно, отримали б небажані результати.

c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }

За відсутності команди break, програма починає виконуватися відразу після знаходження відповідного випадку і продовжує, поки не знайде break або не дійде до кінця switch.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
some-alt