A do-while loop helps you repeat a set of actions at least once, then keep repeating as long as a condition is true.
When you want to ask a user for input and check it, repeating if the input is invalid.
When you need to run a process at least once before checking if it should continue.
When you want to show a menu and repeat it until the user chooses to exit.
When you want to perform an action and then decide if it should happen again based on the result.
Syntax
C Sharp (C#)
do
{
// code to run
} while (condition);
The code inside do { } runs first, then the condition is checked.
If the condition is true, the loop repeats. If false, it stops.
Examples
This prints numbers 1 to 3, increasing count each time.
C Sharp (C#)
int count = 1;
do
{
Console.WriteLine(count);
count++;
} while (count <= 3);
This asks the user to type 'yes' and repeats until they do.
C Sharp (C#)
string input;
do
{
Console.WriteLine("Enter 'yes' to continue:");
input = Console.ReadLine();
} while (input != "yes");
Sample Program
This program prints numbers from 1 to 5 using a do-while loop.
C Sharp (C#)
using System;
class Program
{
staticvoid Main()
{
int number = 1;
do
{
Console.WriteLine($"Number is {number}");
number++;
} while (number <= 5);
}
}
OutputSuccess
Important Notes
The do-while loop always runs the code inside at least once, even if the condition is false at the start.
Be careful to update variables inside the loop so the condition can become false and stop the loop.
Summary
The do-while loop runs code first, then checks the condition.
It repeats as long as the condition is true.
Use it when you want the code to run at least once before checking.
Practice
(1/5)
1. What is the main difference between a do-while loop and a while loop in C#?
easy
A. The do-while loop executes the code block at least once before checking the condition.
B. The while loop executes the code block at least once before checking the condition.
C. The do-while loop never checks the condition.
D. The while loop executes the code block only if the condition is false.
Solution
Step 1: Understand do-while behavior
The do-while loop runs the code block first, then checks the condition to decide if it repeats.
Step 2: Compare with while loop
The while loop checks the condition first before running the code block, so it may not run at all.
Final Answer:
The do-while loop executes the code block at least once before checking the condition. -> Option A
Quick Check:
do-while runs once before condition check [OK]
Hint: Remember: do-while runs code first, then checks condition [OK]
Common Mistakes:
Thinking while loop runs code before condition check
Believing do-while never checks condition
Confusing the order of execution
2. Which of the following is the correct syntax for a do-while loop in C#?
easy
A. do (condition) { /* code */ };
B. do { /* code */ } while (condition);
C. while (condition) { /* code */ } do;
D. while { /* code */ } do (condition);
Solution
Step 1: Recall correct do-while syntax
The do-while loop syntax is: do { /* code */ } while (condition);
Step 2: Identify incorrect options
Options A, B, and D have incorrect order or missing parentheses/braces.
Final Answer:
do { /* code */ } while (condition); -> Option B
Quick Check:
Syntax: do { } while (condition); [OK]
Hint: Syntax always: do { } while (condition); with semicolon [OK]
Common Mistakes:
Omitting semicolon after while condition
Placing while before do
Using parentheses incorrectly
3. What will be the output of the following C# code?
int count = 3;
do {
Console.Write(count + " ");
count--;
} while (count > 0);
medium
A. 1 2 3
B. 2 1 0
C. 3 2 1 0
D. 3 2 1
Solution
Step 1: Trace the loop execution
Initial count is 3. The loop prints count, then decrements it. It repeats while count > 0.
Step 2: List printed values
First iteration: prints 3, count becomes 2. Second: prints 2, count becomes 1. Third: prints 1, count becomes 0. Loop stops because count is not > 0.
Final Answer:
3 2 1 -> Option D
Quick Check:
Prints 3,2,1 then stops [OK]
Hint: Count down from 3, print before decrement, stop at zero [OK]
Common Mistakes:
Including 0 in output
Printing after decrement instead of before
Confusing loop condition
4. Identify the error in the following do-while loop code snippet:
int i = 0;
do {
Console.Write(i);
i++;
} while i < 5;
medium
A. The variable i is not initialized.
B. The loop will never execute because condition is false.
C. Missing parentheses around the condition in the while statement.
D. The semicolon after the while condition is missing.
Solution
Step 1: Check syntax of while condition
The condition in a do-while loop must be enclosed in parentheses: while (condition);
Step 2: Identify missing parentheses
The code has while i < 5; without parentheses, causing a syntax error.
Final Answer:
Missing parentheses around the condition in the while statement. -> Option C
Quick Check:
Condition must be in parentheses [OK]
Hint: Always put condition inside parentheses after while [OK]
Common Mistakes:
Forgetting parentheses around condition
Missing semicolon after while statement
Assuming variable initialization error
5. You want to write a do-while loop that asks the user to enter a positive number and repeats until the user enters a number greater than zero. Which code snippet correctly implements this?
hard
A. int num;
do {
Console.WriteLine("Enter a positive number:");
num = int.Parse(Console.ReadLine());
} while (num <= 0);
B. int num = 0;
do {
Console.WriteLine("Enter a positive number:");
num = int.Parse(Console.ReadLine());
} while (num > 0);
C. int num;
do {
Console.WriteLine("Enter a positive number:");
num = int.Parse(Console.ReadLine());
} while (num < 0);
D. int num = 1;
do {
Console.WriteLine("Enter a positive number:");
num = int.Parse(Console.ReadLine());
} while (num == 0);
Solution
Step 1: Understand the loop condition needed
The loop should repeat while the number is not positive, i.e., while number is less than or equal to zero.
Step 2: Check each option's condition
int num;
do {
Console.WriteLine("Enter a positive number:");
num = int.Parse(Console.ReadLine());
} while (num <= 0); uses while (num <= 0); which repeats until user enters a positive number. Other options have incorrect conditions that either stop too early or never repeat correctly.
Final Answer:
int num;
do {
Console.WriteLine("Enter a positive number:");
num = int.Parse(Console.ReadLine());
} while (num <= 0); -> Option A
Quick Check:
Repeat while number ≤ 0 to ensure positivity [OK]
Hint: Repeat while input ≤ 0 to ensure positive number [OK]
Common Mistakes:
Using wrong comparison operators in condition
Initializing variable incorrectly
Stopping loop too early or never
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.