Switch, Break
Використання оператора switch
Уявіть, що ви купуєте газовану воду з торгового автомата. Після того, як ви вибрали бажаний напій, глибоко всередині комп'ютера торгового автомата змінна user_input
приймає одне з декількох попередньо визначених значень. Кожен з цих варіантів називається case
, і тут вступає в гру оператор switch
.
Подумайте про оператор switch
як про іншу версію оператора if-else
. Він діє у відповідь на конкретні значення, які ви раніше визначили.
Ось як виглядає структура оператора switch
:
switch (integer_expression)
{
case value_for_case_1:
instruction_for_case_1;
break;
case value_for_case_2:
instruction_for_case_2;
break;
case value_for_case_3:
instruction_for_case_3;
break;
default:
instruction_for_default;
}
Розглянемо приклад з торговим автоматом. Припустимо, є три кнопки для вибору різних видів чіпсів:
- Чіпси зі смаком сиру;
- Чіпси зі смаком бекону;
- Чіпси зі смаком чилі.
Main.c
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
типу. Ви не можете використовувати змінні, рядки або нецілі типи даних як випадки.
Main.c
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
працював би безперервно, і ви, ймовірно, отримали б небажані результати.
Main.c
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.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.63
Switch, Break
Свайпніть щоб показати меню
Використання оператора switch
Уявіть, що ви купуєте газовану воду з торгового автомата. Після того, як ви вибрали бажаний напій, глибоко всередині комп'ютера торгового автомата змінна user_input
приймає одне з декількох попередньо визначених значень. Кожен з цих варіантів називається case
, і тут вступає в гру оператор switch
.
Подумайте про оператор switch
як про іншу версію оператора if-else
. Він діє у відповідь на конкретні значення, які ви раніше визначили.
Ось як виглядає структура оператора switch
:
switch (integer_expression)
{
case value_for_case_1:
instruction_for_case_1;
break;
case value_for_case_2:
instruction_for_case_2;
break;
case value_for_case_3:
instruction_for_case_3;
break;
default:
instruction_for_default;
}
Розглянемо приклад з торговим автоматом. Припустимо, є три кнопки для вибору різних видів чіпсів:
- Чіпси зі смаком сиру;
- Чіпси зі смаком бекону;
- Чіпси зі смаком чилі.
Main.c
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
типу. Ви не можете використовувати змінні, рядки або нецілі типи даних як випадки.
Main.c
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
працював би безперервно, і ви, ймовірно, отримали б небажані результати.
Main.c
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.
Дякуємо за ваш відгук!