Bird
Raised Fist0
Cprogramming~3 mins

Why If–else statement in C? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if your program could decide what to do next all by itself, just like you do every day?

The Scenario

Imagine you are sorting mail by hand, deciding if each letter goes to the "urgent" pile or the "normal" pile. You have to check every letter carefully and place it correctly.

The Problem

Doing this by hand is slow and easy to mess up. You might forget to check some letters or put them in the wrong pile. It takes a lot of time and focus.

The Solution

The if-else statement in C helps the computer make these decisions quickly and correctly. It checks a condition and chooses what to do next, just like sorting letters automatically.

Before vs After
✗ Before
if (score > 50) {
    printf("Pass\n");
}
// else do nothing
✓ After
if (score > 50) {
    printf("Pass\n");
} else {
    printf("Fail\n");
}
What It Enables

It lets your program choose between two paths, making it smart and responsive to different situations.

Real Life Example

For example, a game can check if a player has enough points to win and show a "You Win!" message or "Try Again" otherwise.

Key Takeaways

If-else helps make decisions in code.

It saves time and reduces mistakes compared to manual checking.

It makes programs respond differently based on conditions.

Practice

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

Solution

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

    An if-else statement lets the program pick one of two paths depending on whether a condition is true or false.
  2. Step 2: Match the description to the options

    Only It chooses between two actions based on a condition. describes choosing between two actions based on a condition, which is exactly what if-else does.
  3. Final Answer:

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

    If-else = choose between two paths [OK]
Hint: If you want two choices, use if-else [OK]
Common Mistakes:
  • Confusing if-else with loops
  • Thinking if-else declares variables
  • Mixing if-else with function definitions
2. Which of the following is the correct syntax for an if-else statement in C?
easy
A. if (condition) then { /* code */ } else { /* code */ }
B. if condition then { /* code */ } else { /* code */ }
C. if (condition) { /* code */ } else { /* code */ }
D. if condition { /* code */ } else { /* code */ }

Solution

  1. Step 1: Recall C syntax rules for if-else

    In C, conditions must be inside parentheses and braces {} are used for code blocks.
  2. Step 2: Check each option

    Only if (condition) { /* code */ } else { /* code */ } uses parentheses around the condition and braces correctly without extra keywords like 'then'.
  3. Final Answer:

    if (condition) { /* code */ } else { /* code */ } -> Option C
  4. Quick Check:

    Correct syntax uses parentheses and braces [OK]
Hint: Remember: if(condition) with braces {} [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Using 'then' keyword (not in C)
  • Skipping braces for multiple statements
3. What will be the output of this C code?
#include 
int main() {
    int x = 10;
    if (x > 5) {
        printf("Greater\n");
    } else {
        printf("Smaller\n");
    }
    return 0;
}
medium
A. Greater
B. Smaller
C. 10
D. No output

Solution

  1. Step 1: Evaluate the condition x > 5

    Variable x is 10, which is greater than 5, so the condition is true.
  2. Step 2: Determine which block runs

    Since the condition is true, the code inside the if block runs, printing "Greater".
  3. Final Answer:

    Greater -> Option A
  4. Quick Check:

    10 > 5 is true, so prints "Greater" [OK]
Hint: Check if condition is true or false to pick output [OK]
Common Mistakes:
  • Confusing which block runs on true condition
  • Ignoring the newline character in printf
  • Assuming else block runs when condition is true
4. Find the error in this if-else code snippet:
int a = 3;
if a > 0
    printf("Positive\n");
else
    printf("Non-positive\n");
medium
A. Missing semicolon after if statement
B. Missing parentheses around condition in if statement
C. Missing braces around printf statements
D. Incorrect else keyword

Solution

  1. Step 1: Check syntax of if condition

    In C, the condition in an if statement must be inside parentheses (). Here, it is missing.
  2. Step 2: Verify other parts

    Semicolons after printf are present, braces are optional for single statements, and else keyword is correct.
  3. Final Answer:

    Missing parentheses around condition in if statement -> Option B
  4. Quick Check:

    if condition needs parentheses ( ) [OK]
Hint: Always put condition inside parentheses ( ) [OK]
Common Mistakes:
  • Forgetting parentheses in if condition
  • Thinking braces are always required for single statements
  • Misplacing else keyword
5. You want to write a program that prints "Even" if a number is even, and "Odd" if it is odd. Which if-else code correctly does this in C?
hard
A. if (num % 2 == 0) { printf("Even\n"); } else { printf("Odd\n"); }
B. if (num / 2 == 0) { printf("Even\n"); } else { printf("Odd\n"); }
C. if (num % 2 = 0) { printf("Even\n"); } else { printf("Odd\n"); }
D. if (num % 2 != 0) { printf("Even\n"); } else { printf("Odd\n"); }

Solution

  1. Step 1: Understand how to check even numbers

    A number is even if dividing by 2 leaves remainder 0, which is checked by num % 2 == 0.
  2. Step 2: Analyze each option

    if (num % 2 == 0) { printf("Even\n"); } else { printf("Odd\n"); } correctly uses modulus operator and equality check. if (num / 2 == 0) { printf("Even\n"); } else { printf("Odd\n"); } uses division instead of modulus. if (num % 2 = 0) { printf("Even\n"); } else { printf("Odd\n"); } uses assignment (=) instead of comparison (==). if (num % 2 != 0) { printf("Even\n"); } else { printf("Odd\n"); } reverses the logic.
  3. Final Answer:

    if (num % 2 == 0) { printf("Even\n"); } else { printf("Odd\n"); } -> Option A
  4. Quick Check:

    Use modulus == 0 to check even [OK]
Hint: Use num % 2 == 0 to test even numbers [OK]
Common Mistakes:
  • Using division instead of modulus
  • Using = instead of == in condition
  • Reversing even and odd logic
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