Do...While Loop - C++

In C++, a do-while loop is a control structure that repeatedly executes a block of code at least once and continues to do so as long as a specified condition remains true. The key difference between a do-while loop and a while loop is that in a do-while loop, the condition is evaluated after the code block is executed.

Do...While Loop

do { // Code to be executed at least once } while (condition);

The block of code inside the loop is executed at least once, regardless of the value of the condition. After the block of code is executed, the condition is checked. If the condition evaluates to true, the loop is repeated. Otherwise, the loop terminates.

How does a do..While loop execute?

The code block within the do portion of the loop is executed unconditionally at least once.

After the code block has been executed, the loop checks the condition specified in the while statement.

If the condition is true, the loop will continue to execute, and the process repeats from step 1. If the condition is false, the loop terminates, and control moves to the code after the loop.

#include <iostream> int main() { int count = 1; do { std::cout << "Count: " << count << std::endl; count++; // Increment count to eventually make the condition false } while (count <= 5); return 0; }

In this example, the do-while loop will print the value of count at least once and then continue to do so as long as count is less than or equal to 5. Like the while loop, it's crucial to ensure that the condition will eventually become false to prevent infinite loops.

Infinite do-while loop

An infinite do-while loop is a do-while loop that never terminates. Infinite do-while loops can be used to create programs that run continuously, such as a server or a game.

The following example shows how to create an infinite do-while loop:

int main() { do { // Code to be executed } while (true); return 0; }

This loop will continue to iterate forever, or until the program is manually terminated.


A do-while loop in C++ is a control structure that guarantees the execution of a code block at least once and then continues to execute it as long as a specified condition remains true. It is especially useful when you need to ensure that a piece of code runs at least once before considering the loop condition.