Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1

Кент Рейсдорф. BORLAND C++BUILDER. Страница 39

Давайте рассмотрим другой вариант того же цикла, который достигает в точности обратного эффекта по сравнению с первым:

for (int i = 10; i > 0; i—) {

cout << "This is iteration " << i << endl;

}

Теперь я начинаю с 10, останавливаюсь, когда i равно 0 и уменьшаю i на единицу в каждом проходе. Это пример цикла с обратным счетом.

Давайте напишем небольшую программу, иллюстрирующую использо­вание цикла for. Введите, откомпилируйте и запустите программу из листинга 2.1. Она называется FORLOOP.CPP и содержится также на CD-ROM, прилагаемом к книге. Результат работы программы показан на рис. 2.1.

В предыдущих примерах открывающая и закрывающая фигурные скобки не обязательны. При отсутствии скобок телом цикла считается оператор, следующий непосредственно за оператором for. Для ясности и лучшей читаемости программ неплохо расставлять скобки даже тогда, когда в этом нет особой необходимости.

Теперь вы знаете, что начальное значение переменной цикла может быть любым (предполагается, конечно, что оно лежит в диапазоне значений вы­бранного типа данных). В качестве условного выражения допустимо любое выражение Си++, результатом которого может быть true. Величина, с которой сравнивается переменная цикла, может быть константой, как в вышеприве­денных примерах, переменной или возвращаемым значением функции. Ниже приведены примеры правильной записи условных выражений:

for (int i = 0; i < 100; i++) {...}

for (int i = 1; i == numberOfElements; i++) (...)

for (int i = 0; i <= GetNumberOfElements(); i += 2) {...}

Листинг 2.1. FORLOOP.CPP

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

выражение с любым параметром инкремента. Например, в этом цикле про­исходит увеличение на 10:

Web-дизайн (с) 2010 All rights reserved