Bird
Raised Fist0
C++programming~5 mins

If–else statement in C++ - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: If-else statement
O(1)
Understanding Time Complexity

We want to see how the time it takes to run an if-else statement changes as the input changes.

Specifically, does choosing one path or the other affect how long the program runs?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


int checkNumber(int n) {
    if (n > 0) {
        return 1;
    } else {
        return -1;
    }
}
    

This code checks if a number is positive or not and returns a value accordingly.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single if-else check.
  • How many times: Exactly once per function call.
How Execution Grows With Input

The program always does one check no matter what the input number is.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The number of operations stays the same even if the input changes.

Final Time Complexity

Time Complexity: O(1)

This means the time to run the code does not grow with input size; it stays constant.

Common Mistake

[X] Wrong: "If-else takes longer for bigger numbers because it has to check more conditions."

[OK] Correct: The if-else only checks one condition once, no matter how big the number is.

Interview Connect

Understanding that simple decisions like if-else run in constant time helps you explain how your code behaves clearly and confidently.

Self-Check

"What if we added a loop inside the if block that runs n times? How would the time complexity change?"

Practice

(1/5)
1. What does an if-else statement do in C++?
easy
A. It defines a function.
B. It repeats a block of code multiple times.
C. It chooses between two paths based on a condition.
D. It declares a variable.

Solution

  1. Step 1: Understand the purpose of if-else

    An if-else statement lets the program decide which block of code to run based on a condition.
  2. Step 2: Compare with other options

    Repeating code is done by loops, functions define reusable code, and variables store data, so these are not correct.
  3. Final Answer:

    It chooses between two paths based on a condition. -> Option C
  4. Quick Check:

    If-else = choose path [OK]
Hint: If condition true, run if-block; else run else-block [OK]
Common Mistakes:
  • Confusing if-else with loops
  • Thinking if-else defines functions
  • Mixing variable declaration with control flow
2. Which of the following is the correct syntax for an if-else statement in C++?
easy
A. if (x > 0) { cout << "Positive"; } else { cout << "Non-positive"; }
B. if x > 0 then cout << "Positive" else cout << "Non-positive"
C. if (x > 0) cout << "Positive" else cout << "Non-positive";
D. if x > 0 { cout << "Positive" } else { cout << "Non-positive" }

Solution

  1. Step 1: Check C++ if-else syntax rules

    C++ requires parentheses around the condition and braces around blocks for multiple statements.
  2. Step 2: Analyze each option

    if (x > 0) { cout << "Positive"; } else { cout << "Non-positive"; } uses correct parentheses and braces. Options A and B miss parentheses or use incorrect keywords. if (x > 0) cout << "Positive" else cout << "Non-positive"; misses semicolon after else block.
  3. Final Answer:

    if (x > 0) { cout << "Positive"; } else { cout << "Non-positive"; } -> Option A
  4. Quick Check:

    Correct syntax uses parentheses and braces [OK]
Hint: Use parentheses for condition and braces for blocks [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Missing braces for multiple statements
  • Using 'then' keyword (not in C++)
3. What will be the output of this code?
int x = 5;
if (x < 3) {
  cout << "Less";
} else {
  cout << "More or equal";
}
medium
A. Less
B. More or equal
C. No output
D. Compilation error

Solution

  1. Step 1: Evaluate the condition x < 3

    Variable x is 5, so 5 < 3 is false.
  2. Step 2: Determine which block runs

    Since condition is false, the else block runs, printing "More or equal".
  3. Final Answer:

    More or equal -> Option B
  4. Quick Check:

    Condition false -> else block output [OK]
Hint: Check condition truth to pick if or else output [OK]
Common Mistakes:
  • Assuming if-block runs when condition is false
  • Confusing output strings
  • Ignoring else block
4. Find the error in this code snippet:
int n = 10;
if n > 5 {
  cout << "Big";
} else {
  cout << "Small";
}
medium
A. Missing parentheses around condition
B. Missing semicolon after cout statements
C. Incorrect else keyword
D. Variable n not declared

Solution

  1. Step 1: Check if statement syntax

    C++ requires parentheses around the condition in if statements.
  2. Step 2: Identify the error

    The code uses if n > 5 without parentheses, which is invalid syntax.
  3. Final Answer:

    Missing parentheses around condition -> Option A
  4. Quick Check:

    if condition needs parentheses [OK]
Hint: Always put condition inside parentheses in if [OK]
Common Mistakes:
  • Omitting parentheses in if condition
  • Forgetting semicolons (though not the main error here)
  • Misreading else keyword
5. You want to write a program that prints "Even" if a number is divisible by 2, otherwise prints "Odd". Which code correctly uses if-else to do this?
hard
A. if (num % 2 = 0) { cout << "Even"; } else { cout << "Odd"; }
B. if (num / 2 == 0) { cout << "Even"; } else { cout << "Odd"; }
C. if (num % 2 != 0) { cout << "Even"; } else { cout << "Odd"; }
D. if (num % 2 == 0) { cout << "Even"; } else { cout << "Odd"; }

Solution

  1. Step 1: Understand divisibility by 2

    A number is divisible by 2 if remainder when divided by 2 is zero, i.e., num % 2 == 0.
  2. Step 2: Check each option's condition

    if (num % 2 == 0) { cout << "Even"; } else { cout << "Odd"; } correctly uses num % 2 == 0. if (num / 2 == 0) { cout << "Even"; } else { cout << "Odd"; } uses division instead of modulo. if (num % 2 = 0) { cout << "Even"; } else { cout << "Odd"; } uses assignment (=) instead of comparison (==). if (num % 2 != 0) { cout << "Even"; } else { cout << "Odd"; } reverses the logic.
  3. Final Answer:

    if (num % 2 == 0) { cout << "Even"; } else { cout << "Odd"; } -> Option D
  4. Quick Check:

    Use modulo == 0 for even check [OK]
Hint: Use modulo (%) and == 0 to check even numbers [OK]
Common Mistakes:
  • Using assignment (=) instead of comparison (==)
  • Using division (/) instead of modulo (%)
  • Reversing if and else blocks
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