C++ Relational and Logical Operators

    इस ट्यूटोरियल में, हम उदाहरणों की सहायता से रिलेशनल और लॉजिकल ऑपरेटरों के बारे में जानेंगे।

    C++ में, relational(रिलेशनल) और logical(लॉजिकल) ऑपरेटर दो या दो से अधिक operands(ऑपरेंड ) की तुलना करते हैं और true या तो या false मान लौटाते हैं।

    हम अपने program में  decision (निर्णय) लेने में इन ऑपरेटरों का उपयोग करते हैं।

    C++ Relational Operators 

    ऐसे ऑपरेटर जो दो संख्याओ के तुलनात्मक संबंध की जांच करते हो इस श्रेणी मे आते हैं। एक रिलेशनल ऑपरेटर का उपयोग दो ऑपरेंड के बीच संबंधों की जांच के लिए किया जाता है।
    उदाहरण के लिए 

        
        // checks if a is greater than b
        a > b;


    यहाँ, >एक रिलेशनल ऑपरेटर है। यह जांचता है कि अगरaसे बड़ा हैbया नहीं। यदि संबंध true (सत्य)है , तो यह 1 लौटाता है जबकि यदि संबंध false(गलत) है , तो यह 0 देता है ।

    निम्न तालिका सी ++ में प्रयुक्त रिलेशनल ऑपरेटरों को सारांशित करती है।

    OperatorDescription
    <less than
    <=less than or equal to
    >greater then
    >=greater than or equal to
    ==equal to
    !=not equal to


    रिलेशनल ऑपरेटर्स से बने एक्सप्रेशन का रिजल्ट हमेशा लॉजिकल (बूलियन)  value ही होगी, लॉजिकल वैल्यू से आशय 0 या 1 से है। यहां 0 False(असत्य) को तथा 1 True(सत्य) को दर्शाता है।

    उदाहरण

    c = 5 > 6 ; 

    उपरोक्त उदाहरण में c वेरिएबल की वैल्यू false अर्थात 0 हो जाएगी, क्योंकि संख्या 5 संख्या 6 से छोटी होती है।

    == Operator 

    equal to==operator  true और false return करता हैं

    • true - यदि दोनों ऑपरेंड समान या एक जैसे हैं
    • false - यदि ऑपरेंड असमान हैं

    For example,

       
        int y = 15;
        int z = 10;

        x == y   // false
        x == z   // true

    Note:- relational operator(रिलेशनल ऑपरेटर)==assignment operator(असाइनमेंट ऑपरेटर) के समान नहीं है=। assignment operator(असाइनमेंट ऑपरेटर)=एक  variable, constant, array, या vector के लिए एक मान निर्दिष्ट करता है। यह दो ऑपरेंड को compare (तुलना) नहीं करता है।

    != Operator

    not equal to!=operator  true और false return करता हैं

    • true यदि ऑपरेंड असमान हैं
    • false - यदि दोनों ऑपरेंड समान या एक जैसे हैं

    For example,


         int x = 10;
         int y = 15;
         int z = 10;

         x != y   // true
         x != z   // false

    > Operator:-

    The greater than>operator  true और false return करता हैं

    • true - यदि बायीं ओर की संख्या दायीं ओर की संख्या से बड़ी है
    • falseदि दायीं ओर की संख्या बायीं ओर की संख्या से बड़ी है

    For example,


        int x = 10;
        int y = 15;

        x > y   // false
        y > x   // true

    > Operator 

    The less than< operator true और false return करता हैं

    • true - यदि दायीं ओर की संख्या बायीं ओर की संख्या से बड़ी है
    • false - यदि बायीं ओर की संख्या दायीं ओर की संख्या से बड़ी है

    For example,


        int x = 10;
        int y = 15;

        x > y   // true
        y > x   // false

    >= Operator

    The greater than or equal to >= operator ज्यादा और बराबर की तुलना कर  true और false return करता हैं

    • true - यदि दायीं ओर की संख्या बायीं ओर की संख्या से बड़ी या बराबर है
    • false - यदि बायीं ओर की संख्या दायीं ओर की संख्या से छोटी है

    For example,


        int x = 10;
        int y = 15;
        int z = 10;

        x >= y   // false
        y >= x   // true
        z >= x   // true

    <= Operator

    The Less than or equal to <= operator कम और बराबर की तुलना कर,  true और false return करता हैं

    • true - यदि बायीं   ओर की संख्या दायीं ओर की संख्या से बड़ी या बराबर है
    • false - यदि दायीं  ओर की संख्या बायीं ओर की संख्या से छोटी है

    For example,


        int x = 10;
        int y = 15;

        x > y   // false
        y > x   // true

    Example:- 

    निम्न उदाहरण में रिलेशनल ऑपरेटर्स का प्रयोग समझाया गया है:


        //Relational  Operator
        #include<iostream>
        #include<conio.h>
        using namespace std;
        int main()
        {
            int a = 10, b = 20;
            cout<<"a = "<<a<<" b = "<<b;
            cout<<"\nResult of a>10 is : "<<(a>10);
            cout<<"\nResult of a<10 is : "<<(a<10);

            cout<<"\nResult of b>=10 is : "<<(b>=10);
            cout<<"\nResult of b<=10 is : "<<(b<=10);
           
            cout<<"\nResult of a==10 is : "<<(a==10);
            cout<<"\nResult of a!=10 is : "<<(a!=10);
            return 0;
        }

    Output:-

    a = 10  b = 20
    Result of a>10 is : 0
    Result of a<10 is : 0
    Result of b>=10 is : 1
    Result of b<=10 is : 0
    Result of a==10 is : 1
    Result of a!=10 is : 0

    Explain Example:-

     उपरोक्त उदाहरण में     cout<<"\nResult of a>10 is: "<< ( b>10)    में प्रयुक्त a>10 में चूंकि वेरिएबल a में 10 स्टोर है अतः 10 > 10 का परिणाम false होगा। C++ में  false वैल्यू के लिए 0 का प्रयोग किया जाता है, अतः a >10 का परिणाम 0 होगा। 
    वहीं a==10 की स्थिति में चूंकि 10==10 का परिणाम true होगा, अतः इसका परिणाम 1 होगा।

    Logical Operator 

    ऐसे ऑपरेटर जो दो लॉजिकल वैल्यूज के साथ प्रयोग किए जाते हैं, इस श्रेणी में आते हैं। अर्थात हम यह जांचने के लिए logical operators  का उपयोग करते हैं कि कोई expression true(सत्य) है या false(असत्य) है । यदि expression  true(सत्य) है , तो यह 1 return करता हैं जबकि यदि expression false(असत्य)है , तो यह 0 return करता हैं ।

    OperatorMeaning
    &&Logical AND Operator.
    ||Logical OR Operator.
    !Logical NOT Operator.

    सामान्यतया इन ऑपरेटर्स का प्रयोग रिलेशनल ऑपरेटर्स के साथ किया जाता है।

    C++ Logical AND Operator

    Logical AND &&operator  true और false return करता हैं
    • true - जब Logical AND (&&) का प्रयोग किया जाता है तो उसके दोनों तरफ वाले एक्सप्रेशन का परिणाम यदि True होगा तो ही अंतिम परिणाम trueहोगा।
    • false - और यदि किसी एक भी एक्सप्रेशन का परिणाम False हुआ तो अंतिम परिणाम falseही होगा।

    For example,

    aba && b
    000
    010
    100
    111

    जैसा कि हम उपरोक्त table(तालिका) से देख सकते हैं,&&ऑपरेटर  केवल तभी true(1) return करता हैं जब दोनों aऔरbtrue हों।

    Example 1: C++  && Operator:-


        // C++ program demonstrating && operator truth table

        #include <iostream>
        using namespace std;

        int main() {
            int a = 5;
            int b = 9;
       
            // false && false = false
            cout << ((a == 0) && (a > b)) << endl;
       
            // false && true = false
            cout << ((a == 0) && (a < b)) << endl;

            // true && false = false
            cout << ((a == 5) && (a > b)) << endl;

            // true && true = true
            cout << ((a == 5) && (a < b)) << endl;

            return 0;
        }

    Output

    0
    0
    0
    1

    Explain Example 

    इस programमें, हम दोintvariables declare और initialize करते हैं aतथा bजिनकी values क्रमशः  5 और9हैं।  फिर हम एक logical expression प्रिंट करते हैं

    ((a == 0) && (a > b))

    यहाँ, सबसे पहलेa == 0को cheak किया जाता हैं चूंकि a की value 5 हैं अतः इस की जगहfalseआ जाता है। इसके बाद a > bभीfalseहै चूंकि यहाँaकी वैल्यू 5 हैं जो कीbकी value (9) तुलना में कम है फिर हम&&इन दो expressions को combine करने के लिए AND ऑपरेटर का उपयोग करते हैं ।

    &&ऑपरेटर की true table से , हम जानते हैं किfalse && false(यानी0 && 0का परिणाम false(0) का evaluation होता है । यह वह परिणाम है जो हमें आउटपुट में मिलता है।

    इसी तरह, हम तीन अन्य expressions का evaluate करते हैं जो पूरी तरह से&&ऑपरेटर की true table  को प्रदर्शित करते हैं ।

    C++ Logical OR Operator

    Logical AND||operator true और false return करता हैं
    • true - जब Logical OR ( || ) का प्रयोग किया जाता है तो उसके एक या दोनों तरफ वाले एक्सप्रेशन का परिणाम यदि True होगा तो ही अंतिम परिणाम trueहोगा।
    • false - और यदि दोनों ही  एक्सप्रेशन का परिणाम False हुआ तो अंतिम परिणाम falseही होगा।

    For example

    aba || b
    000
    011
    101
    111


    जैसा कि हम उपरोक्त table(तालिका) से देख सकते हैं, ||ऑपरेटर  केवल तभी false(0) return करता हैं जब दोनों expressions aऔरbfalse हों।

    Example 2: C++  && Operator:-


        // C++ program demonstrating || operator truth table

        #include <iostream>
        using namespace std;

        int main() {
            int a = 5;
            int b = 9;
       
            // false && true = true
            cout << ((a == 0) || (a < b)) << endl;

            // false && false = false
            cout << ((a == 0) || (a > b)) << endl;
     

            // true && false = true
            cout << ((a == 5) || (a > b)) << endl;

            // true && true = true
            cout << ((a == 5) || (a < b)) << endl;

            return 0;
        }
       

    Output

    1
    0
    1
    1

    Explain Example 

    इस programमें, हम दोintvariables declare और initialize करते हैंaतथाbजिनकी values क्रमशः59हैं।  फिर हम एक logical expression प्रिंट करते हैं

    cout << ((a == 0) || (a < b)) << endl;

    यहाँ, सबसे पहलेa == 0को check किया जाता हैं चूंकि a की value 5 हैं अतः इस की जगहfalseआ जाता है। इसके बादa < bभीtrueहै चूंकि यहाँaकी वैल्यू 5 हैं जो कीbकी value (9) तुलना में कम है फिर हम||इन दो expressions को combine करने के लिए OR ऑपरेटर का उपयोग करते हैं ।

    ||ऑपरेटर की true table से , हम जानते हैं किfalse || true(यानी0 || 1का परिणामtrue(1) का evaluation होता है । यह वह परिणाम है जो हमें आउटपुट में मिलता है।

    इसी तरह, हम तीन अन्य expressions का evaluate करते हैं जो पूरी तरह से ||ऑपरेटर की true table  को प्रदर्शित करते हैं ।

    C++ Logical Not Operator(!):-

    Logical!Operator (लॉजिकल नॉट ऑपरेटर) एक Unary Operator (यूनरी ऑपरेटर) है यानी यह केवल एक Operand(ऑपरेंड) लेता है।

    जब Operand(ऑपरेंड) falus होता है तो यह true  return करता हैं , और जब Operand(ऑपरेंड)  true होता है तो falus return करता हैं।

    Example 3: C++  ! Operator:-


        // C++ program demonstrating ! operator truth table
        #include <iostream>
        using namespace std;

        int main() {
            int a = 5;
       
            // !false = true
            cout << !(a == 0) << endl;

            // !true = false
            cout << !(a == 5) << endl;

            return 0;
        }
       

    Output

    1
    0

    Explain Example 

    इस programमें, हम एक intvariables declare और initialize करते हैंavalue 5हैं।  फिर हम एक logical expression प्रिंट करते हैं

        !(a == 0)

    यहाँ, सबसे पहलेa == 0को cheak किया जाता हैं चूंकि a की value 5 हैं अतः इस की जगहfalseआ जाता है। चूंकि यहाँ पर हम !(Not) Operator  का प्रयोग कर रहे हैं अतः result ठीक इसके विपरीत trueहो जाता  हैं !ऑपरेटर के परिणामों को उलट देता हैa == 0और अंतिम परिणाम true होता है। 

    Post a Comment

    0 Comments