bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/C++/C++ Tutorial
C++•C++ Tutorial

C++ Do/While Loop

The Do/While Loop

The do/while loop is a variant of the while loop. This loop will execute the code block once , before checking if the condition is true. Then it will repeat the loop as long as the condition is true.

Syntax

do {
 // code block to be executed
}
while ( condition );

Note

The semicolon ; after the while condition is required!

Do/While Example

The example below uses a do/while loop. The loop will always be executed at least once, even if the condition is false, because the code block is executed before the condition is tested.

Example

int i = 0;
do {
  cout << i << "\n";
  i++;
}
while (i < 5);

Do not forget to increase the variable used in the condition ( i++ ), otherwise the loop will never end!

Condition is False from the Start

In the example above, the condition i < 5 was true at the beginning, so the loop executed multiple times. But what if the condition is false right from the start?

In the example below, the variable i starts at 10 , so the condition i < 5 is false immediately - yet the do/while loop still runs once:

Example

int i = 10;
do {
  cout << "i is " << i << "\n";
  i++;
} while (i < 5);

Summary

The do/while loop always runs at least once, even if the condition is already false. This is different from a regular while loop, which would skip the loop entirely if the condition is false at the start.

This behavior makes do/while useful when you want to ensure something happens at least once, like showing a message or asking for user input.

Practical Example: User Input

This example keeps asking the user to enter a positive number. The loop stops when the user enters 0 or a negative number:

Example

int number;
do {
 cout << "Enter a positive number: ";
 cin >> number;
} while (number > 0);

Previous

C++ While Loop

Next

C++ For Loop

This chapter

Overview
64

Lessons

138m

Read time

1. C++ Tutorial2. C++ Introduction3. C++ Getting Started4. C++ Syntax5. C++ Statements6. C++ Output (Print Text)7. C++ Output Numbers8. C++ New Lines9. C++ Comments10. C++ Variables11. C++ Declare Multiple Variables12. C++ Identifiers13. C++ Constants14. C++ User Input15. C++ Data Types16. C++ Numeric Data Types17. C++ Boolean Data Types18. C++ Character Data Types19. C++ String Data Types20. C++ auto21. C++ Operators22. C++ Arithmetic Operators23. C++ Assignment Operators24. C++ Comparison Operators25. C++ Logical Operators26. C++ Operator Precedence27. C++ Strings28. C++ String Concatenation29. C++ Numbers and Strings30. C++ String Length31. C++ Access Strings32. C++ Special Characters33. C++ User Input Strings34. C++ String Namespace35. C++ C-Style Strings36. C++ Math37. C++ Booleans38. C++ Boolean Expressions39. C++ If ... Else40. C++ Else41. C++ Else If42. C++ Short Hand If Else43. C++ Nested If44. C++ Logical Operators in Conditions45. C++ Switch46. C++ While Loop47. C++ Do/While Loop48. C++ For Loop49. C++ Nested Loops50. C++ The foreach Loop51. C++ Break and Continue52. C++ Arrays53. C++ Arrays and Loops54. C++ Omit Array Size55. C++ Array Size56. C++ Multi-Dimensional Arrays57. C++ Structures (struct)58. C++ Enumeration (enum)59. C++ Memory Address60. C++ Pointers61. C++ Dereference62. C++ Modify Pointers63. C++ Memory Management64. C++ new and delete

On this page

The Do/While LoopDo/While ExampleCondition is False from the StartSummaryPractical Example: User Input