Циклы WHILE и DO-WHILE

Основная форма While имеет следующий вид:

while (условие) оператор;

где оператор может быть простым, составным или пустым оператором. “Условие”, как и во всех других операторах, является просто выражением. Цикл выполняется до тех пор, пока условие принимает значение “истинно”. Когда же условие примет значение “ложно”, программа передаст управление следующему оператору программы. Так же как в цикле for, в цикле while сначала проверяется условие, а затем выполняется оператор. Это так называемый цикл с предусловием.

Оператором while удобно пользоваться для просмотра всевозможных последовательностей, если в конце каждой из них находится заранее известный признак.

Например, по определению, строка есть последовательность символов типа char, в конце которой находится нулевой символ. Следующая функция подсчитывает длину строки, заданной в качестве параметров:

int length (char * stroka)

{int len = 0;

while (*stroke++) len++;

return len;

}

Здесь выход из цикла – равенство нулю того элемента строки, который адресуется указателем stroka.

В качестве проверяемого выражения-условиячасто используются отношения. Например, следующая последовательность операторов вычисляют сумму квадратов первых k целых чисел.

int i = 0; // Счетчик

int s = 0; // Будущая сумма

while (i < k)

s += ++ i * i; //Цикл вычисления суммы