
- •Разработка программы нахождения максимального или минимального элементов в массиве
- •Основные операции, операторы ветвления и циклов
- •Арифметические выражения
- •Логические выражения
- •Приоритеты (порядок) выполнения операций
- •Порядок вычислений
- •Выбор вариантов
- •Условные операторы
- •Оператор ветвления (проверки условия) if
- •If (выражение1)
- •If (выражение2)
- •Операция условия
- •Выражение1 ? выражение2 : выражение3
- •Множественный выбор: оператор switch
- •Операторы циклов
- •Оператор цикла while
- •Оператор цикла for
- •Оператор цикла do while
- •Вложенные циклы
- •Другие управляющие операторы
- •Оператор break
- •Оператор continue
- •Оператор goto
- •Организация ввода элементов массивов
- •Задача поиска минимального (максимального) значения
If (выражение1)
оператор1
else
If (выражение2)
оператор2
else
оператор3
Видно, что она состоит из оператора if – else, для которого часть else представляет собой другой оператор if – else. Про второй оператор if – else говорят, что он "вложен" в первый.
В одном операторе можно использовать столько конструкций else – if, сколько нужно, что иллюстрируется ниже:
if ( score < 1000 )
bonus = 0;
else if ( score < 1500 )
bonus = 1;
else if ( score < 2500 )
bonus = 2;
else
bonus = 10;
Не забывайте, что else соответствует ближайшему if, кроме тех случаев, когда имеются фигурные скобки.
-
Операция условия
В языке Си имеется короткий способ записи одного из видов оператора 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".
-
Множественный выбор: оператор switch
Если в программе необходимо произвести выбор одного из нескольких вариантов, то удобнее применять оператор switch.
Общая структура оператора:
switch (целое выражение)
{ case метка1:
операторы; (необязательные)
break; (необязательный)
case метка2:
операторы; (необязательные)
break; (необязательный)
default: (необязательный)
операторы; (необязательные)
}
Вначале вычисляется выражение в скобках, расположенное за ключевым словом switch. Затем программа просматривает список "меток" до тех пор, пока не находит "метку", соответствующую данному значению. Далее программа переходит к выполнению оператора, расположенного в этой строке. Если такой подходящей метки не найдется, то если существует строка с "меткой" default , то будет выполняться оператор, помеченный этой меткой. В противном случае произойдет переход к оператору, расположенному за оператором switch. Выполнение оператора break приводит к тому, что в программе происходит выход из оператора switch и осуществляется переход к следующему за ним оператору. При отсутствии оператора break будут выполнены все операторы, начиная с помеченного данной меткой до конца оператора switch. Метки, имеющиеся в операторе switch, должны быть константами или константными выражениями (выражение, операторы которого константы) целого типа (включая тип char). Запрещается использовать в качестве метки переменную. Значением выражения в скобках должна быть величина целого типа.