C ++ while и do ... while Цикл (с примерами)

В этом руководстве мы изучим использование циклов while и do… while в программировании на C ++ с помощью некоторых примеров.

В компьютерном программировании циклы используются для повторения блока кода.

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

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

В C ++ существует 3 типа циклов.

  1. for петля
  2. while петля
  3. do… while петля

В предыдущем руководстве мы узнали о цикле for в C ++. Здесь мы собираемся , чтобы узнать о whileи do… whileпетли.

C ++ цикл while

Синтаксис whileцикла:

 while (condition) ( // body of the loop )

Вот,

  • whileПетля оцениваетcondition
  • Если имеет conditionзначение true, код внутри whileцикла выполняется.
  • conditionОценивается снова.
  • Этот процесс продолжается до тех пор, пока не conditionбудет false.
  • Когда значение conditionравно false, цикл завершается.

Чтобы узнать больше о conditionsреляционных и логических операторах C ++.

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

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

Пример 1: отображение чисел от 1 до 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )

Вывод

 1 2 3 4 5

Вот как работает программа.

Итерация Переменная я <= 5 Действие
1-й i = 1 true 1 печатается и iувеличивается до 2.
2-й i = 2 true 2 печатается и iувеличивается до 3.
3-й i = 3 true 3 печатается и iувеличивается до4
4-й i = 4 true 4 печатается и iувеличивается до 5.
5-й i = 5 true 5 печатается и iувеличивается до 6.
Шестой i = 6 false Цикл завершен

Пример 2: Только сумма положительных чисел

 // program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )

Вывод

 Введите число: 6 Введите число: 12 Введите число: 7 Введите число: 0 Введите число: -2 Сумма равна 25

В этой программе пользователю предлагается ввести число, которое хранится в переменной number.

Чтобы сохранить сумму чисел, мы объявляем переменную sum и инициализируем ее значением 0.

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

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

C ++ do … while Loop

do… whileЦикл представляет собой вариант whileцикла с одним важным отличием: тело do… whileцикла выполняется один раз до того , как conditionпроверяются.

Его синтаксис:

 do ( // body of loop; ) while (condition);

Вот,

  • Сначала выполняется тело цикла. Затем conditionоценивается.
  • Если имеет conditionзначение true, тело цикла внутри doзаявление выполняется снова.
  • conditionОценивается еще раз.
  • Если имеет conditionзначение true, тело цикла внутри doзаявление выполняется снова.
  • Этот процесс продолжается до тех пор, пока не будет conditionоценено значение false. Затем цикл останавливается.

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

Блок-схема цикла C ++ do… while

Пример 3: отображение чисел от 1 до 5

 // C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )

Вывод

 1 2 3 4 5

Вот как работает программа.

Итерация Переменная я <= 5 Действие
i = 1 не проверено 1 печатается и iувеличивается до 2
1-й i = 2 true 2 печатается и iувеличивается до 3
2-й i = 3 true 3 печатается и iувеличивается до 4
3-й i = 4 true 4 печатается и iувеличивается до 5
4-й i = 5 true 5 печатается и iувеличивается до 6
5-й i = 6 false Цикл завершен

Пример 4: Только сумма положительных чисел

 // program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )

Выход 1

 Введите число: 6 Введите число: 12 Введите число: 7 Введите число: 0 Введите число: -2 Сумма равна 25

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -6 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true) ( // body of the loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for vs while loops

A for loop is usually used when the number of iterations is known. For example,

 // This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )

Here, we know that the for-loop will be executed 5 times.

Однако, whileи do… whileпетля, как правило , используется , когда число итераций неизвестно. Например,

 while (condition) ( // body of the loop )

Ознакомьтесь с этими примерами, чтобы узнать больше:

  • Программа C ++ для отображения рядов Фибоначчи
  • Программа на C ++ для поиска GCD
  • Программа на C ++ для поиска LCM

Интересные статьи...