Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Оператор
Оператор for позволяет повторить выполнение того или иного оператора или составного оператора заданное число раз. Тело оператора for выполняется ноль или более раз, пока необязательное условие не примет значение false. Внутри оператора for можно использовать необязательные выражения для инициализации и изменения значений во время выполнения этого оператора (for).
Синтаксис
iteration-statement:
for
(
init-expression
opt opt)statement
Оператор for выполняется следующим образом:
Вычисляется выражение
init-expression(при его наличии). Он задает инициализацию для цикла. Нет ограниченийinit-expressionна тип .Вычисляется выражение
cond-expression(при его наличии). Это выражение должно иметь арифметический тип или тип указателя. Он вычисляется перед каждой итерацией. Возможны три результата.Если
cond-expressionзначение равноtrue(ненулевое),statementвыполняется, тоloop-expressionвычисляется , если таковой имеется. После каждой итерации вычисляется выражениеloop-expression. Нет ограничений на его тип. Побочные эффекты выполняются по порядку. Затем процесс начинается снова с вычисления выраженияcond-expression.Если выражение
cond-expressionопущено, оно (cond-expression) считается истинным, и выполнение продолжается согласно описанию в предыдущем абзаце. Выполнение оператораforбез аргументаcond-expressionзавершается только при выполнении в его теле оператораbreakилиreturnлибо при выполнении оператора переходаgotoк оператору с меткой вне тела оператораfor.Если выражение
cond-expressionимеет значениеfalse(0), выполнение оператораforзавершается и управление передается следующему оператору программы.
Выполнение оператора for также завершается при выполнении в его теле оператора break, goto или return. Оператор continue в цикле for приводит к вычислению выражения loop-expression.
break При выполнении инструкции внутри for цикла loop-expression не вычисляется или не выполняется. Оператор
for( ; ; )
— это обычный способ создания бесконечного цикла, который можно выйти только с оператором или breakgoto операторомreturn.
Пример
В следующем примере показано использование оператора for:
// c_for.c
int main()
{
char* line = "H e \tl\tlo World\0";
int space = 0;
int tab = 0;
int i;
int max = strlen(line);
for (i = 0; i < max; i++ )
{
if ( line[i] == ' ' )
{
space++;
}
if ( line[i] == '\t' )
{
tab++;
}
}
printf("Number of spaces: %i\n", space);
printf("Number of tabs: %i\n", tab);
return 0;
}
Выходные данные
Number of spaces: 4
Number of tabs: 2