Bird
Raised Fist0
C++programming~20 mins

While loop in C++ - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
While Loop Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a simple while loop
What is the output of this C++ code?
C++
#include <iostream>
int main() {
    int i = 1;
    while (i <= 3) {
        std::cout << i << " ";
        i++;
    }
    return 0;
}
A0 1 2 3
B2 3 4
C1 2 3 4
D1 2 3
Attempts:
2 left
💡 Hint
The loop runs while i is less than or equal to 3, starting from 1.
🧠 Conceptual
intermediate
1:30remaining
Understanding while loop condition
What happens if the condition in a while loop is initially false?
AThe loop body never runs.
BThe loop runs twice.
CThe loop runs infinitely.
DThe loop body runs once and then stops.
Attempts:
2 left
💡 Hint
Think about when the condition is checked in a while loop.
❓ Predict Output
advanced
2:30remaining
Output with nested while loops
What is the output of this C++ code?
C++
#include <iostream>
int main() {
    int i = 1;
    while (i <= 2) {
        int j = 1;
        while (j <= 2) {
            std::cout << i * j << " ";
            j++;
        }
        i++;
    }
    return 0;
}
A1 1 2 2
B1 2 2 4
C1 2 3 4
D2 4 6 8
Attempts:
2 left
💡 Hint
The outer loop runs twice, and for each iteration, the inner loop runs twice.
🔧 Debug
advanced
2:00remaining
Identify the error in this while loop
What error does this code produce when compiled and run?
C++
#include <iostream>
int main() {
    int i = 0;
    while (i < 3) {
        std::cout << i << " ";
    }
    return 0;
}
AInfinite loop (program never ends)
BSyntax error: missing semicolon
CRuntime error: division by zero
DNo output
Attempts:
2 left
💡 Hint
Look at how the variable controlling the loop changes inside the loop.
🚀 Application
expert
2:30remaining
Calculate sum using while loop
What is the value of 'sum' after running this code?
C++
#include <iostream>
int main() {
    int n = 5;
    int sum = 0;
    int i = 1;
    while (i <= n) {
        sum += i;
        i++;
    }
    std::cout << sum;
    return 0;
}
A5
B10
C15
D0
Attempts:
2 left
💡 Hint
Sum of numbers from 1 to 5 is what you need to find.

Practice

(1/5)
1.

What does a while loop do in C++?

easy
A. Executes code only once
B. Repeats code a fixed number of times
C. Stops the program immediately
D. Repeats code while a condition is true

Solution

  1. Step 1: Understand the purpose of a while loop

    A while loop runs the code inside it repeatedly as long as the condition is true.
  2. Step 2: Compare options with definition

    Only Repeats code while a condition is true correctly states this behavior.
  3. Final Answer:

    Repeats code while a condition is true -> Option D
  4. Quick Check:

    while loop = repeat while true [OK]
Hint: While loops run as long as condition is true [OK]
Common Mistakes:
  • Thinking while loops run a fixed number of times
  • Confusing while with if statement
  • Assuming while loops always run once
2.

Which of the following is the correct syntax for a while loop in C++?

???
{
    // code
}
easy
A. while condition
B. while {condition}
C. while (condition)
D. while: (condition)

Solution

  1. Step 1: Recall correct while loop syntax

    The condition must be inside parentheses after the keyword while.
  2. Step 2: Check each option

    while (condition) uses while (condition), which is correct syntax in C++.
  3. Final Answer:

    while (condition) -> Option C
  4. Quick Check:

    while loop syntax = while (condition) [OK]
Hint: Condition in while must be inside parentheses [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Using curly braces instead of parentheses
  • Adding colon after while
3.

What is the output of this C++ code?

int i = 1;
while (i <= 3) {
    std::cout << i << " ";
    i++;
}
medium
A. 1 2 3 4
B. 1 2 3
C. 0 1 2
D. 3 2 1

Solution

  1. Step 1: Analyze loop condition and increments

    Variable i starts at 1 and increases by 1 each loop until i > 3.
  2. Step 2: Trace output values

    i = 1 prints "1 ", then 2 prints "2 ", then 3 prints "3 ". Loop stops after i becomes 4.
  3. Final Answer:

    1 2 3 -> Option B
  4. Quick Check:

    Prints 1 to 3 with spaces [OK]
Hint: Count from start to condition limit inclusive [OK]
Common Mistakes:
  • Printing extra number after loop ends
  • Starting count from 0 instead of 1
  • Printing numbers in reverse
4.

Find the error in this code snippet:

int count = 5;
while (count > 0)
    std::cout << count << " ";
medium
A. Infinite loop because count is never changed
B. Variable count is not declared
C. Syntax error in while condition
D. Missing semicolon after cout statement

Solution

  1. Step 1: Check loop body and variable changes

    The loop prints count but does not change it inside the loop.
  2. Step 2: Understand loop behavior

    Since count stays 5, condition is always true, causing an infinite loop.
  3. Final Answer:

    Infinite loop because count is never changed -> Option A
  4. Quick Check:

    Loop variable must change to avoid infinite loop [OK]
Hint: Update loop variable inside while to avoid infinite loop [OK]
Common Mistakes:
  • Forgetting to change loop variable
  • Assuming loop ends automatically
  • Misreading syntax as error
5.

Write a while loop in C++ that prints all even numbers from 2 to 10 inclusive.

Which code snippet correctly does this?

???
hard
A. int n = 2; while (n <= 10) { std::cout << n << " "; n += 2; }
B. int n = 1; while (n < 10) { if (n % 2 == 0) std::cout << n << " "; n++; }
C. int n = 2; while (n < 10) { std::cout << n << " "; n += 2; }
D. int n = 0; while (n <= 10) { std::cout << n << " "; n += 2; }

Solution

  1. Step 1: Understand the requirement

    We need to print even numbers from 2 to 10 inclusive, so numbers: 2,4,6,8,10.
  2. Step 2: Check each option

    int n = 2; while (n <= 10) { std::cout << n << " "; n += 2; } starts at 2, increments by 2, and stops at 10 inclusive, printing correct numbers.
  3. Final Answer:

    2 4 6 8 10 -> Option A
  4. Quick Check:

    Start at 2, add 2 each time, stop at 10 [OK]
Hint: Start at 2, add 2, stop at 10 inclusive [OK]
Common Mistakes:
  • Stopping before 10 (using < instead of <=)
  • Starting at 1 and missing even numbers
  • Including 0 which is not in range
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard