What is Conditional Operator in C Language
Conditional Operator in C -सी . में सशर्त ऑपरेटर
Conditional Operator in C
What is Conditional Operator in C Language
सशर्त ऑपरेटर को टर्नरी ऑपरेटर के रूप में भी जाना जाता है। सशर्त बयान निर्णय लेने वाले बयान हैं जो अभिव्यक्ति के आउटपुट पर निर्भर करते हैं। इसे दो प्रतीकों द्वारा दर्शाया जाता है, अर्थात् '?' तथा ':'। ( Conditional Operator in C )
चूंकि सशर्त ऑपरेटर तीन ऑपरेंड पर काम करता है, इसलिए इसे टर्नरी ऑपरेटर के रूप में भी जाना जाता है।
सशर्त ऑपरेटर का व्यवहार 'if-else' के समान है
'अगर-अन्य' कथन के रूप में कथन भी निर्णय लेने वाला कथन है।
Syntax of a conditional operator -एक सशर्त ऑपरेटर का सिंटैक्स
Expression1? expression2: expression3;
उपरोक्त सिंटैक्स का सचित्र प्रतिनिधित्व नीचे दिखाया गया है:
उपरोक्त वाक्य रचना का अर्थ।
उपरोक्त सिंटैक्स में, एक्सप्रेशन 1 एक बूलियन स्थिति है जो या तो सही या गलत मान हो सकती है।
यदि एक्सप्रेशन 1 का परिणाम सही मान में होता है, तो एक्सप्रेशन 2 निष्पादित होगा।
एक्सप्रेशन 2 को तभी सही कहा जाता है जब यह एक गैर-शून्य मान लौटाता है।
यदि एक्सप्रेशन 1 गलत मान लौटाता है तो एक्सप्रेशन 3 निष्पादित होगा।
एक्सप्रेशन 3 को केवल तभी गलत कहा जाता है जब वह शून्य मान लौटाता है।
आइए एक उदाहरण के माध्यम से टर्नरी या कंडीशनल ऑपरेटर को समझते हैं।
#include <stdio.h>
int main()
{
int age; // variable declaration
printf("Enter your age");
scanf("%d",&age); // taking user input for age variable
(age>=18)? (printf("eligible for voting")) : (printf("not eligible for voting")); // conditional operator
return 0;
}
उपरोक्त कोड में, हम इनपुट को उपयोगकर्ता की 'आयु' के रूप में ले रहे हैं। इनपुट लेने के बाद, हमने सशर्त ऑपरेटर का उपयोग करके शर्त लागू की है। इस स्थिति में, हम उपयोगकर्ता की आयु की जाँच कर रहे हैं। यदि उपयोगकर्ता की आयु 18 से अधिक या उसके बराबर है, तो स्टेटमेंट 1 निष्पादित होगा, अर्थात, (प्रिंटफ ("वोटिंग के लिए योग्य")) अन्यथा, स्टेटमेंट 2 निष्पादित होगा, अर्थात, (प्रिंटफ ("वोटिंग के लिए योग्य नहीं") ) ( Conditional Operator in C )
आइए उपरोक्त कार्यक्रम के आउटपुट का निरीक्षण करें।
यदि हम 18 वर्ष से कम आयु के उपयोगकर्ता प्रदान करते हैं, तो आउटपुट होगा:
यदि हम 18 वर्ष से ऊपर के उपयोगकर्ता की आयु प्रदान करते हैं, तो आउटपुट होगा:
जैसा कि हम उपरोक्त दो आउटपुट से देख सकते हैं कि यदि शर्त सत्य है, तो कथन 1 निष्पादित किया जाता है; अन्यथा, कथन 2 निष्पादित किया जाएगा।
अब तक हमने देखा है कि कंडीशनल ऑपरेटर किस तरह कंडीशन को चेक करता है और कंडीशन के आधार पर स्टेटमेंट्स को एक्जीक्यूट करता है। अब, हम देखेंगे कि एक वेरिएबल को मान निर्दिष्ट करने के लिए एक सशर्त ऑपरेटर का उपयोग कैसे किया जाता है।
आइए इस परिदृश्य को एक उदाहरण के माध्यम से समझते हैं।
#include <stdio.h>
int main()
{
int a=5,b; // variable declaration
b=((a==5)?(3):(2)); // conditional operator
printf("The value of 'b' variable is : %d",b);
return 0;
}
उपरोक्त कोड में, हमने दो चर घोषित किए हैं, यानी, 'ए' और 'बी', और 'ए' चर के लिए 5 मान असाइन करें। घोषणा के बाद, हम सशर्त ऑपरेटर का उपयोग करके 'बी' चर के लिए मान निर्दिष्ट कर रहे हैं। यदि 'ए' का मान 5 के बराबर है तो 'बी' को 3 मान के साथ असाइन किया गया है अन्यथा 2।
Output:-
उपरोक्त आउटपुट से पता चलता है कि 'बी' वेरिएबल का मान 3 है क्योंकि 'ए' वेरिएबल का मान 5 के बराबर है।
जैसा कि हम जानते हैं कि कंडीशनल ऑपरेटर और 'if-else' का व्यवहार समान होता है लेकिन उनमें कुछ अंतर होते हैं। आइए उनके मतभेदों को देखें। ( Conditional Operator in C )
एक सशर्त ऑपरेटर एक एकल प्रोग्रामिंग स्टेटमेंट है, जबकि 'if-else' स्टेटमेंट एक प्रोग्रामिंग ब्लॉक है जिसमें स्टेटमेंट कोष्ठक के अंतर्गत आते हैं।
एक सशर्त ऑपरेटर का उपयोग चर के लिए एक मान निर्दिष्ट करने के लिए भी किया जा सकता है, जबकि 'if-else' कथन का उपयोग असाइनमेंट के उद्देश्य के लिए नहीं किया जा सकता है।
यह कथनों को क्रियान्वित करने के लिए उपयोगी नहीं है जब कथन एकाधिक होते हैं, जबकि 'if-else' कथन कई कथनों को निष्पादित करते समय अधिक उपयुक्त साबित होता है।
नेस्टेड टर्नरी ऑपरेटर अधिक जटिल है और इसे आसानी से डीबग नहीं किया जा सकता है, जबकि नेस्टेड 'if-else' स्टेटमेंट को पढ़ना और बनाए रखना आसान है।