Switch statement in C Language | सी में स्विच स्टेटमेंट | Hindi


एक tutorial में हमने C if-else-if ladder के बारे में सीखा था की इसमे एक से अधिक condition बना सकते हैं या एक से अधिक options बना सकते हैं ।  जो condition true होती हैं उसके साथ वाला ब्लॉक execute हो जाता हैं । if-else-if ladder के बाद आता है switch statement जो की if-else-if ladder के ब्लॉक से बचने और program को आसान बनाने के लिए उपयोग में लाया जाता हैं if-else-if ladder के द्वारा बड़े code नही कर सकते हैं क्यूकी इसका syntax काफी बड़ा होता हैं और लिखने में भी बहुत complex हो जाता हैं तो बड़े if-else-if ladder की जगह हम switch statement का उपयोग करते हैं । 
इस tutorial में C programming मे switch statement के बारे में सीखेंगे और समझेगे वो भी साधारण हिन्दी भाषा में । 

Switch statement in C language | Hindi 

Switch statement एक ऐसा control statement हैं जिसका उपयोग बहुत सारे options में से केवल एक option को execute करने के लिए किया जाता हैं । इसे switch case भी कह सकते हैं क्यूकी इसमे case बनते हैं जो भी case match होता हैं तो उस case का कोड़ execute हो जाता हैं और यदि कोई भी case match नही होता हैं तो default code execute होता हैं जैसे   if-else-if ladder में else block execute होता हैं यदि कोई भी condition true न हो इसमे बस case होते हैं । 
Switch case मे parenthesis () में जो expression होती हैं उसका मूल्यांकन हम true और false पर नही कर सकते हैं । 
उस expression को हम Switch Statement के बॉडी में Case कीवर्ड के बाद लिखे constant values के साथ मैच करते है और यदि expression किसी भी constant वैल्यू से मैच करता है तो उस Case के बाद के कोड को execute कर देते है | 
चलिये syntax से switch statement को समझते हैं – 

Syntax -

switch (expression)
{
case 1:
code to be executed if the expression is matched 
break;
case 2:
code to be executed if the expression is matched 
break;
default:
code to be executed
if expression does not match with any case.
}

Switch expression integer या character type होनी चाइए । Case वैल्यू जो आप देख रहे हैं उपर syntax में वो वैल्यू integer या character constant होनी चाइए ।  case वैल्यू केवल switch statement  के अंदर ही उपयोग कर सकते हैं । switch statement में हम break statement भी उपयोग करते हैं यदि आपको case ब्लॉक को break करना हैं मतलब की यदि कोई case switch expression से match हो जाता हैं तो case block execute हो जाता हैं यदि break न हो तो आगे वाले सभी case भी execute हो जाते हैं । तो एक सही तरीके से ब्लॉक बनाने ने के लिए break; लगाया जाता हैं जिससे compiler को यह पता चलता हैं की ये ब्लॉक कहाँ पर खतम हो रहा हैं फिर compiler आगे कोई case block को execute नही करता हैं । यदि कोई भी case switch expression से मैच नही होते हैं तब default caluse execute होता हैं । 
Default caluse switch case में optional होता हैं इसका मतलब default clause को लिख भी सकते हैं ओर नही भी यदि आप चाहते हैं की यदि कोई भी case मैच न हो तो default code execute हो तब वहाँ पर default caluse लिख सकते हैं । 
चलिये C language में C program के द्वारा switch statement को समझेत हैं – 

Examples of a switch statement in C programming -

Example 1 – 

#include<stdio.h>  
int main(){    
int day_no=1;    
  
printf("Enter a day number:");  
scanf("%d",&day_no);  
switch(day_no){  
case 1:  
printf("It is Monday.\n"); 
break ; 
case 2:  
printf("It is Tuesday.\n"); 
break; 
case 3:  
printf("It is Wednesday.\n");  
break; 
case 4:  
printf("It is Thursday.\n");  
break; 
case 5:  
printf("It is Friday.\n");  
break; 
case 6:  
printf("It is Saturday.\n");  
break; 
case 7:  
printf("It is Sunday.\n");  
break; 
default:  
printf("This is a invaild day number. Please enter a correct day number. ");  
}  
return 0;  
}   

Output -

Enter a day number:2
It is Tuesday.

