В каком случае фраза "Простите, вы потеряли ход!" будет напечатана? Когда значение переменной number
меньше или равно 6, или когда оно больше 12? Другими словами, чему соответствует else: первому if или второму?Ответ выглядит так: else
соответствует второму if, т.е. при выполнении программы результаты будут такими:Существует правило, которое гласит, что else
соответствует ближайшему if, кроме тех случаев, когда имеются фигурные скобки. Мы сознательно записали этот фрагмент так, как будто else соответствует первому if, но вспомните, что компилятор не обратит внимания на отступы в строках. Если мы действительно хотим чтобы else соответствовал первому if, необходимо данный фрагмент оформить следующим образом:Теперь результат может выглядеть так
РИС. 7.3. Структура соответствия if
и else.Резюме: использование операторов if для организации выбора из нескольких вариантов
КЛЮЧЕВЫЕ CЛOBA: if, else
ОБЩИЕ ЗАМЕЧАНИЯ:
В каждой из последующих форм
ФОРМА ЗАПИСИ 1:
if(
ФОРМА ЗАПИСИ 2:
if(
Если
ФОРМА ЗАПИСИ 3:
if(
else if(
else
Если
ПРИМЕР:
ЧТО ВАЖНЕЕ: ОПЕРАЦИИ ОТНОШЕНИЯ ИЛИ ВЫРАЖЕНИЯ
Операции отношения используются для сравнений. Мы уже использовали ранее некоторые из них, а сейчас приведем полный список операций отношения, применяемых при программировании на языке Си.
< | меньше | ||
<= | меньше или равно | ||
= = | равно | ||
>= | больше или равно | ||
> | больше | ||
!= | не равно |
Этот список довольно хорошо соответствует возможным числовым соотношениям. (Вообще говоря, числа, даже комплексные, менее сложны, чем люди). Главное предостережение, которое мы хотим сделать, состоит в том, чтобы не использовать знак =
вместо = =. В некоторых языках программирования (например. Бейсике) один и тот же знак используется и для операции присваивания, и для операции отношения "равенство", хотя они совершенно различны. С помощью операции присваивания некоторое значениеcanoes
= = 5 проверяет, равняется ли значение переменной canoes 5Что такое истина?
Каждое условное выражение проверяется "истинно" ли оно или ложно. При этом возникает интересный вопрос: Что такое истина?
Мы можем ответить на этот вечный вопрос по крайней мере так, как он решен в языке Си. Напомним, во-первых, что выражение в Си всегда имеет значение. Это утверждение остается вepным даже для условных выражений, как показывает пример, приведенный ниже. В нем определяются значения двух условных выражений, одно из которых оказывается истинным, а второе - ложным.