A do–while loop is a control flow statement that executes a block of code at least once, and then repeats the loop as long as a given condition is true.
Click to reveal answer
beginner
How does a do–while loop differ from a while loop?
A do–while loop runs the code block first, then checks the condition. A while loop checks the condition first before running the code block.
Click to reveal answer
beginner
What is the syntax of a do–while loop in C?
Syntax:
do {
// code to execute
} while (condition);
The code inside the do block runs first, then the condition is checked.
Click to reveal answer
intermediate
Why is the semicolon required after the while(condition) in a do–while loop?
The semicolon marks the end of the do–while statement. It is required because the while(condition) acts like a statement that controls the loop repetition.
Click to reveal answer
beginner
Can a do–while loop run zero times?
No. A do–while loop always runs the code block at least once before checking the condition.
Click to reveal answer
What happens first in a do–while loop?
AThe code block runs
BThe condition is checked
CThe loop ends
DThe variables are declared
✗ Incorrect
In a do–while loop, the code block runs first before the condition is checked.
Which symbol is mandatory after the while(condition) in a do–while loop?
AComma (,)
BColon (:)
CSemicolon (;)
DNo symbol is needed
✗ Incorrect
A semicolon (;) is required after the while(condition) to end the do–while statement.
If the condition in a do–while loop is false initially, how many times does the loop run?
AZero times
BInfinite times
CTwice
DOnce
✗ Incorrect
The do–while loop runs the code block once before checking the condition, so it runs once even if the condition is false.
Which of these is the correct syntax for a do–while loop?
Awhile (condition) { /* code */ } do;
Bdo { /* code */ } while (condition);
Cdo (condition) { /* code */ };
Dwhile { /* code */ } do (condition);
✗ Incorrect
The correct syntax is: do { /* code */ } while (condition);
Which loop guarantees the code runs at least once?
Ado–while loop
Bwhile loop
Cif statement
Dfor loop
✗ Incorrect
Only the do–while loop guarantees the code runs at least once before checking the condition.
Explain how a do–while loop works and when you might use it.
Think about situations where you want to ask a question after doing something.
You got /4 concepts.
Write the syntax of a do–while loop and describe each part.
Remember the semicolon after the while condition.
You got /5 concepts.
Practice
(1/5)
1. What is the main difference between a do-while loop and a while loop in C?
easy
A. A do-while loop cannot be used with integers.
B. A do-while loop checks the condition before executing the code block.
C. A do-while loop executes the code block at least once before checking the condition.
D. A do-while loop does not require a semicolon after the while condition.
Solution
Step 1: Understand the execution order of loops
A while loop checks the condition first, so it may not run the code block if the condition is false initially.
Step 2: Identify the behavior of do-while loop
A do-while loop runs the code block once before checking the condition, ensuring at least one execution.
Final Answer:
A do-while loop executes the code block at least once before checking the condition. -> Option C
Quick Check:
do-while runs once first = A [OK]
Hint: Remember: do-while runs code first, then checks condition [OK]
Common Mistakes:
Thinking do-while checks condition first
Believing semicolon after while is optional
Confusing do-while with while loop behavior
2. Which of the following is the correct syntax for a do-while loop in C?
easy
A. do { /* code */ } while (condition);
B. do ( /* code */ ) while condition;
C. do { /* code */ } while condition
D. do while (condition) { /* code */ };
Solution
Step 1: Recall the correct syntax structure
The do-while loop requires braces around the code block and a semicolon after the while condition in parentheses.
Step 2: Compare options to syntax
do { /* code */ } while (condition); matches the correct syntax: do { /* code */ } while (condition); with braces and semicolon.
Final Answer:
do { /* code */ } while (condition); -> Option A
Quick Check:
Semicolon after while(condition) = B [OK]
Hint: Look for braces and semicolon after while(condition) [OK]
Common Mistakes:
Omitting semicolon after while condition
Using parentheses instead of braces for code block
Placing while before do
3. What will be the output of the following C code?
int i = 3;
do {
printf("%d ", i);
i--;
} while (i > 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 iterations
Initially, i = 3. The loop prints i, then decrements i by 1. It repeats while i > 0.
Step 2: List printed values
First iteration: prints 3, i becomes 2 Second iteration: prints 2, i becomes 1 Third iteration: prints 1, i becomes 0 Loop stops because i is not > 0.
Final Answer:
3 2 1 -> Option D
Quick Check:
Prints 3 down to 1 = A [OK]
Hint: Count printed values before condition fails [OK]
Common Mistakes:
Including 0 in output
Starting from 2 instead of 3
Printing in ascending order
4. Identify the error in this do-while loop code snippet:
int x = 5;
do {
printf("%d", x);
x--;
} while x > 0;
medium
A. The loop condition should be inside braces.
B. Missing parentheses around the while condition.
C. Variable x is not initialized.
D. Missing semicolon after the do block.
Solution
Step 1: Check syntax of the while condition
The while condition must be enclosed in parentheses, like while (x > 0);.
Step 2: Identify the error in the code
The code has while x > 0; missing parentheses, causing a syntax error.
Final Answer:
Missing parentheses around the while condition. -> Option B
Quick Check:
while(condition) needs parentheses = D [OK]
Hint: Always put condition in parentheses after while [OK]
Common Mistakes:
Omitting parentheses in while condition
Forgetting semicolon after while statement
Misplacing braces around condition
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 positive number. Which code snippet correctly implements this?
hard
A. int num;
do {
printf("Enter a positive number: ");
scanf("%d", &num);
} while (num <= 0);
B. int num = 0;
do {
scanf("%d", &num);
printf("Enter a positive number: ");
} while (num > 0);
C. int num;
do {
scanf("%d", &num);
} while (num < 0);
D. int num;
do {
printf("Enter a positive number: ");
scanf("%d", &num);
} while (num < 0);
Solution
Step 1: Understand the requirement
The loop must ask for input at least once and repeat while the number is not positive (<= 0).
Step 2: Analyze each option
int num;
do {
printf("Enter a positive number: ");
scanf("%d", &num);
} while (num <= 0); prompts before input and repeats while number is <= 0, which matches the requirement. int num = 0;
do {
scanf("%d", &num);
printf("Enter a positive number: ");
} while (num > 0); prints prompt after input and repeats while number > 0, which is incorrect. int num;
do {
scanf("%d", &num);
} while (num < 0); repeats while number < 0, missing zero case. int num;
do {
printf("Enter a positive number: ");
scanf("%d", &num);
} while (num < 0); repeats while number < 0, missing zero case.
Final Answer:
int num;
do {
printf("Enter a positive number: ");
scanf("%d", &num);
} while (num <= 0); -> Option A
Quick Check:
Repeat while number not positive = C [OK]
Hint: Repeat while input ≤ 0, prompt before input [OK]
Common Mistakes:
Checking wrong condition (e.g., num < 0 instead of <= 0)
Prompting after input instead of before
Not handling zero as invalid input
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.