C ++ while and do ... while Loop (з прикладами)

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

У комп'ютерному програмуванні цикли використовуються для повторення блоку коду.

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

Це був лише простий приклад; ми можемо досягти набагато більшої ефективності та вишуканості в наших програмах, ефективно використовуючи цикли.

У C ++ існує 3 типи циклів.

  1. for петля
  2. while петля
  3. 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

Блок-схема циклу while 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

Блок-схема циклу 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

Ось як працює програма.

Ітерація Змінна 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

Цікаві статті...