home

Операторе цикла while используется, когда необходимо повторить некоторую последовательность действий несколько раз (или ни одного). Подобную задачу можно решить также с помощью другого оператора цикла — оператора for.

Формат оператора цикла for:

 

 for ( выражение1; выражение2; выражение3 )
оператор;


 

Выполнение оператора цикла for начинается с вычисления «выражения1». Это своего рода инициализация цикла, которая выполняется только один раз и предшествует последующим действиям.

После этого вычисляется «выражение2». Если оно истинно, то выполняется «оператор». Далее вычисляется «выражение3». Первая итерация цикла закончена. Вторая итерация начинается опять с вычисления «выражения2». Если оно истинно, то выполняется «оператор». Далее опять вычисляется «выражение3» и так продолжается до тех пор, пока «выражение2» будет истинным. Если же уже на первой итерации «выражение2» будет ложным, то цикл не исполнится ни разу.

Если вникнуть в логику работы оператора цикла for, то можно заметить, что она полностью соответствует следующему фрагменту кода с использование оператора цикла while:

 

 выражение1;
while ( выражение2 )
{
оператор;
выражение3;
}


 

В прошлом выпуске мы рассмотрели пример использования оператора цикла while:

 

 int i = 0;
while ( i < 9 )
{
Print( i );
i++;
}
Print ("Done");


 

Этот пример можно переписать с использованием оператора цикла for:

 

 int i;
for (i = 0; i < 9; i++)
Print( i );
Print ("Done");


 

Не будет ошибкой, если любое из трех или все три выражения в операторе цикла for будут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если отсутствует «выражение2», то принимается, что оно всегда равно true.

«Выражение1» и «выражение3» могут состоять из нескольких выражений, объединенных запятой. В этом случае вычисляется каждое из выражение, причем порядок вычисления будет слева направо:

 

 for (i = 0, j = 0; i < 9; i++)
Print ( "i = ", i, " j= ", j );