Decision Making Statement:-
Decision making statement means those statement which is used to apply some condition before executing some part of program.
In C programming we have some decision making statements.
1]if
2]if else
3]nested if else
4]else if ladder
5]switch

1] if
if is the statement which is used to apply one condition before executing some code. if statement contains only one option i.e true block statement.
if statement is also referred as simple if statement.

syntax:-
if(condition)
{
stmt-block;
}
stmt-x; /* any statement which is present after if block */

here stmt-block is the code which is executed when the given condition is true or satisfied.
If the given condition is true then control goes to stmt-block and after execution of stmt-block control automatically passes to stmt-x(any statement which is present after if block).
If the given condition is false then control directly pass to stmt-x(any statement which is present after if block).

Programming example
//Program to demonstarte if statement
#include<stdio.h>
#include<conio.h>
void main()
{
int a;
clrscr();
printf("Enter any no. greater than 10 \n");
scanf("%d",&a);
if(a>10)
{
printf("Correct Input \n");
}
printf("Program Ends")
getch();
}

O/P:-
a] If user enter correct no. then output is :-
Enter any no. greater than 10
20
Correct Input
Program Ends

b] If user enter wrong no. then output is :-
Enter any no. greater than 10
2
Program Ends

2] if else statement :-
if else statement is similar to if statement but if else provide two different block i.e if the condition is true then if block will be the output and if the condition is false then else block will be the output.

syntax:-
if(condition)
{
True stmt-block;
}
else
{
False stmt-block;
}
stmt-x;

if the condition is true then result is true stmt-block and then stmt-x, but if the condtion is false then result is false stmt-block and then stmt-x.
Ex:-
//Program to demonstarte if statement
#include<stdio.h>
#include<conio.h>
void main()
{
int a;
clrscr();
printf("Enter any no. greater than 10 \n");
scanf("%d",&a);
if(a>10)
{
printf("Correct Input \n");
}
else
{
printf("Incorrect Input\n");
}
printf("Program Ends")
getch();
}
O/P:-
a] If user enter correct no. then output is :-

Enter any no. greater than 10
20
Correct Input
Program Ends

b] If user enter wrong no. then output is :-

Enter any no. greater than 10
2
Incorrect Input
Program Ends

3] Nested if else:-
It is possible to specify condition under other condition. If one block contains other block then it is known as nested statement. In C programming one if condition can also contain other if condition in its true statement or false statement block. Even we specify n number of condition among those all only one statement will be the final output.

Syntax:-

if(condition1)
{
if(condition2)
{
stmt-block1;
}
else
{
stmt-block2;
}
}
else
{
if(contdition3)
{
stmt-block3;
}
else
{
stmt-block4;
}
}
tmt-x;
as shown in above syntax if the condition1 is true then control will pass to condition2, if condition2 is true then stmt-block1 will be the output, if condition2 is false then stmt-block2 will be the output.
If the condition1 if false then control will pass to condition3, if the condition3 is true then stmt-block3 will be the output, if the condition3 is false then stmt-block4 will be the output.
Ex:-
//Program to find greater no. between 3 numbers using nested if else statement
#include<stdio.h>
#include<conio.h>
void main()
{
int n1,n2,n3;
clrscr();
printf("Enter any three number \n");
scanf("%d%d%d",&n1,&n2,&n3);
if(n1>n2)
{
if(n1>n3)
{
printf("Number1 is greater\n");
}
else
{
printf("Number3 is greater\n");
}
}
else
{
if(n2>n3)
{
printf("Number2 is greater\n");
}
else
{
printf("Number3 is greater\n");
}
}
printf("Program Ends")
getch();
}
O/P:-
Enter any thee number
10 20 15
Number 2 is greater

4]Switch :-
Switch is the decision making statement which is used to specify n number of choices for user, among those all choices only one statement will be the final. Switch contain one expression which is compaired with number of choices.
Syntax:-
switch(expression)
{
case constant1 :
stmt1;
break;
case constant2 :
stmt2;
break;
case constant_n :
stmt_n;
break;
default:
default stmt;
}
stmt-x;

Here if the expression match with case constant1 then stmt1 will be the output, if the expression match with case constant2 then stmt2 will be the output and so on. If any choice doesnot match with expression then default stmt will be the output.

//Program to demonstrate switch
#include<stdio.h>
#include<conio.h>
void main()
{
int num;
printf("Enter number between 1 to 4 \n");
scanf("%d",&num);
switch(num)
{
case 1 :
printf("You hv entered 1 \n");
break;
case 2 :
printf("You hv entered 2 \n");
break;
case 3 :
printf("You hv entered 3 \n");
break;
case 4 :
printf("You hv enter 4 \n");
break;
default :
printf("Wrong Input \n");
}
getch();
}

O/P:-
a] If user give correct input :
Enter number between 1 to 4
3
You hv entered 3

b] If user give incorrect input :
Enter number between 1 to 4
6
Wrong Input