Большинство операторов управления программой в любых языках программирования, включая С, основываются на проверке условий, определяющих, какого рода действие необходимо выполнить. В результате проверки условий можно получить истину или ложь. В противоположность другим языкам, где вводится специальный тип для хранения истины и лжи, в С истине соответствует любое ненулевое значение, включая отрицательные числа. Лжи соответствует ноль. Данный способ описания истины и лжи реализован в С изначально, поскольку он предоставляет возможность легкого написания эффективных программ.
Стандартная форма записи оператора if следующая:
if(выражение)
оператор;
Else
оператор;
где оператор может быть простым или составным. (Надо помнить, что в С составной оператор – это группа операторов, заключенных в фигурные скобки.) Оператор else не обязателен.
В условии могут использоваться следующие операции:
Операции отношений (сравнения).
<
меньше, чем
>
больше, чем
<=
меньше или равно, чем
>=
больше или равно, чем
==
Равно
!=
не равно
Операнды в этих операциях должны быть арифметического типа или указателями.
Результат операции целочисленный: 0 (ложь) или 1 (истина).
Логические операции.
&& конъюнкция (И) арифметических операндов или отношений
|| дизъюнкция (ИЛИ) арифметических операндов или отношений
Результат 0 (ложь) или 1 (истина).
Примеры отношений и логических операций:
4 < 9 ( ≡ true)
3 = = 5 ( ≡ false)
3 != 5 || 3==5 ( ≡ true)
(3+4>5) && (3+5>4) && (4+5>3) ( ≡ true )
Стандартная форма оператора ifс составными операторами следующая:
if (выражение) {
последовательность операторов
}
else {
последовательность операторов
}
Если выражение истинно (любое значение, кроме 0), выполняется блок операторов, следующий за if; иначе выполняется блок операторов, следующий за else. Всегда выполняется код, ассоциированный или с if, или с else, но никогда не выполняются оба кода одновременно.