"Андрей Богатырев. Руководство полного идиота по программированию (на языке Си)" - читать интересную книгу автора


В качестве условий могут использоваться операторы СРАВНЕНИЯ
(сравнивать можно переменные, выражения, константы)

x < y меньше
x > y больше
x <= y меньше или равно
x >= y больше или равно
x == y равно
x != y не равно

Все эти операторы в качестве результата операции сравнения выдают
1, если сравнение истинно
0, если оно ложно.

Таким образом, на самом деле условный оператор работает так:

if(условие) ....

Если условие есть НОЛЬ - то условие считается ложным.
Если условие есть НЕ НОЛЬ а ... -2, -1, 1, 2, 3, ... - то условие истинно.

Это определение.

Из него в частности вытекает, что сравнение с целым нулем можно опускать:

if(x != 0) ... ; сокращается до if(x) ... ;
if(x == 0) ... ; сокращается до if(!x) ... ;
---------------------------------------------------------------------------

Пример:

int x, y, z;

if(x == 1){ y = 2; z = x + y; }
else { y = 1; z = x - y; }

---------------------------------------------------------------------------

Пример со вложенными условными операторами:

if(x == 1){
printf("Икс равен 1\n");
if(y == 2){
printf("Игрек равен 2\n");
}
} else {
printf("Икс не равен 1\n");
}
---------------------------------------------------------------------------