switch ... case у програмуванні C

У цьому підручнику ви навчитеся створювати оператор switch у програмуванні на С на прикладі.

Оператор switch дозволяє нам виконати один блок коду серед багатьох альтернатив.

Ви можете зробити те ж саме зі if… else… ifсходами. Однак синтаксис switchвисловлення набагато легше читати і писати.

Синтаксис перемикача … регістр

 switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )

Як працює оператор switch?

Вираз обчислюється один раз і порівнюється зі значеннями кожної мітки справи.

  • Якщо є збіг, виконуються відповідні оператори після відповідного ярлика. Наприклад, якщо значення виразу дорівнює константі2, оператори after case constant2:виконуються доти, доки breakне зустрінеться.
  • Якщо збігу немає, виконуються оператори за замовчуванням.

Якщо ми не використовуємо break, виконуються всі оператори після відповідного ярлика.

До речі, defaultречення всередині switchоператора є необов’язковим.

блок-схема оператора виклику

Приклад: простий калькулятор

 // Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); scanf("%lf %lf",&n1, &n2); switch(operator) ( case '+': printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case '-': printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case '*': printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; ) 

Вихідні дані

 Введіть оператор (+, -, *,): - Введіть два операнди: 32,5 12,4 32,5 - 12,4 = 20,1

Оператор -, введений користувачем, зберігається в операторній змінній. І два операнди 32.5 та 12.4 зберігаються у змінних n1 та n2 відповідно.

Оскільки оператор є -, елемент керування програмою переходить до

 printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);

Нарешті, оператор break припиняє switchоператор.

Цікаві статті...