What is Logical Operator in C Language?

What is Logical Operator in C: Program में कोई ऐसी स्थिति होती है, जिसमें किसी एक Condition के आधार पर दो में से किसी एक काम को पूरा करना होता है, तब हम Relational Operators का प्रयोग करके Conditions को Check करते हैं। लेकिन कई बार Program में ऐसी परिस्थितियां बन जाती हैं, जिसमें एक से अधिक Conditions के आधार पर किसी एक काम को पूरा करना होता है।

जब किसी Program में इस प्रकार की परिस्थिति पैदा हो जाती है, जिसमें दो या दो से अधिक Conditions के साथ प्रक्रिया करके परिणाम प्राप्त करना होता है, तब Logical Operators का उपयोग किया जाता है। C Language में मुख्‍यतः तीन Logical Operators होते हैं।

चूंकि Logical Operators Binary Operators होते हैं, इसलिए इन Operators के साथ हमेंशा दो Operands होते हैं, साथ ही Logical Operators जिन दो Operands के आधार पर Operation Perform करके Result Generate करना चाहते हैं, उनमें भी कोई ना कोई Relational Operator Included होता है।

AND (&&)

जब Logical Operator के दोनों तरफ की Condition True होती है, तब ये Logical Operator True या Return करता है। यदि Logical Operator के दोनों तरफ की Conditions में से किसी एक भी Condition द्वारा या False Return हो रहा हो, तो ये Logical Operator भी False Return करता है। जैसेः

   X = (10 > 5) && (5 > 3)

ये Statement Identifier X में 1 यानी True Store करेगा, क्योंकि इस Statement के Execute होने पर सबसे पहले Logical AND Operator के Left Hand Side में स्थित Expression (10 > 5) Execute होगा, जो केवल उस स्थिति में True Return करता है, जब 10 का मान 5 के मान से बडा होता है। चूंकि 10 हमेंशा ही 5 से बडा होता है, इसलिए ये Expression True Return करता है। फिर Logical AND Operator के Right Side की Condition (5 > 3) Check होता है, जो उस स्थिति में True या 1 Return करता है, जब 5 का मान 3 से ज्यादा होता है।

चूंकि यहां भी 5 का मान हमेंशा ही 3 से ज्यादा होता है, इसलिए ये Expression भी True या 1 Return करता है। अब यदि हम Logical Operator के उपरोक्त Expression को Represent करें, तो इस Statement को निम्नानुसार Represent कर सकते हैं:

   X = 1 && 1

“C” Language में 0 के अलावा किसी भी संख्‍या को True ही माना जाता है, फिर चाहे संख्‍या Positive हो या Negative, इसलिए इस Expression में यदि हम देखें तो Logical AND Operator के दोनों और True या 1 है, अतः ये Logical AND Operator भी True या 1 ही Return करेगा और Variable Identifier X में यानी True Store हो जाएगा।

OR ( || )

इस Logical Operator के दोनों तरफ की Condition में से यदि किसी एक तरफ की Condition भी True होती है, तब भी ये Logical Operator True या Return करता है। यदि Logical Operator केवल एक ही स्थिति में False Return करता है, जब इस Logical Operator के Left Hand Side व Right Hand Side दोनों तरफ की Conditions False होती हैं। जैसेः

   X = (10 < 5) || (5 < 3)

ये Statement Identifier X में 0 यानी False Store करेगा, क्योंकि इस Statement के Execute होने पर सबसे पहले Logical OR Operator के Left Hand Side के Expression (10 < 5) का Execution होता है और ये Expression उस स्थिति में True Return करता है, जब 10 का मान 5 के मान से छोटा होता है।

चूंकि 10 हमेंशा ही 5 से बडा होता है, इसलिए ये Expression False Return करता है। फिर Logical OR Operator के Right Side की Condition Check होती है, जो उस स्थिति में True या 1 Return करता है, जब 5 का मान 3 से कम होता है।

चूंकि यहां भी 5 का मान हमेंशा ही 3 से ज्यादा होता है, इसलिए ये Expression भी False या 0 Return करता है। अब यदि हम Logical Operator के उपरोक्त Expression को Represent करें, तो इस Statement को निम्नानुसार Represent कर सकते हैं:

   X = 0 || 0

