Bird
Raised Fist0
C++programming~10 mins

While loop in C++ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print numbers from 1 to 5 using a while loop.

C++
#include <iostream>

int main() {
    int i = 1;
    while ([1]) {
        std::cout << i << std::endl;
        i++;
    }
    return 0;
}
Drag options to blanks, or click blank then click option'
Ai <= 5
Bi < 1
Ci == 0
Di > 5
Attempts:
3 left
💡 Hint
Common Mistakes
Using a condition that never becomes false, causing an infinite loop.
Using a condition that is false from the start, so the loop never runs.
2fill in blank
medium

Complete the code to sum numbers from 1 to 10 using a while loop.

C++
#include <iostream>

int main() {
    int sum = 0;
    int num = 1;
    while ([1]) {
        sum += num;
        num++;
    }
    std::cout << sum << std::endl;
    return 0;
}
Drag options to blanks, or click blank then click option'
Anum < 10
Bnum == 10
Cnum <= 10
Dnum > 10
Attempts:
3 left
💡 Hint
Common Mistakes
Using num < 10 which excludes 10 from the sum.
Using a condition that never ends.
3fill in blank
hard

Fix the error in the while loop condition to count down from 5 to 1.

C++
#include <iostream>

int main() {
    int count = 5;
    while ([1]) {
        std::cout << count << std::endl;
        count--;
    }
    return 0;
}
Drag options to blanks, or click blank then click option'
Acount > 5
Bcount >= 1
Ccount == 0
Dcount < 1
Attempts:
3 left
💡 Hint
Common Mistakes
Using a condition that never becomes false.
Using a condition that is false from the start.
4fill in blank
hard

Fill both blanks to create a while loop that prints even numbers from 2 to 10.

C++
#include <iostream>

int main() {
    int num = [1];
    while (num [2] 10) {
        std::cout << num << std::endl;
        num += 2;
    }
    return 0;
}
Drag options to blanks, or click blank then click option'
A2
B<=
C<
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Starting at 1 instead of 2.
Using < which excludes 10.
5fill in blank
hard

Fill all three blanks to create a while loop that builds a dictionary mapping numbers 1 to 5 to their squares.

C++
#include <iostream>
#include <map>

int main() {
    std::map<int, int> squares;
    int i = [1];
    while (i [2] 5) {
        squares[[3]] = i * i;
        i++;
    }
    for (const auto& [key, value] : squares) {
        std::cout << key << ": " << value << std::endl;
    }
    return 0;
}
Drag options to blanks, or click blank then click option'
A1
B<=
Ci
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Starting at 0 instead of 1.
Using < which excludes 5.
Using a wrong key for the map.

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