Операторе цикла 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 );