У цьому підручнику ми навчимося використовувати цикли while і do… while у програмуванні на C ++ за допомогою деяких прикладів.
У комп'ютерному програмуванні цикли використовуються для повторення блоку коду.
Наприклад, скажімо, ми хочемо показати повідомлення 100 разів. Тоді замість того, щоб писати оператор print 100 разів, ми можемо використовувати цикл.
Це був лише простий приклад; ми можемо досягти набагато більшої ефективності та вишуканості в наших програмах, ефективно використовуючи цикли.
У C ++ існує 3 типи циклів.
for
петляwhile
петляdo… while
петля
У попередньому підручнику ми дізналися про цикл C ++ for. Тут ми збираємось дізнатись про while
і do… while
цикли.
C ++ в той час як Loop
Синтаксис while
циклу:
while (condition) ( // body of the loop )
Ось,
while
петля оцінюєcondition
- Якщо значення
condition
обчислюєтьсяtrue
,while
виконується код всередині циклу. condition
Оцінюється знову.- Цей процес триває доти, поки не
condition
будеfalse
. - Коли
condition
обчислюється доfalse
, цикл завершується.
Щоб дізнатись більше про conditions
, відвідайте C ++ Реляційні та логічні оператори.
Блок-схема блок-циклу while

Приклад 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
Ось як працює програма.
Ітерація | Змінна | i <= 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 . |
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.
Для того, щоб зберегти суму чисел, ми оголошуємо змінну суму та ініціалізуємо її до значення 0
.
while
Цикл продовжується до тих пір , поки користувач не введе негативне число. Під час кожної ітерації число, введене користувачем, додається до змінної суми.
Коли користувач вводить від’ємне число, цикл завершується. Нарешті, відображається загальна сума.
C ++ робити … поки 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 Loop

Приклад 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
Ось як працює програма.
Ітерація | Змінна | i <= 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