- The if statement by itself will execute a single statement, or a group of statements, when the expression following if evaluates to true.
- It does nothing when the expression evaluates to false.
Can we execute one group of statements if the expression evaluates to true and another group of statements if the expression evaluates to false? Of course! This is what is the purpose of the else statement.
Let’s have an example:
In a company an employee is paid as under:
If his basic salary is less than Rs. 1500, then HRA = 10% of basic salary and DA = 90% of basic salary. If his salary is either equal to or above Rs. 1500, then HRA = Rs. 500 and DA = 98% of basic salary. If the employee’s salary is input through the keyboard write a program to find his gross salary.
/* Calculation of gross salary */
float bs, gs, da, hra ;
printf ( “Enter basic salary ” ) ;
scanf ( “%f”, &bs ) ;
if ( bs < 1500 )
hra = bs * 10 / 100 ;
da = bs * 90 / 100 ;
hra = 500 ;
da = bs * 98 / 100 ;
gs = bs + hra + da ;
printf ( “gross salary = Rs. %f”, gs ) ;
Flow Diagram :
Point to be Noted
- The group of statements after the if up to and not including the else is called an ‘if block’. Similarly, the statements after the else form the ‘else block’.
- Notice that the else is written exactly below the if. The statements in the if block and those in the else block have been indented to the right. This formatting convention is followed throughout the book to enable you to understand the working of the program better.
- Had there been only one statement to be executed in the if block and only one statement in the else block we could have dropped the pair of braces.
- As with the if statement, the default scope of else is also the statement immediately after the else. To override this default scope a pair of braces as shown in the above example must be used.