Цикл с параметров в языке Си реализован оператором:
for (начальные_присваивания;выражение; приращение)
оператор;
где начальные_присваивания – оператор или группа операторов, которые выполняются один раз в начале цикла; применяются для присвоения начальных значений величинам, используемым в цикле, в том числе параметру цикла; выражение – определяет условие выполнения цикла, если значение выражения истинно (≠0), то цикл выполняется; приращение – оператор или группа операторов, которые выполняются после каждой итерации и служат для изменения параметра цикла; оператор – любой оператор языка, представляющий собой тело цикла.
Приращение или оператор должны влиять на условие, иначе цикл никогда не закончится. Любой из трех параметров в записи оператора for может отсутствовать, но при этом точки с запятой должны оставаться на своих местах.
Если приращение или начальные_присваивания это не один оператор, а группа, то они отделяются запятой. Здесь запятая это операция последовательного выполнения.
|
|
Алгоритм работы цикла for:
1. Выполняются начальные_присваивания.
2. Вычисляется значение выражения, если оно ≠0(true), то выполняется переход к п.3.
В противном случае, выполнение цикла завершается.
3. Выполняется оператор.
4. Выполняется оператор приращение и осуществляется переход к п.2, то есть опять вычисляется значение выражения и т.д.
Этот алгоритм представляет собой цикл с предусловием рис. 11.
Рис. 11. Алгоритм работы цикла for.
В дальнейшем в блок-схемах цикл for будем изображать так как показано на рис. 12.
Рис. 12. Цикл с параметром for
Если тело цикла состоит более чем из одного оператора, используют составной оператор:
for (начальные_присваивания; выражение; приращение)
{ оператор_1;
…
оператор_n;
}
ЗАДАЧА 9. Вывести на экран таблицу значений функции y = esin (x) cos (x) на отрезке [0;p] с шагом 0.1.
#define PI 3.14159
int main()
{float x, y;
for (x=0;x<=PI; y=exp(sin(x))*cos(x),
cout<<x<<"\t"<<y<<endl, x+=0.1);
}