इस Expression में Logical OR Operator के दोनों और False  या 0 है, अतः ये Logical OR Operator False या 0 ही Return करेगा और Variable Identifier X में यानी False Store हो जाएगा।

NOT ( ! )

ये एक ऐसा Unary Logical Operator है। इस Operator को काम करने के लिए केवल एक ही Operand की जरूरत होती है। जिस Identifier के साथ इस Operator को Use किया जाता है, ये Operator उस Identifier की Condition को Invert कर देता है। यानी यदि किसी Expression सेTrue Return हो रहा हो, तो इस Operator का प्रयोग करने से वह False Return करने लगेगा और यदि किसी Expression से False Return हो रहा हो, तो उस Expression में इस Operator का प्रयोग करने पर वह Expression True Return करने लगेगा। इस प्रक्रिया को हम निम्नानुसार Expression द्वारा समझ सकते हैं: माना

int A = 6;
int B ;
B = !A

यदि किसी Program में हम इस Expression को Execute करें और Variable के मान को Print करें, तो हमें Output में 0 या False प्राप्त होता है। ऐसा इसलिए होता है क्योंकि Variable में Store है, जो कि एक True मान है, लेकिन जब हम इसके साथ NOT Logical Operator का प्रयोग करके Return होने वाले मान को Variable B में Store करते हैं, तो ये Operator Variable केTrue मान को False में Convert कर देता है। इसलिए यदि हम Variable B को Output में Print करते हैं, तो हमें Output में प्राप्त होता है, जो कि False को Represent करता है।

Logical Operators एक प्रकार से Relational Operators के Supporting Operators होते हैं। इनका प्रयोग करके हम Relational Operators के काम को थोडा कम कर लेते हैं। उदाहरण के लिए यदि हमें तीन संख्‍याओं में से बडी संख्‍या ज्ञात करने का प्रोग्राम बनाना हो और हम Logical Operators Use न करें, तो हमें if Statement की Nesting करते हुए इस जरूरत को निम्‍नानुसार पूरा करना पडता है-

#include <stdio.h>

int main()
{
 int a, b, c, big;
 a = 10;
 b = 20;
 c = 30;

 if(a>b)
 {
   if(a>c)    
     big = a;
   else
     big = c;
 }
 else
 {
   if(b>c)    
     big = b;
   else
     big = c;                   
  }

 printf("Biggest value: %d", big);
}

जबकि यदि हम Logical Operators को Use करें, तो if Statement की Nesting के काम को हम Logical AND (&&) Operator का प्रयोग करते हुए अपने पिछले प्रोग्राम को निम्‍नानुसार Modify कर सकते हैं-

#include <stdio.h>
int main()
{
  int a, b, c, big;
  a = 10;
  b = 20;
  c = 30;

  if(a>b && a>c)      
   big = a;
  else if (b>a && b>c)
   big = b;
  else
   big = c;                   

 printf("Biggest value: %d", big);
}

उपरोक्‍त उदाहरण Progrma द्वारा हम समझ सकते हैं कि Logical Operators की Working को समझना हमारे लिए उतना ही जरूरी है, जितना Relational Operators की Working को समझना होता है। क्‍योंकि Logical Operator वास्‍तव में Relational Operators की कार्यप्रणाली को थोडा सरल बना देता है। परिणामस्‍वरूप हम कम Codes द्वारा ज्‍यादा काम पूरा कर सकते हैं, जो कि बिना Logical Operators को Use किए हुए सम्‍भव नहीं है।

इसलिए Relational Operators की तरह ही Logical Operators को भी अच्‍छी तरह से समझना व विभिन्‍न तरीकों से उपयोग में लेने के बारे में सीखना आपके लिए एक अच्‍छा Programmer बनने हेतु बहुत जरूरी है और आपकी इस जरूरत को पूरा करने के लिए आप हमारी पुस्‍तक C Programming Language in Hindi को उपयोग में ले सकते हैं, जिसमें Logical Operators, Relational Operators और ऐसे ही कई अन्‍य Programming Constructs के बारे में विभिन्‍न प्रकार के Example Programs द्वारा काफी सरल भाषा में Discuss किया गया है। (What is Logical Operator in C)

C Programming Language in Hindi - BccFalna.com ये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook  C Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C Programming Language in Hindi | Page: 477 + 265 | Format: PDF

BUY NOW GET DEMO REVIEWS