Table of Contents
In this lesson, you will learn about the do-while loop in C++ with examples to better understand the topic.
C++ do-while Loop explained
The do-while loop is another type of loops in C++. It’s similar to the while loop. However, it executes the loop body before evaluating the condition/expression. So, a do-while loop will iterate at least for one time, regardless of the condition.
Syntax of the do-while loop
do { // code block to be executed while condition is true } while (condition);
Flowchart
Example I of the do-while loop in C++
#include <iostream> using namespace std; int main() { int num = 0; do { cout << num << endl; num++; } while (num < 5); return 0; }
Output
0
1
2
3
4
Example II of the do-while loop in C++
#include <iostream> using namespace std; int main() { // declare an array string languages[4] = { "C++", "C", "Python", "Java" }; // get the size of the array int arrSize = sizeof(languages) / sizeof(languages[0]); int i = 0; // loop through array element do { cout << languages[i] << "\n"; i++; } while (i < arrSize); }
Output
C++
C
Python
Java
Difference between while and do-while loops
while | do-while |
---|---|
It evaluates the expression/condition before the statement is executed. | It executes the statement before the expression/condition is evaluated. |
No semicolon is required at the end of the condition while(condition) | A semicolon is required at the end of the condition while(condition); |
Possible to have zero iteration if the condition is false initially. | Should have at least one iteration regardless of the condition. |
The variable in the condition/expression should be initialized before the loop. | The variable in the condition/expression may be initialized before or within the loop body. |
A single statement requires not curly brackets. | Curly brackets are always required. |
Points to remember
- do-while loop executes the loop body before evaluating the condition/expression.
- In do-while loops, the condition is always at the end of the loop.
- A do-while loop will iterate at least for one time.