सी ++ टर्नरी ऑपरेटर

Si Tarnari Oparetara



'सशर्त ऑपरेटर और if-else स्टेटमेंट दोनों एक ही तकनीक को नियोजित करते हैं, लेकिन सशर्त ऑपरेटर if-else एक्सप्रेशन को यथासंभव छोटा बनाता है जबकि if-else एक्सप्रेशन अधिक स्थान लेता है। कुछ प्रोग्रामिंग भाषाओं में, टर्नरी ऑपरेटर के रूप में जाना जाने वाला एक ऑपरेटर होता है जो तीन ऑपरेंड को सामान्य एक या दो के विपरीत स्वीकार करता है जिसकी अधिकांश ऑपरेटरों को आवश्यकता होती है। यह एक बुनियादी अगर-अन्य ब्लॉक को संघनित करने का एक साधन प्रदान करता है। इस गाइड में, C++ में टर्नरी ऑपरेटर को उदाहरणों के माध्यम से कवर किया जाएगा। कुछ मामलों में, सी ++ अनुप्रयोगों में अगर अन्य कथन को टर्नरी ऑपरेटर द्वारा प्रतिस्थापित किया जा सकता है, जिसे अक्सर सशर्त ऑपरेटर के रूप में जाना जाता है।'

C++ में टर्नरी ऑपरेटर का सिंटैक्स

टर्नरी ऑपरेटर के लिए तीन ऑपरेंड की आवश्यकता होती है: सशर्त, सत्य और असत्य। जैसा कि टर्नरी ऑपरेटर परीक्षण की स्थिति का विश्लेषण करता है और, परिणाम के आधार पर, कोड के एक ब्लॉक को निष्पादित करता है, सिंटैक्स है:

# (exp_1) ? क्स्प_2 : क्स्प_3

यहाँ 'expक्स्प' अभिव्यक्ति का प्रतिनिधित्व करता है। व्यंजक के परिणाम के आधार पर, यह ऑपरेटर दो में से एक मान लौटाता है। व्यंजक 2 और 3 का मूल्यांकन किया जाता है, और यदि 'exp_1' का मूल्यांकन बूलियन सत्य पर किया जाता है, तो उनके मान अंतिम परिणाम के रूप में वापस आ जाते हैं; अन्यथा, अभिव्यक्ति 1 का मूल्यांकन बूलियन झूठा के लिए किया जाता है, और अभिव्यक्ति 2 का मूल्यांकन किया जाता है, और इसका मान अंतिम परिणाम के रूप में वापस कर दिया जाता है।







उदाहरण 1

यहां एक सीधा उदाहरण प्रोग्राम है जो दिखाता है कि सी ++ के टर्नरी ऑपरेटर का उपयोग कैसे करें।



#शामिल करें

#शामिल करें <स्ट्रिंग>

नेमस्पेस एसटीडी का उपयोग करना ;

पूर्णांक मुख्य ( ) {
दोहरा सीजीपीए ;
अदालत <> सीजीपीए ;

स्ट्रिंग छात्र_परिणाम = ( सीजीपीए >= 1.5 ) ? 'उत्तीर्ण' : 'असफल' ;

अदालत << 'आप ' << छात्र_परिणाम << ' सेमेस्टर।' ;

वापसी 0 ;
}



कार्यक्रम में, हमने अपने हेडर सेक्शन को C++ लाइब्रेरी से भर दिया है। उसके बाद, हमने 'उपयोग' कीवर्ड के साथ नेमस्पेस एसटीडी जोड़ा। फिर, डेटा के प्रकार के साथ वेरिएबल 'सीजीपीए' को 'डबल' घोषित किया गया है। अगली पंक्ति में, हमने उपयोगकर्ता को cout कमांड को प्रिंट करके CGPA दर्ज करने के लिए कहा है। सिने कमांड से यूजर्स सीजीपीए जोड़ते हैं।





