For (инициализация; выражение; модификации) оператор;

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

for (int i = 0, j = 2; ...

int k, m;

for (k = 1, m = 0; ...

Областью действия переменных, объявленных в части инициализации цикла, яв­ляется цикл. Инициализация выполняется один раз в начале исполнения цикла.

Выражение определяет условие выполнения цикла: если его результат, приве­денный к типу bool, равен true, цикл выполняется. Цикл с параметром реализо­ван как цикл с предусловием.

Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла. В части модификаций можно записать несколько операторов через запятую.

Простой или составной оператор представляет собой тело цикла. Любая из частей оператора for может быть опущена (но точки с запя­той надо оставить на своих местах!).

Пример: оператор, вычисляющий сумму чисел от 1 до 100:

for (int i = 1, s = 0; i<=100; i++) s += i;

Пример: программа печатает таблицу значений функции у=х2+1 во введенном диапазоне:

#include <stdio.h>

int main(){

float Xn, Xk, Dx, X;

printf("Введите диапазон и шаг изменения аргумента: ");

scanf("%f%f%f", &Xn, &Xk, &Dx);

printf("| X | Y |\n");

for (X = Xn; X<=Xk; X += Dx)

printf("| %5.2f| %5.2f |\n", X, X*X + 1);

return 0;

}

Пример: программа находит все делители целого положительного числа:

#include <iostream.h>

int main(){

int num, half, div;

cout << "\пВведите число : ";

cin >> num;

for (half = num / 2, div = 2; div <= half; div++)

if (!(num % div)) cout << div <<"\n";

return 0;

}

Два последних примера выполняют те же действия, что и примеры для цикла с предусловием, но записаны более компактно и наглядно: все действия, связан­ные с управлением циклом, локализованы в его заголовке.


 

Любой цикл while может быть приведен к эквивалентному ему циклу for и на­оборот по следующей схеме:

for (b1; b2; b3) оператор b1; while (b2){ оператор; b3;}

Часто встречающиеся ошибки при программировании циклов – использование в теле цикла неинициализированных переменных и неверная запись условия вы­хода из цикла.

Чтобы избежать ошибок, рекомендуется:

· проверить, всем ли переменным, встречающимся в правой части операторов присваивания в теле цикла, присвоены до этого начальные значения (а также возможно ли выполнение других операторов);

· проверить, изменяется ли в цикле хотя бы одна переменная, входящая в усло­вие выхода из цикла;

· предусмотреть аварийный выход из цикла по достижению некоторого коли­чества итераций (см. пример в следующем разделе);

· и, конечно, не забывать о том, что если в теле цикла требуется выполнить бо­лее одного оператора, нужно заключать их в фигурные скобки.

Операторы цикла взаимозаменяемы, но можно привести некоторые рекоменда­ции по выбору наилучшего в каждом конкретном случае.

Оператор do whileобычно используют, когда цикл требуется обязательно выпол­нить хотя бы раз (например, если в цикле производится ввод данных).

Оператором whileудобнее пользоваться в случаях, когда число итераций заранее не известно, очевидных параметров цикла нет или модификацию параметров удобнее записывать не в конце тела цикла.

Оператор forпредпочтительнее в большинстве остальных случаев (однознач­но — для организации циклов со счетчиками).








Дата добавления: 2015-10-09; просмотров: 2144;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.