Урок 13. Оператор switch | Убунту Линукс

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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, то программа не выведет никакой информации в терминал. Это потому, что все значения ложны. Рассмотрим еще один пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#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 не обязтельно.

Д/З:

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

Обсуждение Д/З на форуме.

Все! Удачи.