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:

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

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

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

Main.c

copy
123456789101112131415161718192021222324
#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 не передбачено, програма просто продовжує виконання.

Note
Примітка

Перевірюваний вираз у операторі switch може бути лише цілочисельного або типу char. Не можна використовувати рядки або нецілочисельні типи даних у якості значень для case.

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 зупиняє виконання поточного блоку та переходить до наступної частини коду. Тобто, після завершення відповідного case, ви виходите з цього блоку та продовжуєте виконання програми.

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

Main.c

Main.c

copy
123456789101112131415161718192021222324
#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 програма починає виконання одразу після знаходження відповідного case і продовжує виконання до знаходження break або до завершення блоку switch.

question mark

Яке основне призначення оператора break у блоці switch?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you show me an example of a switch statement in code?

What happens if I forget to include a break statement in one of the cases?

Can you explain how the default case works in more detail?

Awesome!

Completion rate improved to 2.63

bookSwitch, Break

Свайпніть щоб показати меню

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

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

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

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

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

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

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

Main.c

copy
123456789101112131415161718192021222324
#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 не передбачено, програма просто продовжує виконання.

Note
Примітка

Перевірюваний вираз у операторі switch може бути лише цілочисельного або типу char. Не можна використовувати рядки або нецілочисельні типи даних у якості значень для case.

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 зупиняє виконання поточного блоку та переходить до наступної частини коду. Тобто, після завершення відповідного case, ви виходите з цього блоку та продовжуєте виконання програми.

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

Main.c

Main.c

copy
123456789101112131415161718192021222324
#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 програма починає виконання одразу після знаходження відповідного case і продовжує виконання до знаходження break або до завершення блоку switch.

question mark

Яке основне призначення оператора break у блоці switch?

Select the correct answer

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

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

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

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