Bird
Raised Fist0
Cprogramming~10 mins

For loop in C - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - For loop
Initialize i=0
↓
Check: i < 5?
No→EXIT
Yes↓
Execute body
↓
Update: i = i+1
↩Back to Check
The for loop starts by setting a variable, then checks a condition. If true, it runs the loop body, updates the variable, and repeats. If false, it stops.
Execution Sample
C
for (int i = 0; i < 5; i++) {
    printf("%d\n", i);
}
Prints numbers 0 to 4, one per line, using a for loop.
Execution Table
Iterationi valueCondition (i < 5)ActionOutput
10TruePrint 00
21TruePrint 11
32TruePrint 22
43TruePrint 33
54TruePrint 44
65FalseExit loop
💡 i reaches 5, condition 5 < 5 is False, loop stops
Variable Tracker
VariableStartAfter 1After 2After 3After 4After 5Final
i0123455
Key Moments - 3 Insights
Why does the loop stop when i equals 5?
Because the condition i < 5 becomes false at i = 5, so the loop exits as shown in execution_table row 6.
When is the variable i updated in the loop?
i is updated after the loop body executes, before the next condition check, as seen between each iteration in variable_tracker.
Does the loop body run when the condition is false?
No, the loop body only runs when the condition is true. When i = 5, condition is false, so the loop body does not run (execution_table row 6).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of i during the 3rd iteration?
A3
B1
C2
D4
💡 Hint
Check the 'i value' column in execution_table row 3.
At which iteration does the loop condition become false?
A6
B4
C5
D1
💡 Hint
Look at the 'Condition (i < 5)' column in execution_table row 6.
If we change the loop to i < 3, how many times will the loop run?
A5 times
B3 times
C2 times
D4 times
💡 Hint
Refer to the pattern in variable_tracker and execution_table for how condition controls iterations.
Concept Snapshot
for loop syntax in C:
for (initialization; condition; update) {
  // code to repeat
}

Loop runs while condition is true.
Variable updates after each iteration.
Stops when condition is false.
Full Transcript
A for loop in C starts by setting a variable, here i=0. It checks if i is less than 5. If yes, it runs the code inside the loop, printing i. Then it adds 1 to i. This repeats until i reaches 5, when the condition fails and the loop stops. The variable i changes from 0 up to 5, but the loop body runs only when i is 0 to 4. This is shown step-by-step in the execution table and variable tracker.

Practice

(1/5)
1. What does a for loop in C primarily do?
easy
A. Repeats a block of code a fixed number of times
B. Defines a new variable
C. Stops the program execution
D. Declares a function

Solution

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

    A for loop is designed to repeat a block of code multiple times based on a condition.
  2. Step 2: Identify the correct description

    Among the options, only repeating code a fixed number of times matches the for loop's purpose.
  3. Final Answer:

    Repeats a block of code a fixed number of times -> Option A
  4. Quick Check:

    For loop = repeat code [OK]
Hint: For loops repeat code a set number of times [OK]
Common Mistakes:
  • Confusing for loop with variable declaration
  • Thinking for loop stops program
  • Mixing for loop with function declaration
2. Which of the following is the correct syntax for a for loop in C?
easy
A. for i = 0 to 5 { }
B. for (int i = 0; i++ < 5;) { }
C. for (i < 5; i = 0; i++) { }
D. for (int i = 0; i < 5; i++) { }

Solution

  1. Step 1: Review standard for loop syntax in C

    The correct syntax is: for (initialization; condition; update) { body }
  2. Step 2: Check each option

    for (int i = 0; i < 5; i++) { } matches the correct syntax with initialization, condition, and update in proper order.
  3. Final Answer:

    for (int i = 0; i < 5; i++) { } -> Option D
  4. Quick Check:

    Syntax = for(init; cond; update) [OK]
Hint: For loop syntax: for(init; condition; update) [OK]
Common Mistakes:
  • Using 'for i = 0 to 5' which is not C syntax
  • Swapping condition and initialization
  • Missing semicolons inside for parentheses
3. What is the output of this code?
for(int i = 1; i <= 3; i++) {
    printf("%d ", i);
}
medium
A. 3 2 1
B. 0 1 2 3
C. 1 2 3
D. 1 2 3 4

Solution

  1. Step 1: Analyze the loop range

    The loop starts at i=1 and runs while i is less than or equal to 3, incrementing i by 1 each time.
  2. Step 2: Determine printed values

    It prints i each time: 1, then 2, then 3, then stops.
  3. Final Answer:

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

    Loop prints 1 to 3 [OK]
Hint: Check loop start, end, and increments carefully [OK]
Common Mistakes:
  • Starting loop at 0 instead of 1
  • Including an extra number beyond 3
  • Printing in reverse order
4. Identify the error in this for loop:
for(int i = 0; i < 5; i)
    printf("%d ", i);
medium
A. Missing semicolon after printf statement
B. Missing increment operator in for loop update
C. Incorrect loop condition syntax
D. Variable i not declared

Solution

  1. Step 1: Examine the for loop update part

    The update section is 'i' without increment operator, so i never changes.
  2. Step 2: Understand the effect of missing increment

    Without 'i++' or similar, the loop runs infinitely or behaves incorrectly.
  3. Final Answer:

    Missing increment operator in for loop update -> Option B
  4. Quick Check:

    Update must change loop variable [OK]
Hint: For loop update must change variable (e.g., i++) [OK]
Common Mistakes:
  • Forgetting to increment loop variable
  • Confusing semicolon placement
  • Assuming variable auto-increments
5. How can you use a for loop to print only even numbers from 2 to 10 inclusive in C?
hard
A. for(int i = 2; i <= 10; i += 2) { printf("%d ", i); }
B. for(int i = 0; i <= 10; i++) { if(i % 2 == 0) printf("%d ", i); }
C. for(int i = 2; i < 10; i++) { if(i % 2 == 0) printf("%d ", i); }
D. for(int i = 0; i <= 10; i += 3) { printf("%d ", i); }

Solution

  1. Step 1: Understand the goal

    We want to print even numbers from 2 to 10 inclusive.
  2. Step 2: Check each option

    for(int i = 2; i <= 10; i += 2) { printf("%d ", i); } starts at 2 and increments by 2, printing 2,4,6,8,10 exactly.
  3. Final Answer:

    for(int i = 2; i <= 10; i += 2) { printf("%d ", i); } -> Option A
  4. Quick Check:

    Increment by 2 prints evens directly [OK]
Hint: Increment by 2 to print evens directly [OK]
Common Mistakes:
  • Using wrong increment step
  • Off-by-one errors in loop condition
  • Printing odd numbers by mistake
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