C में एक सशर्त विवरण क्या है?
C प्रोग्रामिंग में सशर्त विवरण का उपयोग शर्तों के आधार पर निर्णय लेने के लिए किया जाता है। सशर्त बयान क्रमिक रूप से निष्पादित होते हैं जब बयानों के आसपास कोई स्थिति नहीं होती है। यदि आप कथनों के ब्लॉक के लिए कुछ शर्त रखते हैं, तो स्थिति द्वारा मूल्यांकन किए गए परिणाम के आधार पर निष्पादन प्रवाह बदल सकता है। इस प्रक्रिया को 'सी' में निर्णय लेना कहा जाता है।
निम्नलिखित दो निर्माणों की मदद से 'सी' प्रोग्रामिंग सशर्त विवरण संभव हैं:
1. यदि कथन
2. अगर-और बयान
एक कार्यक्रम के रूप में इसे ब्रांचिंग भी कहा जाता है, जो यह निर्धारित करता है कि मूल्यांकन की गई स्थिति के आधार पर किस कथन को निष्पादित करना है।
इस ट्यूटोरियल में, आप सीखेंगे-
- एक सशर्त वक्तव्य क्या है?
- अगर बयान
- संबंधपरक संकारक
- इफ-एल्स स्टेटमेंट
- सशर्त अभिव्यक्तियाँ
- नेस्टेड-इतर स्टेटमेंट्स
- नेस्टेड एल्स-अगर बयान
अगर बयान
यह शक्तिशाली सशर्त बयान में से एक है। यदि कथन किसी कार्यक्रम के निष्पादन के प्रवाह को संशोधित करने के लिए जिम्मेदार है। यदि कथन का उपयोग हमेशा किसी शर्त के साथ किया जाता है। इफ की बॉडी के अंदर किसी भी स्टेटमेंट को निष्पादित करने से पहले स्थिति का मूल्यांकन किया जाता है। यदि कथन निम्नानुसार है, तो इसके लिए वाक्य रचना:
if (condition)instruction;
स्थिति या तो सही या गलत का मूल्यांकन करती है। सत्य हमेशा एक गैर-शून्य मान होता है, और असत्य एक मूल्य होता है जिसमें शून्य होता है। निर्देश एकल निर्देश या घुंघराले ब्रेस {} द्वारा संलग्न कोड ब्लॉक हो सकते हैं।
निम्नलिखित कार्यक्रम 'सी' प्रोग्रामिंग में निर्माण का उपयोग दिखाता है:
#includeint main(){int num1=1;int num2=2;if(num1 आउटपुट:
num1 is smaller than num2उपरोक्त कार्यक्रम दो संख्याओं की समानता की जांच करने के लिए निर्माण का उपयोग दिखाता है।
- उपरोक्त कार्यक्रम में, हमने क्रमशः 1, 2 के रूप में मूल्य के साथ num1, num2 के साथ दो चर शुरू किए हैं।
- फिर, हमने यह जांचने के लिए प्रयोग किया है कि कौन सी संख्या सबसे छोटी है और कौन सी संख्या सबसे बड़ी है। अगर निर्माण में हमने एक संबंधपरक अभिव्यक्ति का उपयोग किया है। चूंकि num1 का मान num2 से छोटा है, इसलिए स्थिति सत्य का मूल्यांकन करेगी।
- इस प्रकार यह इफ के ब्लॉक के अंदर स्टेटमेंट प्रिंट करेगा। उसके बाद, नियंत्रण ब्लॉक के बाहर चला जाएगा और एक सफल परिणाम के साथ कार्यक्रम समाप्त हो जाएगा।
संबंधपरक संकारक
C में छह रिलेशनल ऑपरेटर होते हैं जिनका उपयोग निर्णय लेने और परीक्षण की स्थिति बनाने के लिए बूलियन एक्सप्रेशन तैयार करने के लिए किया जा सकता है, जो सच या रिटर्न देता है:
<से कम है
<= इससे कम या बराबर
> से अधिक
> = से अधिक या बराबर
== के बराबर
! = के बराबर नहीं
ध्यान दें कि समान परीक्षण (==) असाइनमेंट ऑपरेटर (=) से अलग है क्योंकि यह सबसे आम समस्याओं में से एक है जो एक प्रोग्रामर का सामना करके उन्हें मिलाता है।
उदाहरण के लिए:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}आउटपुट:
You succeedध्यान रखें कि एक शर्त जो गैर-शून्य मान का मूल्यांकन करती है, उसे सच माना जाता है।
उदाहरण के लिए:
int present = 1;if (present)printf("There is someone present in the classroom \n");आउटपुट:
There is someone present in the classroomइफ-एल्स स्टेटमेंट
इफ-इफ स्टेटमेंट इफ का एक विस्तारित संस्करण है। अगर-और का सामान्य रूप इस प्रकार है:
if (test-expression){True block of statements}Else{False block of statements}Statements;n इस प्रकार का निर्माण, यदि परीक्षण-अभिव्यक्ति का मूल्य सत्य है, तो कथनों का सही खंड निष्पादित किया जाएगा। यदि गलत होने पर परीक्षण-अभिव्यक्ति का मूल्य, तो बयानों के झूठे ब्लॉक को निष्पादित किया जाएगा। किसी भी मामले में, निष्पादन के बाद, नियंत्रण इफ़ के ब्लॉक के बाहर प्रदर्शित होने वाले बयानों में स्वचालित रूप से स्थानांतरित हो जाएगा।
निम्नलिखित कार्यक्रमों में इफ्तार के उपयोग के बारे में बताया गया है:
हम कुछ मूल्य के साथ एक चर को इनिशियलाइज़ करेंगे और यह निर्धारित करने के लिए एक प्रोग्राम लिखेंगे कि क्या मान दस से कम है या दस से अधिक है।
चलो शुरू करो।
#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;} आउटपुट:
The value is greater than 10
- हमने एक वेरिएबल को 19 मूल्य के साथ आरंभीकृत किया है। हमें यह पता लगाना है कि 'C' प्रोग्राम का उपयोग करके संख्या 10 से बड़ी है या छोटी। ऐसा करने के लिए, हमने if-else निर्माण का उपयोग किया है।
- यहां हमने एक शर्त संख्या 10 प्रदान की है क्योंकि हमें अपने मूल्य की तुलना 10 से करनी है।
- जैसा कि आप देख सकते हैं कि पहला ब्लॉक हमेशा एक सच्चा ब्लॉक होता है, जिसका अर्थ है, यदि परीक्षण-अभिव्यक्ति का मूल्य सही है, तो पहला ब्लॉक जो इफ है, निष्पादित किया जाएगा।
- दूसरा ब्लॉक दूसरा ब्लॉक है। इस ब्लॉक में वे कथन हैं, जिन्हें परीक्षण-अभिव्यक्ति का मान गलत होने पर निष्पादित किया जाएगा। हमारे कार्यक्रम में, संख्या का मान दस से अधिक है इसलिए परीक्षण-स्थिति झूठी हो जाती है और ब्लॉक को निष्पादित किया जाता है। इस प्रकार, हमारा आउटपुट एक और ब्लॉक से होगा जो "मूल्य 10 से अधिक है"। अगर-और के बाद, कार्यक्रम एक सफल परिणाम के साथ समाप्त होगा।
'C' प्रोग्रामिंग में हम एक-दूसरे के निर्माण में एक-दूसरे का उपयोग कर सकते हैं, जिन्हें अगर-स्टेटमेंट्स के नेस्टिंग के रूप में जाना जाता है।
सशर्त अभिव्यक्तियाँ
एक और तरीका व्यक्त करने का एक और तरीका है ?: ऑपरेटर का परिचय । सशर्त अभिव्यक्ति में ?: ऑपरेटर के पास केवल एक कथन है जो if और if से जुड़ा है।
उदाहरण के लिए:
#includeint main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;} आउटपुट:
y =2नेस्टेड-इतर स्टेटमेंट्स
जब निर्णय की एक श्रृंखला की आवश्यकता होती है, तो नेस्टेड-और का उपयोग किया जाता है। घोंसले का अर्थ है एक का उपयोग करना-दूसरा किसी दूसरे के भीतर निर्माण करना।
चलो नेस्टेड-और के उपयोग को चित्रित करने के लिए एक कार्यक्रम लिखें।
#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;} आउटपुट:
The value is:1उपरोक्त कार्यक्रम यह जांचता है कि क्या संख्या 10 से कम है या अधिक है और परिणाम का उपयोग करते हुए नेस्ट का निर्माण करता है।
- सबसे पहले, हमने 1 के साथ एक चर संख्या घोषित की है। फिर हमने अगर-और निर्माण का उपयोग किया है।
- बाहरी अगर-और में, स्थिति चेक प्रदान करती है यदि कोई संख्या 10 से कम है। यदि स्थिति सही है और केवल तभी यह आंतरिक लूप निष्पादित करेगा। इस स्थिति में, स्थिति सही है इसलिए आंतरिक ब्लॉक संसाधित है।
- आंतरिक ब्लॉक में, हमारे पास फिर से एक शर्त होती है जो यह जांचती है कि हमारे चर में मान 1 है या नहीं। जब कोई शर्त सत्य होती है, तो वह इफ़ ब्लॉक को संसाधित करेगा अन्यथा यह किसी अन्य ब्लॉक को संसाधित करेगा। इस स्थिति में, स्थिति सत्य है, इसलिए यदि कोई ब्लॉक निष्पादित होता है और मान आउटपुट स्क्रीन पर मुद्रित किया जाता है।
- उपरोक्त कार्यक्रम एक चर के मूल्य को प्रिंट करेगा और सफलता के साथ बाहर निकलेगा।
चर के मूल्य को बदलने का प्रयास करें देखें कि कार्यक्रम कैसे व्यवहार करता है।
नोट: नेस्टेड इफ-इन में, हमें इंडेंटेशन से सावधान रहना होगा क्योंकि कई इफ-और कंस्ट्रक्शन इस प्रक्रिया में शामिल हैं, इसलिए व्यक्तिगत कंस्ट्रक्शन का पता लगाना मुश्किल हो जाता है। उचित इंडेंटेशन कार्यक्रम को पढ़ना आसान बनाता है।
नेस्टेड एल्स-अगर बयान
बहु-निर्णयों की आवश्यकता होने पर किसी और का उपयोग नहीं किया जाता है।
'C' प्रोग्रामिंग में लैडर का निर्माण कैसे किया जाता है इसका सामान्य सिंटैक्स निम्नानुसार है:
if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;इस प्रकार की संरचना को अन्य-अगर सीढ़ी के रूप में जाना जाता है। यह श्रृंखला आम तौर पर एक सीढ़ी की तरह दिखती है इसलिए इसे एक और-अगर सीढ़ी भी कहा जाता है। परीक्षण-अभिव्यक्तियों का मूल्यांकन ऊपर से नीचे तक किया जाता है। जब भी कोई सच्ची परीक्षा-अभिव्यक्ति मिलती है, तो उससे जुड़े कथन को निष्पादित किया जाता है। जब सभी n परीक्षण-अभिव्यक्त गलत हो जाते हैं, तो डिफ़ॉल्ट रूप से कथन निष्पादित किया जाता है।
आइए हम एक कार्यक्रम की मदद से वास्तविक कार्य करते हुए देखें।
#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;} आउटपुट:
First classउपरोक्त कार्यक्रम एक परीक्षा में दिए गए अंकों के अनुसार ग्रेड प्रिंट करता है। हमने उपरोक्त कार्यक्रम में सीढ़ी के निर्माण का उपयोग किया है।
- हमने अंकों के साथ एक चर शुरू किया है। अन्य-यदि सीढ़ी संरचना में, हमने विभिन्न शर्तें प्रदान की हैं।
- चर के निशान से मूल्य की पहली शर्त के साथ तुलना की जाएगी क्योंकि यह सच है कि इससे जुड़ा बयान आउटपुट स्क्रीन पर मुद्रित किया जाएगा।
- यदि पहली परीक्षण स्थिति झूठी हो जाती है, तो इसकी तुलना दूसरी स्थिति से की जाती है।
- यह प्रक्रिया तब तक चलेगी जब तक कि सभी अभिव्यक्ति का मूल्यांकन नहीं किया जाता है अन्यथा नियंत्रण अन्य-यदि सीढ़ी से बाहर निकल जाएगा, और डिफ़ॉल्ट स्टेटमेंट मुद्रित किया जाएगा।
मान को संशोधित करने का प्रयास करें और आउटपुट में बदलाव को नोटिस करें।
सारांश
- मूल्यांकन अभिव्यक्ति के परिणाम के आधार पर एक पथ का चयन करने के लिए निर्णय लेने या ब्रांचिंग स्टेटमेंट का उपयोग किया जाता है।
- इसे नियंत्रण कथन भी कहा जाता है क्योंकि यह किसी प्रोग्राम के निष्पादन के प्रवाह को नियंत्रित करता है।
- 'सी' प्रदान करता है अगर, अगर-और निर्णय लेने वाले बयानों के लिए निर्माण करता है।
- हम एक-दूसरे के भीतर घोंसला बना सकते हैं, जब कई रास्तों का परीक्षण किया जाना है।
- अन्य-अगर सीढ़ी का उपयोग तब किया जाता है जब हमें अभिव्यक्ति के परिणाम के आधार पर विभिन्न तरीकों की जांच करनी होती है।