Урок 13. Оператор switch

Всем доброго времени суток! Оператор switch переводится как переключение. Оператор switch предлагает множественный выбор. Это своего рода if, но с одним важным отличием. рассмотрим на примере:

#include 
 
 
int main () {
int a=5;
switch (a) {
case 1:
printf ("1\n");
break;
case 2:
printf ("2\n");
break;
case 3:
printf ("3\n");
break;
case 4:
printf ("4\n");
break;
case 5:
printf ("5\n");
break;
}
return 0;
}

Результат:

5

Рассмотрим каждый шаг выполнения программы с четвертой строки:

1. Присваиваем переменной a значение 5.
2. В пятой строке объявляем оператор switch.
3. В шестой строке если a будет равно еденице, то будет выполнена седьмая строка. (иначе седьмая и восьмая строка пропускается)
4. В восьмой строке завершаем работу оператором break.
5. В девятой строке, если а будет равным двум, то будет выполнена десятая строка.
6. И так до конца программы, пока не будет найдено истинное значение.
Если в нашей программе переменной а присвоить значение 10, то программа не выведет никакой информации в терминал. Это потому, что все значения ложны. Рассмотрим еще один пример:

#include 
 
int main () {
int a=10;
switch (a) {
case 1:
printf ("1\n");
break;
case 2:
printf ("2\n");
break;
case 3:
printf ("3\n");
break;
case 4:
printf ("4\n");
break;
case 5:
printf ("5\n");
break;
default:
printf ("%d\n", a);
}
return 0;
}

Результат:

10

В этой программе у нас переменная а равна 10. Когда программа дошла до восемьнадцатой строки и перешла к двадцать первой, она наткнулась на default. default применяется в тех случаях, если ни один из выше предложенных вариантов не походит. Использовать default не обязательно.

Д/З:

Напишите программу которая решает квадратное уравнение ax2 + bx + c = 0. a не равно нулю. Значения a, b и c пользователь должен ввести сам вручную.