Bird
Raised Fist0
Cprogramming~5 mins

If–else statement in C

Choose your learning style10 modes available
Introduction

An if-else statement helps your program make choices. It runs one set of instructions if a condition is true, and another set if it is false.

Deciding if a user is old enough to access a website.
Checking if a number is positive or negative.
Choosing what message to show based on the time of day.
Turning on a light if it is dark outside.
Giving a discount if a customer buys more than 5 items.
Syntax
C
if (condition) {
    // code to run if condition is true
} else {
    // code to run if condition is false
}
The condition is a test that is either true or false.
Curly braces { } group the code that runs for each case.
Examples
This checks if age is 18 or more. It prints a message based on that.
C
if (age >= 18) {
    printf("You are an adult.\n");
} else {
    printf("You are a minor.\n");
}
This prints "Passed" if score is above 50, otherwise "Failed".
C
if (score > 50) {
    printf("Passed\n");
} else {
    printf("Failed\n");
}
Sample Program

This program asks the user to enter a number. It then checks if the number is even or odd using the if-else statement and prints the result.

C
#include <stdio.h>

int main() {
    int number;
    printf("Enter a number: ");
    scanf("%d", &number);

    if (number % 2 == 0) {
        printf("%d is even.\n", number);
    } else {
        printf("%d is odd.\n", number);
    }

    return 0;
}
OutputSuccess
Important Notes

Always use curly braces { } even if you have only one line inside if or else. It helps avoid mistakes.

The condition inside if must be something that can be true or false, like comparisons.

Summary

If-else lets your program choose between two paths.

Use it when you want to do one thing if a condition is true, and another if it is false.

Remember to write clear conditions and use braces for readability.

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