Bird
Raised Fist0
Cprogramming~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 <stdio.h>

int main() {
    int i = 1;
    while ([1]) {
        printf("%d\n", i);
        i++;
    }
    return 0;
}
Drag options to blanks, or click blank then click option'
Ai >= 6
Bi > 6
Ci == 6
Di < 6
Attempts:
3 left
💡 Hint
Common Mistakes
Using a condition that never becomes false, causing an infinite loop.
Using the wrong comparison operator.
2fill in blank
medium

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

C
#include <stdio.h>

int main() {
    int sum = 0;
    int num = 1;
    while ([1]) {
        sum += num;
        num++;
    }
    printf("Sum is %d\n", sum);
    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
Stopping the loop before reaching 10, missing the last number.
Using a condition that never ends.
3fill in blank
hard

Fix the error in the while loop condition to avoid an infinite loop.

C
#include <stdio.h>

int main() {
    int count = 5;
    while ([1]) {
        printf("%d\n", count);
        count--;
    }
    return 0;
}
Drag options to blanks, or click blank then click option'
Acount > 0
Bcount >= 5
Ccount < 5
Dcount == 5
Attempts:
3 left
💡 Hint
Common Mistakes
Using a condition that never becomes false.
Using equality which causes the loop to run only once.
4fill in blank
hard

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

C
#include <stdio.h>

int main() {
    int num = [1];
    while (num [2] 10) {
        printf("%d\n", num);
        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 from 1 instead of 2.
Using a condition that excludes 10.
5fill in blank
hard

Fill all three blanks to create a while loop that counts down from 10 to 1 and prints each number.

C
#include <stdio.h>

int main() {
    int count = [1];
    while (count [2] 0) {
        printf("%d\n", [3]);
        count--;
    }
    return 0;
}
Drag options to blanks, or click blank then click option'
A0
Bcount
C>
D10
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect start value.
Using wrong comparison operator.
Printing a wrong variable.

Practice

(1/5)
1. What does a while loop do in C programming?
easy
A. Repeats a block of code while a condition is true
B. Executes code only once regardless of condition
C. Runs code a fixed number of times without checking condition
D. Stops the program immediately

Solution

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

    A while loop runs repeatedly as long as its condition remains true.
  2. Step 2: Compare options with the definition

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

    Repeats a block of code while a condition is true -> Option A
  4. Quick Check:

    While loop = repeat while condition true [OK]
Hint: While loops run only if condition is true before each repeat [OK]
Common Mistakes:
  • Thinking while loop runs at least once even if condition is false
  • Confusing while loop with for loop fixed iterations
  • Believing while loop stops program immediately
2. Which of the following is the correct syntax for a while loop in C?
easy
A. while (condition) { /* code */ }
B. while condition { /* code */ }
C. while [condition] { /* code */ }
D. while: (condition) { /* code */ }

Solution

  1. Step 1: Recall C while loop syntax

    The condition must be inside parentheses and the code block inside braces.
  2. Step 2: Check each option

    Only while (condition) { /* code */ } uses correct parentheses and braces syntax.
  3. Final Answer:

    while (condition) { /* code */ } -> Option A
  4. Quick Check:

    Correct syntax uses parentheses and braces [OK]
Hint: Remember: while(condition) with parentheses and braces [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Using square brackets instead of parentheses
  • Adding colon after while keyword
3. What is the output of this C code?
int i = 1;
while (i <= 3) {
    printf("%d ", i);
    i++;
}
medium
A. 0 1 2 3
B. 1 2 3 4
C. 3 2 1
D. 1 2 3

Solution

  1. Step 1: Trace the loop variable values

    i starts at 1, prints 1, then increments to 2, prints 2, then 3, and stops after printing 3 because i becomes 4 and condition fails.
  2. Step 2: Confirm printed output

    The printed numbers are "1 2 3 " with spaces after each number.
  3. Final Answer:

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

    Prints 1 to 3 with spaces [OK]
Hint: Check loop start, end condition, and increments carefully [OK]
Common Mistakes:
  • Including 4 in output by mistake
  • Starting from 0 instead of 1
  • Printing numbers in reverse order
4. Identify the error in this code snippet:
int i = 0;
while (i < 5)
    printf("%d ", i);
medium
A. Syntax error due to missing braces
B. Missing semicolon after while condition
C. Infinite loop because i is never updated
D. Variable i is not declared

Solution

  1. Step 1: Analyze loop behavior

    Variable i starts at 0 and condition is i < 5, but i is never incremented inside the loop.
  2. Step 2: Understand consequence

    Since i never changes, the condition stays true forever, causing an infinite loop.
  3. Final Answer:

    Infinite loop because i is never updated -> Option C
  4. Quick Check:

    Loop variable must change to avoid infinite loop [OK]
Hint: Always update loop variable inside while loop [OK]
Common Mistakes:
  • Assuming loop ends without variable update
  • Thinking missing braces cause syntax error here
  • Ignoring infinite loop possibility
5. How can you modify this code to print all even numbers from 2 to 10 using a while loop?
int num = 1;
while (num <= 10) {
    printf("%d ", num);
    num++;
}
hard
A. Use a for loop instead of while loop
B. Initialize num to 2 and increment by 2 inside the loop
C. Initialize num to 0 and increment by 1 inside the loop
D. Keep num at 1 and print only if num % 2 == 0 without incrementing

Solution

  1. Step 1: Set starting point and increment for even numbers

    Start num at 2 (first even number) and increase by 2 each time to get only even numbers.
  2. Step 2: Modify loop accordingly

    Change initialization to num = 2 and inside loop do num += 2 instead of num++.
  3. Final Answer:

    Initialize num to 2 and increment by 2 inside the loop -> Option B
  4. Quick Check:

    Start at 2, add 2 each time for evens [OK]
Hint: Start at first even, add 2 each loop to get evens [OK]
Common Mistakes:
  • Not incrementing num causing infinite loop
  • Printing odd numbers by starting at 1
  • Using for loop when question asks for while loop
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