फिर, हमने एक और चर, 'student_result' बनाया, जिसमें एक टर्नरी ऑपरेटर है। टर्नरी ऑपरेटर को यहां तीन अभिव्यक्तियों की आवश्यकता है। पहली शर्त यह है कि यह जांचता है कि उपयोगकर्ता द्वारा दर्ज किया गया सीजीपीए '1.5' से अधिक या उसके बराबर है या नहीं। यदि ऐसा है, तो 'उत्तीर्ण' कथन मुद्रित किया जाएगा, अन्यथा तीसरी अभिव्यक्ति मुद्रित की जाएगी। परिणाम तब दिखाया जाएगा जब आप cout कमांड का उपयोग करेंगे।

मान लें कि उपयोगकर्ता सीजीपीए '3.5' टाइप करता है। सीजीपीए>= 1.5 फिर कसौटी को पूरा करते हुए सत्य का मूल्यांकन करता है। तो, परिणाम को पहला शब्द 'उत्तीर्ण' दिया जाता है।



मान लें कि उपयोगकर्ता 1.00 टाइप करता है। नतीजतन, सीजीपीए>= 1.5 की स्थिति का गलत मूल्यांकन किया जाता है। इसलिए, परिणाम को दूसरी अभिव्यक्ति दी जाती है, 'विफल'।

उदाहरण 2

सी ++ में कुछ और प्रकार के बयानों को टर्नरी ऑपरेटर के साथ बदल दिया जा सकता है। हम इस कोड को एक उदाहरण के रूप में बदल सकते हैं। पहला उदाहरण प्रोग्राम if-else कंडीशन का उपयोग करता है, और दूसरा उदाहरण प्रोग्राम टर्नरी ऑपरेटर का उपयोग करता है।

#शामिल करें

नेमस्पेस एसटीडी का उपयोग करना ;

पूर्णांक मुख्य ( ) {

पूर्णांक एक पर = - 3 ;
अदालत << 'एक पर :' < 0 )
अदालत << ' \एन सकारात्मक पूर्णांक' ;
वरना
अदालत << ' \एन नकारात्मक पूर्णांक!' ;

वापसी 0 ;
}

हमने नकारात्मक पूर्णांक मान के साथ int डेटा प्रकार चर 'num' घोषित और प्रारंभ किया है। उसके बाद, cout कमांड के साथ, 'num' मान मुद्रित होता है। फिर, हमारे पास अगर-और स्थिति है। 'अगर' स्थिति के अंदर, हमने शर्त निर्दिष्ट की है कि चर 'संख्या' मान शून्य से अधिक होना चाहिए। यदि कंडीशन सही हो जाती है, तो 'if' कंडीशन के ठीक बाद cout कमांड प्रिंट हो जाएगा। यदि शर्त गलत हो जाती है, तो अन्य कोउट स्टेटमेंट मुद्रित किया जाएगा।

चूंकि संख्या एक ऋणात्मक मान है, यदि स्थिति गलत हो जाती है और

इसके बाद, हमने उपरोक्त प्रोग्राम को टर्नरी ऑपरेटर के साथ निष्पादित किया। आइए देखें कि क्या if-else कंडीशन और टर्नरी ऑपरेटर का एक ही प्रभाव है।

#शामिल करें

#शामिल करें <स्ट्रिंग>

नेमस्पेस एसटीडी का उपयोग करना ;

पूर्णांक मुख्य ( ) {

पूर्णांक मेरी संख्या = - 7 ;
अदालत << 'पूर्णांक:' << मेरी संख्या < 0 ) ? 'सकारात्मक पूर्णांक!' : 'नकारात्मक पूर्णांक!' ;
अदालत << नतीजा << एंडली ;

वापसी 0 ;
}

