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

+-----<---+ |
|
+-------<---------------------+
|
V
продолжение

Пример:
int x;

x = 10;
while(x > 0){
printf("x=%d\n", x);
x = x - 1;
}
printf("Конец.\n");
printf("x стало равно %d.\n", x); /* печатает 0 */

"Цикл" он потому, что его тело повторяется несколько раз.

Чтобы цикл окончился, оператор-тело цикла должен менять
какую-то переменную, от которой зависит истинность условия повторений.

ОПЕРАТОРЫ "И, ИЛИ, НЕ"

Условия могут быть сложными.

ЕСЛИ красный И вес < 10 ТО ...;
ЕСЛИ красный ИЛИ синий ТО ...;
ЕСЛИ НЕ красный ТО ...;

На языке Си такие условия записываются так:

if(условие1 && условие2) ...; /* "И" */
if(условие1 || условие2) ...; /* "ИЛИ" */
if(! условие1) ...; /* "НЕ" */

Например:

if(4 < x && x <= 12) ...;

Было бы неправильно записать

if(4 < x <= 12) ...;

ибо язык программирования Си НЕ ПОНИМАЕТ двойное сравнение!

Еще примеры:

if(x < 3 || y > 4) ...;