C ++ while and do ... while Loop (с примери)

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

При компютърното програмиране циклите се използват за повтаряне на блок от код.

Да приемем например, че искаме да покажем съобщение 100 пъти. След това вместо да напишем изявлението за печат 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цикъла се изпълнява.
  • The conditionсе оценява отново.
  • Този процес продължава, докато не conditionе false.
  • Когато conditionоценява на false, цикълът се прекратява.

За да научите повече за conditions, посетете C ++ Релационни и логически оператори.

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

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

В тази програма потребителят е подканен да въведе число, което се съхранява в променливата номер.

За да съхраним сумата от числата, декларираме променлива сума и я инициализираме до стойността на 0.

В whileцикълът продължава, докато потребителят въведе редица отрицателни. По време на всяка итерация, числото, въведено от потребителя, се добавя към променливата сума.

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

C ++ прави … докато Loop

На do… whileлиния е вариант на whileверигата с една важна разлика: тялото на do… whileцикъл се изпълнява веднъж, преди conditionсе проверява.

Синтаксисът му е:

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

Тук,

  • Първо се изпълнява тялото на цикъла. След това conditionсе оценява.
  • Ако conditionоценява на true, тялото на цикъла вътре в doоператора се изпълнява отново.
  • The 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

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