|
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Операторы управления программой 57
Затем проверяется условие. Подобно циклу while, цикл for выполняется до тех пор, пока условие не станет ложным. После того как выполнится код тела цикла, управление получит следующий пара- метр цикла for (увеличение) и значение счетчика изменится. Затем опять будет вы- полнена проверка условия, и процесс повторится. В этом параметре обычно записы- вают инкрементное или декрементное выражение, которое определяет характер изме- нения переменной цикла на каждой итерации, но в принципе ограничений на используемые здесь операторы нет. Цикл for можно заменить эквивалентным ему циклом while:
(условие)
/ / ... тело цикла } увеличение; } Все три параметра цикла for являются необязательными. C++ игнорирует отсут- ствие части инициализации или цикла, а если опущено условие, C++ бу- дет выполнять цикл for вечно (или пока какой-либо другой оператор не передаст управление за пределы цикла). Для лучшего понимания цикла for рассмотрим пример. Приведенная ниже программа ForDemo выполняет то же, что и whileDemo, но вместо while использу- ет for. // Вводится счетчик // На экран выводится количество выполненных // циклов
#include
i n t arg , char * pszArgs[] ) {
// ввод счетчика цикла int cout « "Введите loopCount: ; >> loopCount;
// работаем, пока не нарушится условие for (int i = i > 0; { cout << "Осталось выполнить " << << " } return } Программа ForDemo выполняет те же действия, что и ранее рассмотренная Demo. Однако вместо изменения переменной loopCount в этом варианте программы введена специальная переменная цикла. Выполнение цикла начинается с объявления этой переменной i и инициализации ее значением переменной loopCount. Затем проверяется, является ли переменная i положительной. Если да, то программа выводит уменьшенное на 1 значение i и воз- вращается к началу цикла.
58 Часть I. Первое знакомство с C++
// Вводится счетчик цикла. //Н а экран выводится количество выполненных // for
#include
arg, char* { // ввод счетчика цикла int << "Введите "; cin » loopCount;
// вычисляем, пока не нарушится условие for (int i = i <= loopCount; cout << "Мы завершили " << i « " цикл\п"; } return 0;
Согласно последнему стандарту языка индексная переменная, объявлен- ная в части инициализации цикла известна только в пределах этого цикла. Программисты на C+ + этом случае говорят, что область види- мости переменной ограничена циклом for. Например, в инструкции retur n рассмотренного выше примера, т.е. за пределами цикла, пере- менная i недоступна и не может использоваться. Однако этого новей- шего правила придерживаются далеко не все компиляторы, и вам нужно протестировать свой компилятор, чтобы узнать, как он действует в этом случае. Вы можете задать вопрос: если цикл for эквивалентен циклу while, зачем заби- вать себе им голову? Цикл намного легче для понимания, поскольку главные час- ти любого цикла for (инициализация, условие, увеличение) имеют фиксированное местоположение и соответствуют стандартному формату записи. |
Последнее изменение этой страницы: 2019-04-19; Просмотров: 192; Нарушение авторского права страницы