The do-while loop in C++ is similar to the while loop except that its test condition is evaluated at the end of the loop instead of at the beginning as in the while loop. So in the do-while, the body of the loop always executes atleast once, even if the test condition evaluates to false during the first iteration (pass). If the test condition evaluates to TRUE, the body of the loop is executed. It keeps on executing until the test condition is FALSE and then control transfer to the next executable statement following the do-while loop.
The general form of using do-while loop
do { statement(s); } while(condition); statement;
In the above representation, the condition is any valid C++ test expression that may use relational or logical expressions, which must be enclosed within parentheses and must end with a semicolon. The test condition is evaluated at the end of each iteration (pass) after executing the body. The loop’s body continues to execute repeatedly as long as the test condition is TRUE (non zero). Otherwise, the statement following the loop is executed.
The complete working of do-while is shown in the flowchart.
The do-while is an exit-controlled looping statement as the test condition is checked at the end of the do-while loop, and therefore the body is executed unconditionally for the first time. The do-while loop is used less frequently than the while loop.
To illustrate the do-while loop concept, let us consider a program to calculate the sum of first N natural numbers (N>0).
#include<iostream.h> #include<conio.h> int main() { clrscr(); int n; cout<<"Enter how many numbers = "; cin>>n; int i=1, sum=0; do { sum = sum+i; i=i+1; } while(i<=n); cout<<"Sum of "<<n<<" numbers= "<<sum; getch (); return 0; } Output : Enter how many numbers = 10 Sum of 10 numbers = 55
In the above program, the sum of the first 10 natural numbers is displayed. First, we input the value of n (10 in this case), i.e. number of natural numbers whose sum is to be calculated. Then, after initializing the variables i to 1 and sum to 0, we enter the do-while loop. The execution of the loop’s body continues as long as condition (i<=n) evaluates to TRUE. When variable i’s its value becomes 11, the condition becomes FALSE. It terminates the do-while loop, and program execution continues with the next statement after the loop, which displays the sum of the first 10 natural numbers.