๐Ÿ” C Control Flow โ€“ Conditions & Loops
Estimated reading: 3 minutes 375 views

C ifโ€ฆelse Statements โ€“ Syntax, Nesting, and Examples

Introduction โ€“ What Are if...else Statements in C?

The if...else statement in C is a fundamental control structure used to execute different blocks of code based on a condition. It allows the program to make decisions dynamically during runtime, enabling conditional logic for real-world scenarios like login checks, value comparisons, and branching computations.

In this guide, youโ€™ll learn:

  • The syntax of if, else if, and else
  • How conditional branching works
  • Nested and compound conditions
  • Best practices and common pitfalls

Syntax of if...else

if (condition) {
    // Code runs if condition is true
} else {
    // Code runs if condition is false
}

With else if:

if (condition1) {
    // Executes if condition1 is true
} else if (condition2) {
    // Executes if condition2 is true
} else {
    // Executes if none are true
}

Example: Basic if...else

int num = 10;

if (num > 0) {
    printf("Positive number");
} else {
    printf("Not positive");
}

Output:

Positive number

Nested if...else Statements

You can nest one if...else inside another to check multiple layers of conditions.

if (score >= 50) {
    if (score >= 90) {
        printf("Excellent");
    } else {
        printf("Passed");
    }
} else {
    printf("Failed");
}

Compound Conditions with Logical Operators

You can combine multiple conditions using logical operators &&, ||, and !.

if (age > 18 && age < 60) {
    printf("Eligible to work");
}

Common Pitfalls

MistakeIssue
Using = instead of ==Assignment instead of comparison
Forgetting braces {} for multiple linesMay lead to logical bugs
Not covering all paths with elseMay leave code undefined under some conditions

Good Practice:

if (x == 5) {
    printf("Matched");
}

Bad Practice:

if (x = 5) {   // Assignment instead of comparison!
    printf("Always true");
}

Summary โ€“ Recap & Next Steps

The if...else structure is essential for decision-making logic in C programs. It allows programs to respond to varying input, compare values, and execute code selectively.

Key Takeaways:

  • Use if for simple conditions
  • Add else if and else to handle multiple paths
  • Use logical operators for compound conditions
  • Avoid assignment = in place of comparison ==

Real-World Relevance:

From form validation to game logic and system configuration, if...else is used in almost every C program that involves user input or dynamic response.


Frequently Asked Questions (FAQ)

What is the difference between = and ==?

= is an assignment operator.
== checks for equality between two values.


Can I use multiple else if blocks?

Yes. You can have as many else if blocks as needed to test multiple conditions.


What is nesting in if...else?

Nesting means placing one if...else inside another. It helps test sub-conditions after a primary condition is true.


Can I use conditions without braces?

Yes, but only for a single statement. For multiple statements, always use {} for clarity and to avoid bugs.


How do I compare strings using if?

Use the strcmp() function from <string.h>:

if (strcmp(str1, str2) == 0) {
    // Strings are equal
}

Share Now :
Share

๐Ÿง  C if…else Statements

Or Copy Link

CONTENTS
Scroll to Top