हमने वेरिएबल 'MyNum' घोषित किया है और इसे नेगेटिव वैल्यू के साथ इनिशियलाइज़ किया है। हमने cout कमांड के अंदर 'MyNum' वेरिएबल को कॉल करके नेगेटिव वैल्यू प्रिंट की है। फिर, हम स्ट्रिंग प्रकार के साथ 'आउटकम' के रूप में एक और चर सेट करते हैं। परिणाम चर टर्नरी ऑपरेटर ऑपरेशन लेता है। सबसे पहले, हमारे पास शर्त है कि 'MyNum' शून्य से अधिक होना चाहिए। उसके बाद, हम एक टर्नरी ऑपरेटर '?' डालते हैं। अन्य दो अभिव्यक्तियों को शर्त परिणाम पर निष्पादित किया जाएगा।

चूंकि पूर्णांक मान '-7' तीसरी अभिव्यक्ति है, 'नकारात्मक पूर्णांक!' प्रांप्ट पर मुद्रित किया जाता है। यहां, दोनों अनुप्रयोगों से आउटपुट समान है। हालांकि, टर्नरी ऑपरेटर हमारे कोड की पठनीयता और सफाई में सुधार करता है।

उदाहरण 3

इसके अतिरिक्त, टर्नरी ऑपरेटरों को एक दूसरे के अंदर नियोजित किया जा सकता है। निम्नलिखित प्रोग्राम में कोई मान सकारात्मक, नकारात्मक या शून्य है या नहीं, यह जांचने के लिए नेस्टेड टर्नरी ऑपरेटर का उपयोग करें।

#शामिल करें

#शामिल करें <स्ट्रिंग>

नेमस्पेस एसटीडी का उपयोग करना ;

पूर्णांक मुख्य ( ) {
पूर्णांक पूर्णांक = 0 ;
स्ट्रिंग परिणाम ;

परिणाम = ( पूर्णांक == 0 ) ? 'शून्य' : ( ( पूर्णांक > 0 ) ? 'सकारात्मक' : 'नकारात्मक' ) ;

अदालत << 'पूर्णांक है' << परिणाम ;

वापसी 0 ;
}

बस कार्यक्रम की मुख्य विधि से शुरू करें। इंट मेन () में, हमने 'पूर्णांक' नाम से वेरिएबल बनाया है और इसका मान शून्य के रूप में सेट किया है। फिर, हमने डेटा प्रकार स्ट्रिंग के साथ एक और चर, 'परिणाम' परिभाषित किया। हमने टर्नरी ऑपरेटर को दरकिनार करते हुए वेरिएबल 'रिजल्ट' सेट किया है। शर्त यह है कि चर 'पूर्णांक' मान शून्य 'पूर्णांक == 0' के बराबर होना चाहिए। प्रारंभिक स्थिति, (पूर्णांक == 0) निर्धारित करती है कि दिया गया पूर्णांक शून्य है या नहीं। यदि ऐसा है, तो परिणाम को 'शून्य' स्ट्रिंग मान दिया जाता है। अगर उत्तर सही है। अन्यथा, यदि पहली शर्त गलत है, तो दूसरी स्थिति (पूर्णांक > 0) की जांच की जाती है।

हां, प्रदान किया गया पूर्णांक शून्य है, जैसा कि स्क्रिप्ट में दिखाया गया है। आउटपुट 'पूर्णांक शून्य है' उत्पन्न करता है।

निष्कर्ष

हम जानते हैं कि सशर्त ऑपरेटर टर्नरी ऑपरेटर है। इस ऑपरेटर की मदद से, हम एक शर्त की जांच कर सकते हैं और उसके अनुरूप कार्य कर सकते हैं। हम टर्नरी ऑपरेटर के बजाय if-else शर्तों का उपयोग करके एक ही चीज़ को पूरा कर सकते हैं। इस C++ ट्यूटोरियल ने हमें सिखाया कि टर्नरी ऑपरेटर को इसके सिंटैक्स और उदाहरण कार्यक्रमों के माध्यम से कैसे उपयोग किया जाए। ध्यान रखें कि टर्नरी ऑपरेटर का उपयोग केवल तभी किया जाना चाहिए जब अंतिम विवरण संक्षिप्त हो।