Switch Statement क्या है? (What is Switch Statement In C In Hindi)

सी लैंग्वेज में Switch Statement क्या है? (What is Switch Statement In C In Hindi)
What is Switch Statement In C Language In Hindi

सी लैंग्वेज में Switch Statement क्या है? (What is Switch Statement In C In Hindi)

Switch Statement एक Decision Making Control Statement है जिसका उपयोग हम तब करते है जब हमारे पास कई सारे ऑप्शन होते है और हमें उन ऑप्शन में से केवल एक ही ऑप्शन को execute करवाना होता है | 

Switch Statement, एक बड़े if else Statement का विकल्प है | if else Statement के द्वारा किया जाने वाला सभी काम हम Switch Case Statement की मदद से कर सकते है |

Switch Statement के पैरेंथेसिस () में जो expression होता है उसे हम True या False के रूप में मूल्यांकन नहीं कर सकते | उस expression को हम Switch Statement के बॉडी में Case कीवर्ड के बाद लिखे constant values के साथ मैच करते है और यदि एक्सप्रेशन किसी भी कांस्टेंट वैल्यू से मैच करता है तो उस Case के बाद के कोड को execute कर देते है | 

Syntax of switch case statement

switch case statement का syntax कुछ ऐसा होता है -:

switch (variable or an integer expression)
{
     case constant_1 :  
                                // Code to be executed if expression == constant_1
     break;
     case constant_2 : 
                                 // Code to be executed if expression == constant_2
     break;
     case  constant_3:  
                                 // Code to be executed if expression == constant_3
                                 break;
     default :              // the default case is optional
                               // Code to be executed if none of the cases match
                              ;
}

सी लैंग्वेज में Switch statement को अच्छी तरह समझने के लिए आइये एक simple example देखते है | 

Example of Switch Statement In C

#include<stdio.h>  
void main()
{    
int number=0;     

printf("Enter a number\n:");    
scanf("%d",&number);    

switch(number)
{    
case 10:    
       printf("number is equals to 10");    
       break;    
case 50:    
       printf("number is equal to 50");    
       break;    
case 100:    
       printf("number is equal to 100");    
       break;    
default:    
       printf("number is not equal to 10, 50 or 100");    
     
}    

}   

Output -:

Enter a number
10
number is equals to 10

इस प्रोग्राम में हमने यूजर से एक वैल्यू इंटर करने को कहा और यूजर ने 10 एंटर किया | यूजर द्वारा एंटर किये गए वैल्यू के साथ casa 2 मैच करता था इसलिए “ number is equals to 10 ” प्रिंट हुवा |

यदि यूजर द्वारा इंटर किया गया वैल्यू किसी भी case से मैच नहीं करता तो default case का कोड चलता और रिजल्ट में “ number is not equal to 10, 50 or 100 “ प्रिंट होता | 

नीचे मैं switch statement से संबंधित कुछ Important Points बताने वाला हूँ जिसे आपको अच्छे से अपने दिमाग में भर लेना है क्योकि जब भी आप सी लैंग्वेज में स्विच स्टेटमेंट का उपयोग करेंगे तब ये बातें आपको हमेशा काम आएगी | 

तो चलिए जानते है | 

Important Points about Switch Statement In C:

1.  Switch Statement के पैरेंथेसिस में जो भी एक्सप्रेशन होगा वो आखिर में एक Constant value प्रोवाइड करेगा | यदि expression का रिजल्ट Constant वैल्यू प्रोवाइड नहीं करता तो वो एक्सप्रेशन Valid नहीं होगा |  

Valid Expression

switch(1+2+23)
switch(1*2+3%4)

Invalid expression

switch(ab+cd)
switch(a+b+c)

Note -: इस तरह के एक्सप्रेशन (a+b+c) Valid तब होंगे जब ये कोई वेरिएबल होगा और इनमे कोई फिक्स्ड वैल्यू पहले से असाइन होगा |

2. Switch statement के पैरेंथेसिस () में या तो Integer Constant होगा या फिर कोई character constant होगा | 

Example -: switch(6+2) or switch(a) 

3. Switch ब्लॉक के अंदर Case कीवर्ड के बाद जो कांस्टेंट वैल्यू होगा वो कांस्टेंट वैल्यू एक से ज्यादा Case में use नहीं हो सकता या यूँ कहे कि डुप्लीकेट Case वैल्यू की अनुमति नहीं है।

Invalid case value

case  ‘A’ : code;
                break;
case ‘A’ : code;
               break; 

Valid case value 

case ‘A’ : code;
               break;
case ‘B’ : code;
              break; 

4. Switch case constant को एक ही आर्डर जैसे 1,2,3,4 में लिखना अनिवार्य नहीं है इसे आप किसी भी ऑर्डर (जैसे 2,4,3,1) में लिख सकते है |

Example 

switch(expression)
{
case 2 : code;
              break; 
case 1 : code;
              break; 
case 3 : code;
              break;
default : code: 
}

