Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Операторы управления программой 57




ной цикла. Условие инициализации выполняется только один раз, при первом вхо- де в for.

Затем проверяется условие. Подобно циклу 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.

//                     Вводится счетчик цикла.

//Н а экран выводится количество выполненных

//                 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; Просмотров: 170; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.014 с.)
Главная | Случайная страница | Обратная связь