Multiple Statements With In If


Multiple Statements With In If

Multiple Statements With In If
It may so happen that in program we want more than one statement to be execute if the expression following IF is satisfied.If such multiple statements are to be execute then they must be placed within a pair of  braces as illustrated in the following example.Example:3   /* calculation of Bonus*/
                 
main()
{
 int bonus, cy, yoi,yr_of_ser;
 printf("Enter current Year and Year  of joining");
 scanf(%d%d",&cy,&yoi);
 yr_of_ser=cy-yoi;
 if(yr_of_ser>3)
 {
  bonus=2500;
  printf("Bomus=Rs. %d",binus);
 }
}
   Observe that here the two statements to be executed on satisfaction of the condition have been enclosed within a pair of braces. If a pair of braces is not used then the C compiler assumes that the programmer wants only the immediately next statement after the if to be execute on satisfaction of the condition. In the other words we can say that the default scope of the IF statement is the immediately next statement after it.



The IF-ELSE Statement:

if. . .else statement is an extension of the simple
IF statement.

 The general form is:

               if(test condition)

               {

                 True-Block statement(s)

               }

               else

               {

                 False-Block statement(s) 

               }

               statement -x;

Points to be remembered:

1. 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".
2. 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.
3. Had there been only one statement to be executed in  the IF block and only one statement in the ELSE block  we would have dropped the pair of Braces.
4. 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 must be used.

 Let us consider an example of counting the number of  boys and girls in a class. We can use  code 1 for boys and 2 for girls.
         
              - - - - - - - - - -  -  - - - -

              - - - - - - - - - - - - - - - -

                         if(code==1)

                         boy=boy+1;

                         if(code==2)

                         girl=girl+1;

              - - - - - - - - - -  -  - - - -

              - - - - - - - - - - - - - - - -

 Example:4

                    main()

                    {
                      int a=300,b=10,c=20;

                      if(!(a>=400))

                       b=300;

                       c=200;

                       printf("b=%d c=%d",b,c);

                    }

OUTPUT:   b=300   c=200

Explanation:  The condition (a>=400) evaluates to FALSE since a is neither equal to nor greater than
400. The condition is therefore replaced by '0'.But the NOT operator (!) negates the result of this
condition. This means it reverses the  result  of the condition (0) to 1. Thus the If gets reduced
to,

               if(1)
           
                b=300;

   obviously, b=300 would get executed, followed by c=200,
hence the output.


Example:5

             main()

             {

               if(!3.14)

               printf("rama is a good boy");

               else           

               printf("Rama and Krishna are friends");

             }

OUTPUT:
        Rama and Krishna  are friends

Explanation: 3.14 being a positive number, is a truth value, and on negating it using the ! operator it results into a '0'.thus the result of the condition is FALSE, hence the second printf() is executed.

Example:6

                main()     

                {

                 float a=12.25, b=13.65;

                 if(a=b)

                 printf("a and b are equal");

                 else

                 printf("a and b are not equal");

                }

OUTPUT:
        a and b are equal

Explanation:  To begin with a and b are not equal. The catch here is the assignment operator used in the if statement. it simply assigns the value of b to a, and hence the condition becomes,

                     if(13.65)
       The  condition evaluates since the value is a non-zero value,so the printf() may evaluate, Hence the result. 

No comments:

Post a Comment