Logical operator in C language

    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 Language  Logical AND Operator

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

    For example,

    a b a && b
    000
    010
    100
    111

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

    जैसे:- 

    मान लो कि  variable p में  21 store है ऐसे में निम्न  Expression का परिणाम False(0) आएगा: 

    (p > 20) && (p < 20); क्योंकि यहां पर && के दायी(right) ओर वाले एक्सप्रेशन का परिणाम false(0) है। वहीं यदि  variable p में  18  store होता तो परिणाम true(1) होता हैं। 

    Example 1: C Language  && Operator:-


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
            int a = 5;
            int b = 9;

            // false && false = false
            printf("((%d == 0) && (%d > %d)) = %d \n",a,a,b, ((a == 0) && (a > b)));

            // false && true = false
            printf("((%d == 0) && (%d < %d)) = %d \n",a,a,b, ((a == 0) && (a < b)));

            // true && false = false
            printf("((%d == 5) && (%d > %d)) = %d \n",a,a,b, ((a == 5) && (a > b)));

            // true && true = true
            printf("((%d == 5) && (%d < %d)) = %d \n",a,a,b, ((a == 5) && (a < b)));

            getch();
        }

    Output:-

    ((5 == 0) && (5 > 9)) = 0 
    ((5 == 0) && (5 < 9)) = 0 
    ((5 == 5) && (5 > 9)) = 0
    ((5 == 5) && (5 < 9)) = 1


    Explain Example:-

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

        printf("((%d == 0) && (%d > %d)) = %d \n",a,a,b, ((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 Language 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 करता हैं जब दोनों expressionsaऔरbfalse हों।

    Example 2: C Language && Operator:-


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
            int a = 5;
            int b = 9;

            // false && true = true
            printf("((%d == 0) || (%d < %d)) = %d \n", a, a, b, ((a == 0) || (a < b)));

            // false && false = false
            printf("((%d == 0) || (%d > %d)) = %d \n", a, a, b, ((a == 0) || (a > b)));

            // true && false = true
            printf("((%d == 5) || (%d > %d)) = %d \n", a, a, b, ((a == 5) || (a > b)));

            // true && true = true
            printf("((%d == 5) || (%d < %d)) = %d \n", a, a, b, ((a == 5) || (a < b)));

            getch();
        }

    Output:-

    ((5 == 0) || (5 < 9)) = 1
    ((5 == 0) || (5 > 9)) = 0
    ((5 == 5) || (5 > 9)) = 1
    ((5 == 5) || (5 < 9)) = 1

    Explain Example:-

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

    printf("((%d == 0) || (%d < %d)) = %d \n", a, a, b, ((a == 0) || (a < b)));

    यहाँ, सबसे पहले a == 0को cheak किया जाता हैं चूंकि 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 Language Logical Not Operator(!):-


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

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

    Example 3: C Language  ! Operator:-


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
            int a = 5;

            // !false = true
            printf("!(%d == 0) = %d \n", a, !(a == 0) );

            // !true = false
            printf("!(%d == 5) = %d \n", a, !(a == 5) );
            getch();
        }

    Output:-

    !(5 == 0) 1
    !(5 == 5) 0

    Explain Example:-

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

        printf("!(%d == 0) = %d \n", a, !(a == 0) );

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

    Post a Comment

    0 Comments