सी स्विच केस स्टेटमेंट

C Switch Case Statements



एक स्विच स्टेटमेंट- या बस एक केस स्टेटमेंट- एक कंट्रोल फ्लो मैकेनिज्म है जो एक वेरिएबल या एक्सप्रेशन के मान के आधार पर प्रोग्राम के निष्पादन को निर्धारित करता है।

स्विच स्टेटमेंट का उपयोग करने से आप कई स्थितियों का परीक्षण कर सकते हैं और केवल एक विशिष्ट ब्लॉक को निष्पादित कर सकते हैं यदि स्थिति सही है। यद्यपि यह एक if…else if….else कथन के समान काम करता है, वाक्य रचना सरल और पढ़ने और प्रबंधित करने में आसान है।







यह ट्यूटोरियल आपको सी प्रोग्रामिंग में स्विच स्टेटमेंट बनाने और काम करने का तरीका दिखाने पर केंद्रित है।



मूल उपयोग

स्विच स्टेटमेंट को लागू करना आसान है। सामान्य सिंटैक्स नीचे दिखाया गया है:



स्विच (एक्सप्रेस) {
casevar1:
// कोड
टूटना;
casevar2:
// कोड
टूटना;
casevar3:
// कोड
टूटना;
casevarN:
// कोड
टूटना;
...
….
….
चूक जाना:
// कोड
}

यह काम किस प्रकार करता है

स्विच स्टेटमेंट प्रत्येक केस ब्लॉक का मूल्यांकन करने के लिए एक सरल तर्क लागू करता है।





यह स्विच ब्लॉक के अंदर अभिव्यक्ति का मूल्यांकन करके शुरू होता है। फिर, यह प्रत्येक केस ब्लॉक के विरुद्ध स्विच ब्लॉक से मान की तुलना करता है।

एक बार जब यह परिभाषित केस ब्लॉक में से किसी एक के अंदर एक मैच का पता लगाता है, तो यह उस ब्लॉक के अंदर कोड को तब तक निष्पादित करता है जब तक कि यह ब्रेक कीवर्ड का सामना नहीं करता।



यदि यह परिभाषित केस ब्लॉकों में से किसी एक में मैच का सामना नहीं करता है, तो यह डिफ़ॉल्ट स्टेटमेंट पर कूद जाता है और इसके अंदर कोड निष्पादित करता है। यदि गैर-मिलान परिदृश्य के लिए कोई आवश्यक कार्रवाई नहीं है, तो डिफ़ॉल्ट ब्लॉक वैकल्पिक और छोड़ा जा सकता है

ध्यान दें: यह सुनिश्चित करना अच्छा है कि प्रत्येक केस स्टेटमेंट को ब्रेक स्टेटमेंट के साथ समाप्त किया जाए ताकि मैचिंग ब्लॉक के बाद सभी स्टेटमेंट्स को निष्पादित होने से रोका जा सके।

सी स्विच केस स्टेटमेंट उदाहरण

आइए हम एक बहुत ही सरल उदाहरण के साथ स्विच स्टेटमेंट को स्पष्ट करें:

#शामिल

मुख्य प्रवेश बिंदु() {
NSकहां= 5;
स्विच (कहां) {
केस3:
printf ('मान 3 है');
टूटना;
केस4:
printf ('मान 4 है');
टूटना;
केस5:
printf ('मान 5 है');
टूटना;
चूक जाना:
printf ('मान न तो 3, 4 और न ही 5 है');
}
वापसी0;
}

यदि हम उपरोक्त उदाहरण को चलाते हैं, तो हमें नीचे के जैसा आउटपुट मिलना चाहिए:

मान है5

निम्नलिखित प्रवाह आरेख उपरोक्त कार्यक्रम के तर्क को दर्शाता है:

एक नेस्टेड स्विच स्टेटमेंट

सी आपको स्विच स्टेटमेंट के अंदर नेस्टेड स्विच स्टेटमेंट रखने की अनुमति देता है। नेस्टेड स्विच स्टेटमेंट बाहरी स्विच के मान से जुड़ा होता है।

निम्नलिखित उदाहरण पर विचार करें:

#शामिल

मुख्य प्रवेश बिंदु() {
NSविभाग= 5;
intaccess_code= 2028;
स्विच (विभाग) {
मामला एक:
स्विच (एक्सेस कोड) {
केस२०२१:
printf ('[+] मान्य एक्सेस कोड!');
टूटना;
चूक जाना:
printf ('[-] अमान्य एक्सेस कोड!');
}
टूटना;
चूक जाना:
printf ('[-] केवल विभाग 1 की अनुमति है!');
}
वापसी0;
}

ऊपर के उदाहरण में, हम दो स्विच स्टेटमेंट लागू करते हैं। पहला चेक करता है कि विभाग द्वारा प्रदान किया गया 1 है। यदि सत्य है, तो यह अगले स्विच ब्लॉक में जाता है और वैध एक्सेस कोड की जांच करता है।

यदि विभाग मान एक नहीं है, तो निष्पादन डिफ़ॉल्ट ब्लॉक में चला जाता है।

निम्नलिखित सही और गलत विभाग और एक्सेस कोड के साथ उपरोक्त कोड का निष्पादन है।

पहले उदाहरण में, विभाग और एक्सेस कोड दोनों सही हैं; इस प्रकार, निष्पादन कभी भी डिफ़ॉल्ट ब्लॉक तक नहीं पहुंचता है।

दूसरे उदाहरण में, विभाग और एक्सेस कोड दोनों गलत हैं; इसलिए, निष्पादन तुरंत पहले डिफ़ॉल्ट ब्लॉक पर कूद जाता है।

स्विच स्टेटमेंट के लिए दिशानिर्देश

सी में स्विच स्टेटमेंट बनाते समय ध्यान देने योग्य त्वरित दिशानिर्देश निम्नलिखित हैं।

  1. आपको स्विच कीवर्ड के लिए एक एक्सप्रेशन पास करना होगा।
  2. केस स्टेटमेंट को अद्वितीय मानों की जांच करनी चाहिए
  3. ब्रेक कीवर्ड का उपयोग करके प्रत्येक केस ब्लॉक को समाप्त करें।
  4. आप कई स्विच स्टेटमेंट को नेस्ट कर सकते हैं।
  5. मेल न खाने वाले मामलों के लिए कार्रवाई आवश्यक होने पर आप एक डिफ़ॉल्ट विवरण शामिल कर सकते हैं।

निष्कर्ष

इस गाइड ने आपको सी स्विच स्टेटमेंट बनाने और उपयोग करने की मूल बातें बताई हैं। स्विच स्टेटमेंट उपयोगी होते हैं जब आपके पास जटिल निर्णय मामले होते हैं जिन्हें और यदि अन्य कथन के साथ कार्यान्वित करना मुश्किल हो सकता है।