5. Switch statement के अंदर हम nesting कर सकते है, पर nesting से कोड थोड़ा काम्प्लेक्स हो जायेगा इसलिए मेरी माने तो आप switch case के अंदर nesting न ही करे तो अच्छा है | 

6. स्विच ब्लॉक के अंदर हम जो default केस लिखते है वो ऑप्शनल होता है आप चाहे तो default केस न भी लिखे तो चलेगा | मगर मेरी माने तो आपको एक डिफ़ॉल्ट केस लिखना चाहिए इससे प्रोग्राम सही रहता है | 

7. Case कीवर्ड के बाद जो Constant होता है उसके बाद हमें कोलन “ : ” लगाना पड़ता है ये कोलन उस Case को डिफाइन करता है | 

8. हर case के अंदर , कोड के आखिर में break कीवर्ड लिखना ऑप्शनल होता है | आप चाहे तो कोड के बाद break कीवर्ड न लिखे | 

मगर, यदि आप break कीवर्ड का उपयोग नहीं करेंगे तो उस case के बाद के बाकी जितने भी case है उन सबके कोड भी execute हो जायेंगे |  

तो आपको break का उपयोग तब करना चाहिए जब आपको किसी case के कोड के execute होने के बाद बाकी किसी भी case के कोड को execute नहीं कराना हो | 

आइये इस बात को हम एक प्रोग्राम से समझते है 

 Example Program_1 -:

#include <stdio.h>
int main()
{
     int i=2;
     switch (i)
     {
        case 1:
                   printf("Case1 ");
        case 2:
                   printf("Case2 ");
        case 3:
                   printf("Case3 ");
        case 4:
                   printf("Case4 ");
        default:
                   printf("Default ");
     }
    return 0;
}

Output -:

Case2 Case3 Case4 Default

Program Explanation -:

ऊपर प्रोग्राम को एक बार अच्छे से देखे, उस प्रोग्राम में हमने switch के पैरेंथेसिस () में i वेरिएबल को एक एक्सप्रेशन के रूप में लिया है | इस i वेरिएबल की वैल्यू 2 है जो की switch ब्लॉक के case2 से मैच करती है इसलिए case2 का कोड चलेगा | 

मगर क्या आपने नोटिस किया? कि इस प्रोग्राम में case2 का कोड चलने के साथ साथ case2 के बाद वाले सभी केस (Case3 Case4 Default) के भी कोड एक्सेक्यूटे हो रहे है | जिसकी वजह से आउटपुट में Case2 Case3 Case4 Default आया | 

सोचिए जरा कि ऐसा क्यों हुवा? 

ऐसा इसलिए हुआ क्योंकि हमने Case2 के कोड के आखिर में break कीवर्ड का उपयोग नहीं किया | break कीवर्ड कम्पाइलर को बताता है कि अब हमें इस switch ब्लॉक से बाहर निकल जाना है |

यदि हम break कीवर्ड का उपयोग नहीं करेंगे तो कम्पाइलर को पता नहीं चलेगा की कोड कहा खतम होगा और कम्पाइलर default केस के चलने तक switch block के कोड को execute करता जायेगा | 

क्या आपको मेरी बातें समझ आयी कि मैं आपको बताना क्या चाह रहा हूँ?

यदि हाँ तो अच्छी बात है और यदि नहीं तो आप बस ये जान ले कि Switch block में Case कीवर्ड के बाद आप जो कोड लिखेंगे उस कोड के आखिर में आपको break कीवर्ड भी लिखना होगा | जिससे उस Case के चलने के बाद बाकी कोई भी Case का कोड execute नहीं होगा | 

Conclusion 

दोस्तों आशा करता हु कि आज के इस पोस्ट को पढ़ने के बाद आपको Switch Statement क्या है? (What is Switch Statement In C In Hindi) और सी लैंग्वेज में इसका उपयोग कैसे करते है? से संबंधित सभी जानकारी मिल गई होगी |

अगर आप सी लैंग्वेज का Complete Tutorial चाहते है तो मेरे इस पोस्ट C Language Tutorial In Hindi को देखे यहाँ आपको C Programming Language के सभी टॉपिक्स step by step मिल जाएगी |

दोस्तों आशा करता हु कि आपको ये पोस्ट पसंद आई होगी और आपको सी लैंग्वेज में Switch Statement क्या है? (What is Switch Statement In C In Hindi) के बारे में काफी जानकरी हुई होगी |

अगर आपको ये पोस्ट पसंद आया है तो इस पोस्ट को अपने अपने दोस्तों को शेयर करना न भूलिएगा ताकि उनको भी ये जानकारी प्राप्त हो सके |

अगर आपको अभी भी Switch Statement In C Language से संबंधित कोई भी प्रश्न या Doubt है तो आप जरूर बताये मैं आपके सभी सवालों का जवाब दूँगा और ज्यादा जानकारी के लिए आप हमसे संपर्क कर सकते है |

Thank you ! आपका दिन मंगलमय हो

पढ़ते रहिए और बढ़ते रहिए | Keep Reading and Keep Growing

Jeetu Sahu is A Web Developer | Computer Engineer | Passionate about Coding, Competitive Programming and Blogging

Leave a Comment