Else If Ladder in C
What is Else If Ladder:
When there are multiple options and a user has to decide from the options, we use Else If Ladder. Basically, it is an extension of if else statement. Else If Ladder is also called as Else If statement. In a program, one or many else if statements can possible. When an if condition is true then this block will execute, if not then else if condition runs. If else if condition is true, this block will execute otherwise else block will be executed.
Purpose of using “else if” Ladder:
Based on different conditions, if there are more than two possible actions in a C program, we will use Else If Ladder in C.
Syntax:
if(con1){
state1
//code will execute if con1 is true
}else if(con2){
state2
// code will execute if con2 is true
}
else if(con3){
state3
// code will execute if con3 is true
}
else{
state4
// code will execute if the previous conditions are false
}
Working:
If the first condition is true which is written inside the first If statement, state1 will be executed. Otherwise, next else if will be checked. If con2 is true, state2 will be executed. If not another else if will be checked and if con3 is true, state3 will be executed. Otherwise, else part will run and state4 will be executed. That is how else if statement works.
Example 1:
C program to check the given number is less than or equal to 20 or 40 or 60 or greater than 60.
#include<stdio.h>
int main()
{
int no, p=20, q=40, r=60;
printf("Enter any Number:");
//put a number to check
scanf("%d",&no);
if(no<p)
// check if the given number is less than 20 or not
{
printf("The given number is less than 20");
//will execute if the condition is true
}
else if(no==p)
//check if the given number is equal to 20 or not
{
printf("The given number is equal to 20");
//will execute if the condition is true
}
else if(no<q && no>p)
// check if the given number is less than 40 and greater than 20 or not
{
printf("The given number is less than 40");
//will execute if the condition is true
}
else if(no==q)
//check if the given number is equal to 40 or not
{
printf("The given number is equal to 40");
//will execute if the condition is true
}
else if(no<r && no >q)
// check if the given number is less than 60 and greater than 40 or not
{
printf("The given number is less than 60");
// will execute if the condition is true
}
else if(no==r)
//check if the given number is equal to 60 or not
{
printf("The given number is equal to 60");
//will execute if the condition is true
}
else
//if other conditions are false , this block will be executed
{
printf("The given number is greater than 60");
}
return 0;
}
Output 1: (When the user inputs 45)
Input 1:
45
Output:
The given number is less than 60
Output 2: (When the user inputs 28)
Input 2:
28
Output:
The given number is less than 40
Output 3: (When the user inputs 11)
Input 3:
11
Output:
The given number is less than 20
Output 4: (When the user inputs 20)
Input 4:
20
Output:
The given number is equal to 20
Output 5: (When the user inputs 40)
Input 5:
40
Output:
The given number is equal to 40
Example 2:
C Program to print month name based on a given number
#include<stdio.h>
int main()
{
int month;
printf("Enter month number: ");
//put a month number to find the month name
scanf("%d", &month);
if(month==1)
{
printf("JANUARY.");
}
else if(month==2)
{
printf("FEBRUARY.");
}
else if(month==3)
{
printf("MARCH.");
}
else if(month==4)
{
printf("APRIL.");
}
else if(month==5)
{
printf("MAY.");
}
else if(month==6)
{
printf("JUNE.");
}
else if(month==7)
{
printf("JULY.");
}
else if(month==8)
{
printf("AUGUST.");
}
else if(month==9)
{
printf("SEPTEMBER.");
}
else if(month==10)
{
printf("OCTOBER.");
}
else if(month==11)
{
printf("NOVEMBER.");
}
else if(month==12)
{
printf("DECEMBER.");
}
else
{
printf("INVALID INPUT.");
}
return 0;
}
Output 1:
Enter month number: 5
MAY.
Output 2:
Enter month number: 18
INVALID INPUT
Output 3:
Enter month number: 12
DECEMBER.