Урок #5

Циклы и операторы управления циклами

Довольно часто нам приходится писать программы с повторением каких-либо определённых операций. Например, возведение в степень. Как нам известно, возведение любого числа в натуральную степень делается посредством многократного умножения числа на само себя. Или же факториал — умножение всех чисел от 1 до n. Без циклов тут не обойтись.

Цикл while

Начнём с самого простого цикла: «пока условие истинно, выполнять некие действия; как только оно стало ложным — выйти из цикла». А описывается этот цикл так:

while (условие) {оператор}

Как мы видим, все предельно просто. Есть единственное «но»: условие и оператор должны быть такими, что бы результат условия мог стать ложным. В ином случае цикл никогда не прекратится.

Простой пример программы с циклом, которая вычисляет 2 в заданной пользователем степени:

5
32
Для продолжения нажмите любую клавишу…

Обратите внимание, что тип int почти всегда 4-х битный, поэтому максимальное значение в этом типе — 2^24. Для получения результата до 2^64 можно воспользоваться типом unsigned long long.

Попробуйте сами написать код для вычисления факториала числа.

Цикл do while

Название цикла говорит само за себя: «Делать, пока». То есть сначала выполняется оператор, а потом уже проверяется условие. Он очень похож на while, но с некой особенностью. Цикл while может так и не выполняться (например, условие всегда ложное), а цикл do while обязательно выполняться хотя бы один раз. Лучше это рассмотреть на конкретном примере:

2
Для продолжения нажмите любую клавишу…

Самый крутой цикл: for

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

Вы уже написали вычисление факториала числа на цикле while. Давайте же перепишем программу с использованием цикла for.

5
120
Для продолжения нажмите любую клавишу…

Как видно из примера, код стал намного проще и компактнее.

Специальные операторы управления циклом

В C++ присутствуют целых два специальных оператора управления циклом. Это break и continue. Бывает, что выполнение цикла нужно остановить прямо во время его выполнения. Например, будем бесконечно вводить натуральные числа и считать их сумму. Как только будет введено отрицательное число — закончить ввод и вывести результат в консоль. Для этого нам понадобится оператор break. Он безжалостно и бесцеремонно прекращает работу цикла. Данная программа написана ниже:

2
1
6
-1
9
Для продолжения нажмите любую клавишу…

Оператор continue используется реже. Если программа встретится с этим оператором, она вернётся к началу цикла. При этом все инструкции, которые будут размещены в цикле после continue, будут пропускаться. Следующий код наглядно демонстрирует применение этого оператора.

4
2
9
3
81
9
-1
Для продолжения нажмите любую клавишу…

Обратите внимание, что функция sqrt() находится в библиотеке cmath. Поэтому перед её использованием стоит подключить нужную библиотеку.

Возможные вопросы по теме:

Вопросов еще нет

Добавляйте свои вопросы в комментарии. Лучшие попадут в статью 🙂


Урок #4 Урок #6