while (выражение-условие)
тело цикла
Тело цикла – это или пустой, или простой, или составной оператор. Выражением-условием может быть любое выражение, имеющее в качестве истины ненулевое значение. Цикл выполняется, пока условие истинно. Когда условие становится ложным, выполняется строка, следующая за циклом.
Следующий пример показывает процедуру, обрабатывающую ввод с клавиатуры, работающую пока не будет введён символ ‘A’:
void wait_for_char(void)
{
char ch;
ch = ‘\0’;
while(ch!=’A’) ch = getchar();
}
Как и цикл for, цикл while сначала выполняет проверку, то есть тело цикла может вообще не выполняться.
Когда необходимо несколько различных условий для окончания цикла while, как правило, используют одну переменную, являющуюся результатом действия этих условий, причём значение этой переменной может устанавливаться в различных частях цикла. Например:
void func1(void)
{
int working = 1;
while(working) {
working = procces1();
if (working)
working = process2();
if (working)
working = process3();
}
}