Expressions पर एक और नज़र
Section किसी program का structure में हमने expressions को कुछ इस तरह define किया था: “एक गणितीय ईकाइ जो evaluate होने पर कोई value देता हो” । गणितीय इकाई, ये शब्द बहुतों को समझने में थोडा मुश्किल लगा होगा । साफ़ तौर पर कहा जाये, तो expression literals, variables, functions, और operators का एक मिश्रण (मिला-जुला रूप) है, जो evaluate होकर कोई value देता है ।
Literals
Literal का अर्थ है fixed values जिनको source code मे सीधे-सीधे डाला जाता है, जैसे की 5
, या 3.14159
। Literals हमेशा अपने ही value पर evaluate होते हैं (उदाहरण के लिए, 5 एक literal है जो evaluate होकर हमेशा 5 ही देगा), और इनका memory में कोई स्थान नहीं होता है । यहाँ एक program दिया गया है जिसमे literals इस्तेमाल किये गए हैं:
1 2 3 4 5 6 7 8 |
#include <iostream> int main() { int x = 2; // यहाँ x एक variable और 2 एक literal है std::cout << 3 + 4; // 3 + 4 एक expression है, 3 और 4 literals हैं std::cout << "Hello, world!"; // "Hello, world" भी एक literal है } |
Literals, variables, और functions, ये सभी operands (जिनपर कोई operation किया जाना है) के रूप में जाने जाते हैं । Operands expressions को कुछ calculate करने के लिए data प्रदान करते हैं । हमने अभी-अभी literals के बारे में जाना है, जो evaluate होने पर अपना ही value देते हैं । Variables evaluate होने पर वे value देते हैं जो उनको अंतिम बार assign किया गया था । Functions evaluate होकर function के return type का एक value देते हैं (यदि return type void ना हो तो) ।
Operators
अब इस expression के puzzle में आखरी चीज़ जो रह गया है, वो है operators । Operators ये निश्चित करते हैं की दो या दो से अधिक operands को, एक नया value देने के लिए कैसे combine करना है या मिलाना है । उदाहरण के लिए, expression “3 + 4”, में + एक operator है। + operator यहाँ ये बता रहा है की operands 3 और 4 को एक नया value(7) देने के लिए कैसे combine करना है ।
आपने math के साधारण हिसाब बनाते वक़्त arithmetic operators जैसे addition (+), subtraction (-), multiplication (*), और division (/) का प्रयोग किया होगा । उसी तरह Assignment (=) भी एक operator है । C++ में कुछ operators एक से अधिक symbols से बने हो सकते हैं, जैसे की equality operator (==), जो हमें किन्ही दो values को compare करके ये पता लगाने में मदद करता है की वे values बराबर हैं या नहीं ।
Note: Assignment operator (=) और equality operator (==) नए programmers को अकसर confuse कर देते हैं । Assignment (=) का प्रयोग किसी variable को value assign करने के लिए होता है जबकि equality (==) का इस्तेमाल दो values के equal होने का पता लगाने के लिए किया जाता है । आगे चलकर equality operator को हम और करीब से जानेंगे ।
Operators तीन तरह के होते हैं:
Unary operators केवल operand पर काम करते हैं । Unary operator का एक उदाहरण - operator है । Expression -5
में, - operator केवल एक operand (5) पर काम कर रहा है । ये expression evaluate होकर (-5) देगा ।
Binary operators दो operands (जिन्हें left और right के रूप में जाना जाता है) पर काम करते हैं । Binary operator का एक उदाहरण + operator है । Expression 3 + 4
में, + operator एक left operand (3) और एक right operand (4) पर काम कर रहा है जो evaluate होकर एक नया value (7) देगा ।
Ternary operators तीन operands पर काम करते हैं । C++ में केवल एक ternary operator है, जिसके बारे हम आगे के chapter में जानेंगे ।
यहाँ और एक बात ध्यान देने लायक है की कुछ operators के एक से ज्यादा मतलब होते हैं । उदाहरण के लिए, - operator का दो तरह से इस्तेमाल किया जा सकता है । ये एक unary operator के रूप में किसी value के चिन्ह को बदलने के लिए इस्तेमाल किया जा सकता है (जैसे 5 को -5, या फिर -5 को 5 में बदलने के लिए), या इसका प्रयोग एक binary operator के रूप में arithmatic subtraction (अंकगणितीय घटाव) करने के लिए भी किया जा सकता है (जैसे 4 - 3) ।
निष्कर्ष
आपने अभी operators की बस एक छोटी सी झलक देखी है, आने वाले sections में हम operators को और अधिक गहरायी से जानने का प्रयास करेगे ।
![]() |
![]() |
![]() |
Your post is amazed me. Your article is very much informative. You always share such a wonderful articlewhich helps us to gain knowledge .thanks for sharing such a wonderful article, It will be deinitely helpful and fruitful article. hope we will always gain from your article.
Thanks
https://www.DedicatedHosting4u.com/
In Hindi Website.
There is a slight correction.
Unary operator sirf 'ek' operand par kaam karta hai.
Thank you.