94
6.2 Ветвление
6.2.1 Оператор проверки условия if <else>
Для организации ветвления алгоритма в Си используется
оператор проверки условия if (логическое выражение) {действия
при истинном значении выражения} else {действия при ложном
значении выражения}. Оператор else может отсутствовать, если
это обусловлено алгоритмом.
В Си нет специального типа данных, который определяет
истинность и ложность выражений. Ложью в Си считается ну-
левое значение, соответственно истиной — любое ненулевое
значение. Поэтому выражение 5>3 возвращает ненулевое значе-
ние, а выражение 3==0 — нулевое.
Логическое условие может быть сложным, т.е. может со-
стоять из нескольких условий, связанных между собой логиче-
скими операциями:
- «И» (конъюнкция), в Си оператор &&, все логическое
выражение считается истинным только в том случае, если ис-
тинны все простые выражения.
- «ИЛИ» (дизъюнкция), в Си оператор ||, все логическое
выражение считается ложным только в том случае, если ложны
все простые выражения.
Например, запишем следующее условие «Если переменная
x меньше переменной y и переменная x меньше переменной z»:
x<y && x<z. Следующее условие демонстрирует операцию
дизъюнкции «Если переменная m < 10 или переменная m равна
переменной x» : m<10 || m == x.
Если в блоках программы, выполняющихся при истинности
или ложности условия, необходимо выполнить два и более дей-
ствий, эти блоки определяются фигурными скобками. Приведем
примеры.
- Если x<y, то вывести на экран значение суммы x и y,
значение переменной x заменить на 10.
if (x<y)
{ printf("Сумма ==> %d",x+y);
x = 10;