Циклические конструкции в C++ с примерами

Циклические конструкцииВ дополнение к статье о конструкциях принятия решений, о которых мы говорили ранее, могут возникнуть некоторые ситуации, когда нам нужно многократно выполнять блок операторов.

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

Циклы в С++

Цикл For

Конструкция, которая многократно выполняет операторы, называется циклом for.

Общий синтаксис цикла for:

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

Первоначально цикл for начинает выполнение с инициализации переменной цикла. Затем он проверяет состояние. Если значение переменной цикла удовлетворяет условию, то выполняется блок операторов.

Когда блок операторов выполняется, переменная цикла увеличивается в соответствии с указанным приращением, и начинается следующая итерация. Таким образом, цикл завершает итерации до тех пор, пока условие не будет выполнено. Затем цикл for выходит из цикла.

Это блок-схема конструкции цикла for:

Блок-схема цикла for

Давайте рассмотрим пример цикла for в C++:

Вывод данных:

Вывод числа, кратного 2 меньше 20 i = 2 i = 4 i = 6 i = 8 i = 10 i = 12 i = 14 i = 16 i = 18 i = 20 цикл «for». Обратите внимание, его удобно использовать, когда мы заранее знаем количество итераций.

Читать также:  Полиморфизм в С++

Цикл While

C++ предоставляет еще одну конструкцию цикла, которая позволяет нам выполнять набор операторов повторяющимся образом. Это цикл while.

Общий синтаксис цикла while:

Цикл while повторяет набор операторов до тех пор, пока условие истинно. Поэтому перед началом каждой итерации оценивается условие. Если он выполняется, statement_block находится внутри цикла while. В противном случае цикл завершается.

Ниже приведена блок-схема цикла while:

Блок-схема цикла while

Ниже приведен пример программы для демонстрации работы цикла while:

Вывод данных:

Вывод числа, кратного 2 меньше 20
i = 2 i = 4 i = 6 i = 8 i = 10 i = 12 i = 14 i = 16 i = 18 i = 20

Чтобы упростить концепцию, мы модифицировали ту же программу, которая использовалась для демонстрации цикла for. Здесь, в отличие от цикла for, мы указываем начальное значение переменной цикла вне цикла while. Затем мы начинаем цикл while, в котором указываем условие.

Внутри цикла мы увеличиваем переменную цикла. Код внутри цикла «while» выполняется до тех пор, пока выполняется условие.

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

Цикл Do-While

Следующий цикл в C++ — это цикл «do-while». В случае цикла «while» мы сначала проверяем условие, а затем выполняем итерацию. В случае цикла «do-while» мы сначала выполняем итерацию, а затем оцениваем условие, чтобы продолжить цикл.

Общий синтаксис цикла do-while:

Блок-схема цикла Do While:

Блок-схема цикла Do While

Как показано на блок-схеме, цикл do-while начинается с блока операторов. Сначала он выполняется, а затем проверяется условие. Если условие истинно, то блок операторов выполняется многократно, пока условие не станет ложным.

Читать также:  Пирамидальная сортировка в C++

Давайте разберемся в этом с помощью примера:

Вывод данных:

Вывод числа, кратного 2 меньше 20
i = 2 i = 4 i = 6 i = 8 i = 10 i = 12 i = 14 i = 16 i = 18 i = 20

Мы изменили в этом примере предыдущие циклы. Обратите внимание, что условие проверяется в конце после выполнения блока операторов. Это гарантирует, что цикл будет выполнен хотя бы один раз перед выходом.

Операторы Break и Continue

Всякий раз, когда нам нужно выйти из блока цикла/оператора, не завершив его, или если нам нужно пропустить итерацию, мы используем два специальных оператора: break и continue.

Оператор «break» в C++ используется для разрыва и выхода из цикла или блока операторов. Оператор «break» немедленно завершает цикл или блок операторов.

Это нужно тогда, когда мы хотим внезапно выйти из конкретной конструкции независимо от условия проверки.

Точно так же, если мы хотим пропустить определенный оператор или перейти к следующей итерации, не завершая текущую итерацию, мы используем оператор «continue». Другими словами, «continue» используется для продолжения выполнения программы к следующему шагу.

Блок-схема оператора Break:

Блок-схема оператора Break

Блок-схема оператора Continue:

Блок-схема оператора Continue

Вот пример использования операторов break и continue в коде:

Вывод данных:

Вывод числа, кратного 2 меньше 20
i = 2 i = 4 i = 6 i = 8 i = 10 i = 12 i = 14 i = 16 i = 18 i = 20

Еще раз мы взяли тот же пример кратных 2 до 20. В этом случае мы инициализировали переменную цикла нулем. Затем мы используем бесконечный цикл while и внутри цикла пропустим первую итерацию, используя оператор continue.

Затем мы используем оператор break для выхода из цикла в тот момент, когда переменная цикла станет больше 20.

Читать также:  Строковые функции в C++

Еще одна ситуация, когда мы используем оператор break, — это оператор switch. Когда выражение соответствует любому варианту оператора switch, выполняется код для этого конкретного случая, а затем управление переходит к случаям, следующим за совпавшим случаем. Таким образом, после сопоставления с регистром все последующие случаи также выполняются до выхода из оператора switch. Это приводит к ошибочному выводу.

Чтобы предотвратить выполнение последующих кейсов, мы вводим оператор break в конце каждого кейса. Это делает контролируемый выход из оператора switch после того, как соответствующий случай найден и код выполнен.

Бесконечный цикл

Бесконечный цикл возникает тогда, когда условие цикла всегда оценивается как истинное. В результате он выполняется бесконечно.

Например , for(;;) приведет к бесконечному циклу for.

Пока(;) или пока(1) приведут к тому, что цикл while будет выполняться бесконечно.

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

Вывод

Бесконечные циклы приводят к ошибке. Вы должны быть осторожны при использовании конструкций цикла в C++. Помните:

  1. Циклы For следует использовать, когда мы заранее знаем количество итераций.
  2. Цикл while следует использовать, когда мы знаем условие завершения цикла.
  3. Цикл do-while следует использовать, когда мы хотим, чтобы цикл был выполнен хотя бы один раз.

На этом мы завершаем данную статью по циклам в C++. В следующей статье мы подробно обсудим массивы в C++.

С Уважением, МониторБанк

Добавить комментарий