Циклы С++

Опубликовано: 11 Января, 2023

В программировании иногда возникает необходимость выполнить какую-то операцию более одного или (скажем) n раз. Циклы используются, когда нам нужно повторно выполнить блок операторов.

Например : Предположим, мы хотим напечатать «Hello World» 10 раз. Это можно сделать двумя способами, как показано ниже:

Ручной метод (итерационный метод)

Вручную мы должны написать cout для оператора C++ 10 раз. Допустим, вам нужно написать это 20 раз (написание 20 утверждений, безусловно, займет больше времени), а теперь представьте, что вам нужно написать это 100 раз, было бы очень беспокойно переписывать одно и то же утверждение снова и снова. Итак, здесь петли имеют свою роль.

Использование циклов

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

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

В основном есть два типа петель:

  1. Входные контролируемые циклы : в этом типе цикла условие тестирования проверяется перед входом в тело цикла. For Loop и While Loop — это циклы, контролируемые входом.
  2. Контролируемые циклы с выходом : в этом типе цикла условие тестирования проверяется или оценивается в конце тела цикла. Следовательно, тело цикла выполнится хотя бы один раз, независимо от того, истинно или ложно тестовое условие. цикл do-while является циклом, управляемым выходом.

С.№ Тип петли и описание
1. цикл while — сначала проверяется условие, затем выполняется тело.
2. цикл for — сначала инициализируется, затем проверка условия, выполнение тела, обновление.
3. цикл do-while — сначала выполняется тело, затем проверка условия

для цикла

Цикл for — это структура управления повторением, которая позволяет нам написать цикл, который выполняется определенное количество раз. Цикл позволяет нам выполнять n шагов вместе в одной строке.

Синтаксис:

for (initialization expr; test expr; update expr)
{    
     // body of the loop
     // statements we want to execute
}

Пример1:

for(int i = 0; i < n; i++)
{
    // BODY
}

Пример2:

for(auto element:arr)
{
    //BODY
}

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

  • Выражение инициализации : в этом выражении мы должны инициализировать счетчик цикла некоторым значением. например: int i=1;
  • Тестовое выражение : в этом выражении мы должны проверить условие. Если условие оценивается как истинное, мы выполним тело цикла и перейдем к выражению обновления, в противном случае мы выйдем из цикла for. Например: я <= 10;
  • Выражение обновления : после выполнения тела цикла это выражение увеличивает/уменьшает переменную цикла на некоторое значение. например: i++;

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

Пример1:

Пример2:

Пока цикл

Изучая цикл for, мы увидели, что количество итераций известно заранее , т. е. нам известно, сколько раз должно выполняться тело цикла. Циклы while используются в ситуациях, когда мы заранее не знаем точное количество итераций цикла. Выполнение цикла прекращается на основании тестовых условий.
Мы уже заявляли, что цикл в основном состоит из трех операторов — выражения инициализации, выражения проверки и выражения обновления. Синтаксис трех циклов — For, while и do while, в основном, отличается размещением этих трех операторов.

Синтаксис :

initialization expression;
while (test_expression)
{
   // statements
 
  update_expression;
}

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

Пример:

цикл do-while

В циклах do-while выполнение цикла завершается также на основе тестовых условий. Основное различие между циклом do-while и циклом while заключается в том, что в цикле do-while условие проверяется в конце тела цикла, т. е. цикл do-while контролируется выходом, тогда как два других цикла являются циклами, контролируемыми входом. .
Примечание . В цикле do-while тело цикла будет выполнено хотя бы один раз независимо от условия проверки.
Синтаксис :

initialization expression;
do
{
   // statements

   update_expression;
} while (test_expression);

Note: Notice the semi – colon(“;”)in the end of loop.

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

Пример:

В приведенной выше программе условие проверки (i<1) оценивается как ложное. Но тем не менее, поскольку цикл является выходом, управляемое тело цикла будет выполнено один раз.

Как насчет бесконечного цикла?

Бесконечный цикл (иногда называемый бесконечным циклом) — это фрагмент кода, в котором отсутствует функциональный выход , поэтому он повторяется бесконечно. Бесконечный цикл возникает, когда условие всегда оценивается как истинное. Обычно это ошибка.

Использование цикла For:

Выход:

This loop will run forever.
This loop will run forever.
................... 

Использование цикла «Пока»:

Выход:

This loop will run forever.
This loop will run forever.
................... 

Использование цикла Do-While:

Выход:

This loop will run forever.
This loop will run forever.
................... 

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

  • Цикл for на основе диапазона в C++
  • для каждого цикла в C++

Важные точки

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

Статьи по Теме:

  • Что произойдет, если зациклиться до максимума подписанных и неподписанных в C/C++?
  • Викторина по циклам

Эта статья предоставлена Харшем Агарвалом . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью, используя write.geeksforgeeks.org. Посмотрите, как ваша статья появится на главной странице GeeksforGeeks, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или если вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.