Цикл с предусловием – цикл, который выполняется, пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно).
Оператор цикла while имеет следующий синтаксис:
while (выражение-условие)
тело_цикла;
выражение-условие – это выражение, определяющее условие, при котором тело цикла будет выполняться. Проверка условия производится перед каждым возможным выполнением цикла. В качестве выражения-условия чаще всего используется отношение или логическое выражение.
Схема выполнения оператора while следующая:
● вычисляется выражение-условие;
● если значение выражения-условия равно нулю, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если значение выражения-условия не равно нулю, то выполняется тело цикла оператора while.
● процесс повторяется с пункта 1 (т.е. вычисляется выражение-условие и все повторяется…).
В операторе while проверка условия происходит вначале, перед выполнением операторов, образующих тело цикла. Оператор while удобно использовать в ситуациях, когда цикл не всегда должен выполняться
При построении цикла while необходимо включить в тело цикла какие-либо конструкции, изменяющие величину проверяемого выражения-условия так, чтобы в конце концов оно стало равным нулю. В противном случае цикл будет бесконечным.
Например:
int i, s;
i=2;
while(i < 5) {
printf("Добрый день!");
} /*цикл будет выполняться бесконечно*/
int i, s;
i=2;
while(i < 5) {
printf("Добрый день!");
i=i+1;
} /*цикл будет выполнен 3 раза*/
Пример 1. Вычисления квадратов чисел от 1 до 9.
#include <stdio.h>
void main() {
int i, b;
i=1;
while (i<10) {
b=i*i;
printf("\n %2d в квадрате равно %3d", i, b);
i++;
}
}
Пример 2. Программа для печати фрагмента таблицы ASCII (от 32-го символа до 126-го).