Bird
Raised Fist0
Cprogramming~5 mins

For loop in C - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: For loop
O(n)
Understanding Time Complexity

We want to understand how the time a for loop takes changes as we increase the number of times it runs.

How does the work grow when the loop runs more times?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


for (int i = 0; i < n; i++) {
    printf("%d\n", i);
}
    

This code prints numbers from 0 up to n-1 using a for loop.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The for loop runs the print statement.
  • How many times: Exactly n times, once for each number from 0 to n-1.
How Execution Grows With Input

As n grows, the number of times the loop runs grows the same way.

Input Size (n)Approx. Operations
1010 print operations
100100 print operations
10001000 print operations

Pattern observation: The work grows directly with n. Double n, double the work.

Final Time Complexity

Time Complexity: O(n)

This means the time grows in a straight line with the number of loop runs.

Common Mistake

[X] Wrong: "The loop runs faster because it just prints numbers quickly."

[OK] Correct: The speed of printing does not change how many times the loop runs. The loop still runs n times, so time grows with n.

Interview Connect

Understanding how loops affect time helps you explain how your code scales and shows you can think about efficiency clearly.

Self-Check

"What if we added a second nested for loop inside this one? How would the time complexity change?"

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