Оператор циклу з післяумовою do-while формально записується так:
do оператор while (вираз);
Дія циклу:
1. Виконуються команди наступні за словом Do.
2. Обчислюється значення логічного виразу . Якщо його значення істине (значення рівне TRUE), то повторно виконується команда циклу. Якщо ж значення рівнеFALSE, то виконання циклу припиняється.
Таким чином, команди, що знаходяться між Do і While виконуються, до тих пір, поки логічний вираз має істине значення.
Приклад . Розкласти на прості множники число введене з клавіатури.
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int n,i=2;
cout<<"Цiле число = ";
cin>>n;
cout<<n<<" = 1";
do {while (n%i==0)
{cout<<" * "<<i;
n/=i;}
i++;
}
while (i<=n);
cout<<endl;
getch();
}
Приклад .Знайти суму чисел, що вводяться з клавіатури.
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr(); float a,sum;
do
{
cout<<"Число (для завершення 0) = "; cin>>a;
sum+=a;
}
while (a!=0);
cout<<"Сума введених чисел = "<<sum<<endl;
getch();
}
На відмінну від оператора WHILE в операторі DO-WHILE перевірка умови (обчислення значення логічного виразу) здійснюється в кінці оператора, тому оператор DO-WHILE забезпечує хоча б одне виконання тіла циклу.