Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
30.05.2015
Размер:
411.14 Кб
Скачать

If (выражение1)

оператор1

else

If (выражение2)

оператор2

else

оператор3

Видно, что она состоит из оператора ifelse, для которого часть else представляет собой другой оператор ifelse. Про второй оператор ifelse говорят, что он "вложен" в первый.

В одном операторе можно использовать столько конструкций else – if, сколько нужно, что иллюстрируется ниже:

if ( score < 1000 )

bonus = 0;

else if ( score < 1500 )

bonus = 1;

else if ( score < 2500 )

bonus = 2;

else

bonus = 10;

Не забывайте, что else соответствует ближайшему if, кроме тех случаев, когда имеются фигурные скобки.

        1. Операция условия

В языке Си имеется короткий способ записи одного из видов оператора if-else. Он называется "условным выражением" и использует операцию условия ?: .

Эта операция состоит из двух частей и содержит три операнда. Пример оператора, с помощью которого находится абсолютное значение числа:

x = (y < 0) ? (-y) : y;

Все, что находится между знаком "=" и символом "точка с запятой", представляет собой условное выражение. Смысл этого оператора заключается в следующем: если y меньше 0, то x=(-y); в противном случае x=y. В терминах оператора if-else данный оператор мог выглядеть так:

if (y < 0) x = -y; else x = y;

В общем виде условное выражение можно записать следующим образом:

Выражение1 ? выражение2 : выражение3

Если "выражение1" истинно, то значением всего условного выражения является величина "выражения2"; в противном случае значение всего условного выражения – величина "выражения3".

        1. Множественный выбор: оператор switch

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

Общая структура оператора:

switch (целое выражение)

{ case метка1:

операторы; (необязательные)

break; (необязательный)

case метка2:

операторы; (необязательные)

break; (необязательный)

default: (необязательный)

операторы; (необязательные)

}

Вначале вычисляется выражение в скобках, расположенное за ключевым словом switch. Затем программа просматривает список "меток" до тех пор, пока не находит "метку", соответствующую данному значению. Далее программа переходит к выполнению оператора, расположенного в этой строке. Если такой подходящей метки не найдется, то если существует строка с "меткой" default , то будет выполняться оператор, помеченный этой меткой. В противном случае произойдет переход к оператору, расположенному за оператором switch. Выполнение оператора break приводит к тому, что в программе происходит выход из оператора switch и осуществляется переход к следующему за ним оператору. При отсутствии оператора break будут выполнены все операторы, начиная с помеченного данной меткой до конца оператора switch. Метки, имеющиеся в операторе switch, должны быть константами или константными выражениями (выражение, операторы которого константы) целого типа (включая тип char). Запрещается использовать в качестве метки переменную. Значением выражения в скобках должна быть величина целого типа.

Соседние файлы в папке Методические указания