Header Ads

Switch statement - Objective C

Switch statement
  
A switch statement allows a variable to be tested for equality against a list of values.Each values is called a case, and the variable being switched on is checked for each switch case.

Syntax

switch(expression)
{
         case constatnt-expression :
                               statement(s);
                               break;

         case constant-expression :
                              statement(s);
                              break;
         default :
                             statement(s);
}

 
The following rules apply to a switch statement:
  • The expression used in a switch statement must have an integral or enumrated type or of a class type in which the class has a single conversion function to an integral or enumrated type.
  • You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a colon.
  • The constant-expression for a case must be the same data type as the variable in the switch, and it must be  a constant or a literal.
  • When the variable being switched on is equal to the case, the statements following that case will execute until a break statement is reached.
  • Not every case needs to contain a break. If no break appears, the flow of control will fall through to subsequent cases until a break is reached.
  • A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a task when none of the cases is true. No break is needed in the default case.

Example


#import<Foundation/Foundation.h>
int main()
{
     char grade = 'B' ;
     switch ( grade )
     {
            case 'A' :     
                         NSLog(@"Excellent\n");
                         break;
            case 'B' :
            case 'C' :
                         NSLog(@"welldone\n");
                         break;
       }
            case 'D' :
                         NSLog(@"You are passed\n");
                         break;
            case 'F' :
                         NSLog(@"Better try again \n");
                         break;
            default :
                         NSLog(@"Invalid grade \n");
                         break;
       }

       NSLog(@"YOur grade  is:%c \n", grade);
       return 0;
}


Nested Switch statements

It is possible to have a switch as part of the statement sequence of an outer switch. Even if the case constants of the inner and outer switch contain common values, no conflicts will arise.

Syntax


switch(ch1)
{
         case 'A' :
                     printf("This A is part of outer switch ");
                     switch(ch2)
                     {
                                case 'A' :
                                              printf("This A is part of inner switch");
                                              break;
                                case 'B' :
                     }
                    break;
        case 'B' :
}
                       

Example


#import<Foundation/Foundation.h>
int main()
{
      int a = 100;
      int b = 200;
    
     switch ( a )
     {
            case '100' :     
                         NSLog(@"This is part of outer switch\n", a);
                         switch(b)
                         {
                                case 200 :
                                             NSLog(@This is part of inner switch \n", a);
                          }
     }
     NSLog(@"Exact value of a is :%d \n", a);
     NSLog(@"Exact value of  b is:%d \n" ,b);

       return 0;}

No comments:

Powered by Blogger.