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

bookSwitch, 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

Main.c

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 типу. Ви не можете використовувати змінні, рядки або нецілі типи даних як випадки.

Main.c

Main.c

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 виконувався б безперервно, і ви, ймовірно, отримали б небажані результати.

Main.c

Main.c

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

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookSwitch, 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

Main.c

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 типу. Ви не можете використовувати змінні, рядки або нецілі типи даних як випадки.

Main.c

Main.c

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 виконувався б безперервно, і ви, ймовірно, отримали б небажані результати.

Main.c

Main.c

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