Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Switch, Break | Керуючі Оператори
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Основи 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

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

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