एक स्विच बयान मूल्यों की सूची के खिलाफ समानता के लिए एक चर का परीक्षण करने की अनुमति देता है। प्रत्येक मान को केस कहा जाता है, और प्रत्येक स्विच केस . के लिए स्विच किए जा रहे वेरिएबल की जांच की जाती है ।
C प्रोग्रामिंग भाषा में स्विच स्टेटमेंट का सिंटैक्स इस प्रकार है -
switch(expression) { case constant-expression : statement(s); break; /* optional */ case constant-expression : statement(s); break; /* optional */ /* you can have any number of case statements */ default : /* Optional */ statement(s); }
निम्नलिखित नियम एक स्विच स्टेटमेंट पर लागू होते हैं -
-
अभिव्यक्ति स्विच . में उपयोग किया जाता है स्टेटमेंट में इंटीग्रल या एन्यूमरेटेड टाइप होना चाहिए, या क्लास टाइप का होना चाहिए जिसमें क्लास का इंटीग्रल या एन्यूमरेटेड टाइप में सिंगल कन्वर्जन फंक्शन हो।
-
आपके पास एक स्विच के भीतर कितने भी केस स्टेटमेंट हो सकते हैं। प्रत्येक मामले के बाद एक कोलन से तुलना किए जाने वाले मान का अनुसरण किया जाता है।
-
निरंतर-अभिव्यक्ति किसी मामले के लिए स्विच में चर के समान डेटा प्रकार होना चाहिए, और यह स्थिर या शाब्दिक होना चाहिए।
-
जब वेरिएबल को चालू किया जा रहा है, तो एक केस के बराबर है, उस केस के बाद के स्टेटमेंट ब्रेक तक निष्पादित होंगे। बयान हो गया है।
-
जब एक ब्रेक बयान तक पहुँच जाता है, स्विच समाप्त हो जाता है, और नियंत्रण का प्रवाह स्विच स्टेटमेंट के बाद अगली पंक्ति में कूद जाता है।
-
जरूरी नहीं कि हर मामले में विराम शामिल हो . अगर नहीं ब्रेक प्रतीत होता है, नियंत्रण का प्रवाह बाद के मामलों में तब तक गिरेगा जब तक कोई विराम नहीं हो जाता।
-
एक स्विच स्टेटमेंट में वैकल्पिक डिफ़ॉल्ट . हो सकता है मामला, जो स्विच के अंत में दिखाई देना चाहिए। डिफ़ॉल्ट मामले का उपयोग किसी कार्य को करने के लिए किया जा सकता है जब कोई भी मामला सत्य नहीं होता है। नहीं ब्रेक डिफ़ॉल्ट मामले में आवश्यक है।
उदाहरण कोड
#include <stdio.h> int main () { /* local variable definition */ char grade = 'B'; switch(grade) { case 'A' : printf("Excellent!\n" ); break; case 'B' : case 'C' : printf("Well done\n" ); break; case 'D' : printf("You passed\n" ); break; case 'F' : printf("Better try again\n" ); break; default : printf("Invalid grade\n" ); } printf("Your grade is %c\n", grade ); return 0; }
आउटपुट
Well done Your grade is B