Лекции по проге / 3_Управл операторы - альтернативы
.pdf
Использование частичного условного оператора if
Ограничиваем число максимальным значением
// Ограничиваем число // максимальным значением if(x > max) x = max;
11
Использование составных операторов в управляющем операторе
Условный оператор в качестве альтернативного действия требует единичный оператор Если требуется выполнить (или не выполнить) сразу
несколько действий при определенном условии, то эти действия реализуются как составной оператор, который воспринимается компилятором как единичный оператор Составной оператор - два или более операторов,
объединенных с помощью фигурных скобок {} Составной оператор аналогичным образом
12 используется и в других управляющих операторах
Использование составных операторов в управляющем операторе
Условный оператор в качестве альтернативного действия требует единичный оператор Если требуется выполнить (или не выполнить) сразу
несколько действий при определенном условии, то эти действия реализуются как составной оператор, который воспринимается компилятором как единичный оператор Составной оператор - два или более операторов,
объединенных с помощью фигурных скобок {} Составной оператор аналогичным образом
13 используется и в других управляющих операторах
Вложенность управляющих операторов
Допустима вложенность одних управляющих операторов в другие. Это обеспечивает произвольную комбинацию управляющих операторов
S = 0;
for(i = 0; i < 10; i++) 
оператор выражения управляющий оператор
{
скобка составного оператора
if( i%2 ) { 
S += 1/(i*i); } 
14 }
управляющий оператор скобка составного оператора
оператор выражения скобка составного оператора
скобка составного оператора
Оператор выбора switch + оператор прерывания break
Условие применения: выбор более чем из двух
|
операторов |
|
|
switch( |
<выражение> ) |
|
{ |
|
|
case |
<константа 1>: |
|
<послед. оператор. 1> |
|
|
break; |
|
|
... |
|
|
case |
<константа M>: |
|
<послед. оператор. M> |
|
|
break; |
|
|
default: |
|
15 |
<послед. оператор. M+1> |
|
} |
|
|
Оператор выбора switch + оператор прерывания break
Если <выражение> принимает значение равное <константа 1>, то выполняется <последовательность операторов 1> и т.д.
Если <выражение> принимает значение отличное от указанных констант, то выполняется <последовательность операторов M+1>
16
Оператор выбора switch + оператор прерывания break
С помощью оператора switch можно реализовать условия только следующего вида
<выражение> == <константа>
В операторе switch могут использоваться только целочисленные, вещественные и символьные константы, для которых применима операция равенства ==
Оператор break прерывает выполнение оператора switch. Если бы его не было, то все операторы внутри 17 switch выполнялись бы последовательно друг за другом
Задание
Распечатайте на экране название месяца по его номеру month.
Для печати используйте функцию
puts( <строковая константа> )
18
Использование операторов switch и break
|
switch(month) |
|
{ |
|
case 1: |
|
puts("январь"); |
|
break; |
|
.... |
|
case 12: |
|
puts("декабрь"); |
|
break; |
|
default: |
19 |
puts("Ошибка!!!"); |
} |
Задание
Проанализируйте код и укажите, что будет распечатано на экране, если пользователь введет символ 'Y'
|
char Answer; |
|
// ответа пользователя |
|
scanf("%с", &Answer); |
|
|
|
switch(Answer) |
// анализ ответа пользователя |
|
|
{ |
|
|
|
case 'N': |
|
|
|
puts("Вы |
выбрали Нет"); |
|
|
case 'Y': |
|
|
|
puts("Вы |
выбрали Да"); |
|
|
default: |
|
|
20 |
puts("Вы |
нажали что-то не то"); |
|
} |
|
|
|
