Control Statements (Conditional – Decision Making) with Example | C Language

Control Statements (Conditional – Decision Making) with Example | C Language


When writing programs, we often need to decide what happens next based on conditions or repeat certain tasks until a condition is met. This process is called decision making, and it helps programs respond to different situations. In C, we use control statements to manage the flow of the program.

What Are Control Statements?

Control statements decide how the program runs. They help us:

  • Run a block of code only if a condition is true.
  • Choose between different actions based on conditions.
  • Repeat a task until a condition is met.

C provides these control statements for decision making:

  1. if Statement
  2. switch Statement
  3. Conditional Operator (? :)
  4. goto Statement

Each of these control statements allows programmers to make decisions that influence how the program executes. Without control statements, programs would execute in a linear fashion, limiting their ability to handle different conditions dynamically. Learning how to use these statements effectively can make your programs more flexible and efficient.

Let’s look at each one with examples.


1. if Statement

Programs often need to execute specific actions only when certain conditions are met. The if statement runs a block of code only if a condition is true. It is one of the most commonly used decision-making structures in C.

If


Example:

int age = 20;
if (age >= 18) {
    printf("You can vote.\n");
}

Here, the message is printed only if age is 18 or older. If the condition is false, the program skips the block inside the if statement and continues executing the remaining code.


2. if-else Statement

Sometimes, a program needs to choose between two different actions based on a condition. The if-else statement runs one block of code if a condition is true and another if it’s false. This helps when there are two possible outcomes.

If else


Example:

int age = 16;
if (age >= 18) {
    printf("You can vote.\n");
} else {
    printf("You cannot vote.\n");
}

Since age is less than 18, the second message is printed. The else block ensures that some code executes even if the if condition is false.


3. else-if Ladder

There are cases where we need to check multiple conditions before making a decision. The else-if ladder allows checking several conditions in sequence, executing the first block where the condition is true.


ladder

Example:

int marks = 85;
if (marks >= 90) {
    printf("Grade: A\n");
} else if (marks >= 80) {
    printf("Grade: B\n");
} else {
    printf("Grade: C\n");
}

Here, the program assigns a grade based on marks. If the first condition is false, the next condition is checked, and so on.


4. switch Statement

When dealing with multiple possible values of a single variable, using multiple if-else statements can become lengthy. The switch statement checks a variable’s value and runs the matching case, making the code easier to read.

switch statement

Example

char grade = 'B';
switch (grade) {
    case 'A':
        printf("Excellent!\n");
        break;
    case 'B':
        printf("Good job!\n");
        break;
    default:
        printf("Try again.\n");
}

Here, the message depends on the value of grade. The break statement ensures that once a match is found, the execution exits the switch block.


5. Nested If Else Statements 

When a series of decisions are involved, we may have to use more than one if…else statement in nested form as follows\


Example:

int a, b, c;

    // Input three numbers
    printf("Enter three numbers: ");
    scanf("%d %d %d", &a, &b, &c);

    // Nested if-else to find the largest number
    if (a > b) {
        if (a > c) {
            printf("The largest number is: %d\n", a);
        } else {
            printf("The largest number is: %d\n", c);
        }
    } else {
        if (b > c) {
            printf("The largest number is: %d\n", b);
        } else {
            printf("The largest number is: %d\n", c);
        }
    }

This assigns the larger value to max in one line. The ternary operator improves readability for simple decisions but should be avoided for complex conditions.


6.goto Statement

The goto statement provides a way to jump directly to a labeled part of the program. While it can be useful in specific scenarios, such as breaking out of deeply nested loops, it is generally discouraged because it can make code harder to follow and debug.


Example:


int i = 0;
start:
    printf("%d\n", i);
    i++;
    if (i < 5) {
        goto start;
    }

This prints numbers from 0 to 4 using goto. However, it is generally recommended to use loops instead of goto for better readability.


Choosing the Right Control Statement

Different control statements serve different purposes. Choosing the right one helps keep your code clean and efficient:

  • Use if for simple conditions.
  • Use if-else for two options.
  • Use else-if for multiple conditions.
  • Use switch for multiple choices based on one variable.
  • Use Nested If Else? : for quick decisions.
  • Avoid goto unless necessary.

Understanding when to use each control statement is important for writing clear and efficient code. Choosing the right statement for the right scenario will make your code easier to understand and maintain.


Conclusion

Control statements make programs flexible by allowing decisions and loops. By understanding these, you can write better programs that handle different situations efficiently. They help in building interactive programs that respond dynamically to user inputs and conditions.

Mastering control statements is an essential step in becoming proficient in C programming. Whether it’s using if for a basic check, switch for handling multiple cases, or a ternary operator for quick conditions, each statement has its own importance.


With practice, you’ll be able to use these statements effectively to write structured and optimized code. Happy coding! 🚀

Post a Comment

Previous Post Next Post

Contact Form