इस उदाहरण में हमने एक C program बनाया जिसमे हमने day number से day name display कराया ये काम हम if-else-if ladder से भी कर सकते हैं पर उसमे काफी ज्यादा conditions और उसका syntax भी लिखने में time लगता हैं जो switch statement से आसानी से हो गया हैं । यदि आप 2 enter करते हैं तो compiler top से case check करता हैं तो case 1 तो match नही होता क्यूकी यहाँ पर case की value 1 हैं और हमने expression में day_no variable लिया हैं अब जो वैल्यू day_no की होगी उसी वैल्यू से case match होगा case 1 तो मैच नही हुआ तो compiler case 1 के कोड को execute नही करता हैं तो दूसरे case पर चला जाता हैं हमने 2 number डाला हैं तो case 2 match हो जाता हैं क्यूकी इसमे case की वैल्यू 2 हैं तो case 2 का कोड execute हो जाता हैं जो की उपर ouput में देख सकते हैं ।  case के बाद break लगा हैं तो compiler को case match मिल जाता हैं तो compiler आगे कोई case नही देखता हैं सभी को bypass कर देता हैं क्यूकी यहाँ पर break लगा हैं यदि break नही  हैं तो compiler आगे के case को भी execute कर देता हैं । 
इसलिए यदि आपको case को एक boundary तक execute कराना हैं तो उसमे break; statement देना बहुत ही जरूरी होता हैं । 
Example 2 – 

// A simple C program for calculator 
#include <stdio.h>

int main() {
    double no1, no2;
        char sign;
         printf("Enter a sign for calculation ie (+, -, *, /): ");
    scanf("%c", &sign);
printf("Please enter two numbers: ");
    scanf("%lf %lf",&no1, &no2);
  
    switch(sign)
    {
        case '+':
            printf("%.1lf + %.1lf = %.1lf",no1, no2, no1+no2);
            break;

        case '-':
            printf("%.1lf - %.1lf = %.1lf",no1, no2, no1-no2);
            break;

        case '*':
            printf("%.1lf * %.1lf = %.1lf",no1, no2, no1*no2);
            break;

        case '/':
            printf("%.1lf / %.1lf = %.1lf",no1, no2, no1/no2);
            break;

        // operator doesn't match any case constant +, -, *, /
        default:
            printf("Something wrong or sign is not correct.");
    }

    return 0;
}

Output – 

Enter a sign for calculation ie (+, -, *, /): +
Please enter two numbers: 12
12
12.0 + 12.0 = 24.0

उपर दिये गए उदाहरण में हमने C program बनाया जिसमे हमने एक calculator बनाया जो की switch stament के द्वारा process किया गया हैं । 
सबसे पहले sign डाले जो की (+, -, *, /) कुछ भी एक साइन डाल सकते हैं फिर दो number डाले , एक number डालने के बाद enter दबाये फिर दूसरा नंबर डाले अब नीचे हमने अलग अलग operation के लिए case बनाए हैं जैसे + डाला तो case + execute होता हैं जो की दो numbers की addition का operation perform करता हैं । 
इस तरीके से C program में switch case का उपयोग करके एक calculator बनाना सीखा हैं । 

Nested switch statement in C language | Hindi 

Nested if statmenet की तरह Nested switch case statement को उपयोग कर सकते हैं । 
जैसे C nested if statements में होता हैं if statement के अंदर if statement को उपयोग करना ऐसे ही Nested switch case statement का concept होता हैं जिसमे हम एक switch statement के अंदर जितने चाहें उतने switch statement का उपयोग कर सकते हैं। इस तरह की statement को हम Nested switch case statement कहते  हैं । 
चलिये C program के द्वारा Nested switch statement को समझते हैं । 

Example of Nested switch statement in C programming – 

#include <stdio.h>  
void main () {  
   int a = 17;  
   int b = 13;  
   
   switch(a) {  
     
      case 17:   
         printf("The value of variable in outer switch: %d\n",a);  
      case 13:  
         switch(b) {  
            case 13:  
               printf("The value of variable b in nested switch: %d\n",b);  
         }  
   }  
}

Output – 

The value of variable in outer switch: 17
The value of variable b in nested switch: 13

इस तरह से आप देख सकते हैं की हमने switch statement के अंदर switch statement का उपयोग किया हैं । इस तरह की statement को हम Nested switch case statement कहते  हैं । 
इस तरह से C programming में switch statement या Nested switch case statement का उपयोग किया जाता हैं । 


Please Share

Recommended Posts:-