Читаем Освой самостоятельно С++ за 21 день. полностью

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

Листинг 7.8. Еще один пример использования оператора while

1: // Листинг 7.8.

2: // Еще один пример использования оператора while

3:

4: #include

5:

6: int main

7: {

8:    int counter = 0;

9:

10:   while(counter < 5)

11:   {

12:     counter++;

13:     cout << " Looping! ";

14:   }

15:

16:   cout << "\nCounter: " << counter << " \n";

17:   return 0;

18: }


Результат:

Looping! Looping! Looping! Looping! Looping!

Counter: 5.


Анализ: В строке 8 переменная цикла counter инициализируется нулевым значением. Затем в строке 10 проверяется условие продолжения цикла, а в строке 12 значение счетчика увеличивается на единицу. В строке 13 на экран выводится сообщение, наглядно иллюстрирующее циклический процесс. Конечно, в цикле вашей программы могут выполняться и более серьезные операции.

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

Первое выражение цикла for устанавливает начальное значение счетчика цикла. Счетчик, как правило, представляет собой целочисленную переменную, которая объявляется и инициализируется прямо в цикле for, хотя в C++ допускается использование в этом месте любого выражения, выводящего начальное значение счетчика каким-то косвенным путем. Второй параметр цикла for определяет условие продолжения цикла, которое также может быть представлено любым выражением. Это условие выполняет те же функции, что и в конструкции while. Третий параметр устанавливает значение приращения счетчика цикла (по умолчанию шаг приращения равен единице). В этой части также может использоваться любое корректное выражение или оператор C++. Нужно заметить, что, хотя параметры цикла for могут задаваться любыми корректными выражениями C++, для установки второго параметра обязательно должно использоваться выражение, возвращающее логическое значение. Пример использования цикла for приведен в листинге 7.9.

Листинг 7.8. Пример использования цикла for

1: // Листинг 7.9.

2: // Пример использования цикла for

3:

4: #include

5:

6: int main

7: {

8:    int counter;

9:    for (counter = 0; counter < 5; counter++)

10:     cout << " Looping! ";

11:

12:   cout << "\nCounter: " << counter << ".\n";

13:   return 0;

14: }


Результат:

Looping! Looping! Looping! Looping! Looping!

Counter: 5.


Анализ: В строке 9 программы с помощью оператора for задается цикл, отсчитывающий число итераций с помощью переменной counter. После каждого цикла проверяется условие продолжения цикла и значение переменной counter увеличивается на единицу. Тело цикла состоит из одного оператора, записанного в строке 10. В реальных программах тело цикла может состоять из любого количества операторов.

Сложные выражения с оператором for

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


Параметры цикла for

Синтаксис установок параметров цикла for следующий:


for (инициализация, проверка, операция)

    выражения;


Выражение инициализации используется для установки начального значения счетчика цикла или для выполнения какой-нибудь другой операции, подготавливающей работу цикла. Под проверкой понимают некое выражение на языке C++, которое выполняется перед каждой новой итерацией цикла и возвращает логическое значение. Если возвращается значение true, то программа выполняет строки тела цикла. после чего выполняется третье выражение в параметрах цикла, которое, как правило/приращивает значение счетчика на заданную величину.


Пример 1:

// напечатать Hello десять раз

for(int 1=0; i<10; i++)

   cout << "Hello!" << endl;


Пример 2:

for(int 1=0; i<10; i++)

{

   cout << "Hello!" << endl;

   cout << "the value of i is: " << i << endl;

}


Цикл for работает в такой последовательности:

1. Присваивается начальное значение счетчику цикла.

2. Вычисляется значения выражения, устанавливающего условие продолжения цикла.

3. Если выражение условия возвращает true, то сначала выполняется тело цикла, а затем заданная операция над счетчиком цикла.

На каждой итерации шаги 2 и 3 повторяются.

Множественные инициализации и приращения счетчиков цикла

Перейти на страницу:

Похожие книги

Сущность технологии СОМ. Библиотека программиста
Сущность технологии СОМ. Библиотека программиста

В этой книге СОМ исследуется с точки зрения разработчика C++. Написанная ведущим специалистом по модели компонентных объектов СОМ, она раскрывает сущность СОМ, помогая разработчикам правильно понять не только методы модели программирования СОМ, но и ее основу. Понимание мотивов создания СОМ и ее аспектов, касающихся распределенных систем, чрезвычайно важно для тех разработчиков, которые желают пойти дальше простейших приложений СОМ и стать по-настоящему эффективными СОМ-программистами. Показывая, почему СОМ для распределенных систем (Distributed СОМ) работает именно так, а не иначе, Дон Бокс дает вам возможность применять эту модель творчески и эффективно для ежедневных задач программирования.

Дональд Бокс

Программирование, программы, базы данных / Программирование / Книги по IT