Arithmetic Operators
आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम arithmetic operators के बारे में और जानेंगे.
operator यानि संक्रिया. operator एक function की तरह ही है जिसे एक चिन्ह के द्वारा लिख सकते हैं, जो एक या एक से अधिक मान लेता है और output में एक मान देता है(एक मान return करता है) इनकी जानकारी नीचे दी गयी है.
  1. +: यह दो संख्याए लेता है और उनका sum return करता है. जैसे कि 5+3 8 return करेगा, इसलिए a = 5+3 लिखने पर a की value 8 हो जाती है.
  2. -:यह दो संख्याए लेता है और उनका difference return करता है.
  3. *:यह दो संख्याए लेता है और उनका product return करता है.
  4. /:यह दो संख्याए लेता है और उनका भागफल(divisor) return करता है.
  5. %:यह दो संख्याए लेता है और उनका शेषफल(remainder) return करता है.
ऊपर दिए गए operator arithmetic operator हैं.
int a = 5;
int b = 3;
a + b;
ऊपर दिए गए program की तीसरी line में a और b को add किया गया है जो कि 8 return करेगा. a और b की value change नहीं होंगी. return value 8 को हमने किसी variable में save नहीं किया इसलिए यह lost हो जायेगा. नीचे example में हमने उस return value को c में save किया है.
int a = 5;
int b = 3;
int c = a + b;
= भी एक operator है जो अपने right side लिखे गए expression की value को left side में लिखे गए variable में डाल देता है. जैसे कि ऊपर c = a+b लिखने पर right side में a+b 8 देगा इसलिए c की value 8 हो जायेगी.
int a = 5;
int b = 3;
a = b;
ध्यान दे कि ऊपर दिए गए example में a = b लिखने के बाद a में 3(b की value) आ जायेगा, b में 5 नहीं आएगा क्योंकि = अपने left side में लिखे variable में right side की value डालता है, इसका उल्टा नहीं करता. यह भी ध्यान दें कि left side में सिर्फ एक variable ही होना चाहिए, कुछ और नहीं. यदि a+b = c लिखेंगे तो c में a+b की value नहीं आएगी बल्कि program error दे देगा, क्योंकि left side में सिर्फ एक variable नहीं है बल्कि a+b है. = में एक बात और है कि यह अपने right side के expression की value return भी करता है.
int a = 5;
int b = 3;
int c,d;
d = (c = a % b);//% शेषफल देता है.
ऊपर दिए गए example में c = a%b करने से c की value 2 हो जायेगी और यह(c=a%b) 2 return भी करेगा इसलिए d = (c=a%b) लिखने से return value भी d में भी आ जायेगी.
ऊपर दिए गए सभी operators जिस तरह का input(int,float etc.) लेते हैं उसी तरह का output देते हैं. जैसे कि अगर 30/8 करेंगे तो 3 आएगा. 30 और 8 दोनों int हैं इसलिए result भी int आएगा, दशमलव में मान नहीं आएगा, दशमलव के बाद वाले अंक हट जायेंगे. agar 30.0/8.0 करेंगे तो 3.75 आएगा.
ऊपर दिए गे सभी operator, binary operator हैं. इसका मतलब यह हुआ कि वो 2 संख्याए लेते हैं. अब हम कुछ unary operators के बारे में जानेंगे जो सिर्फ एक ही संख्या लेते हैं.
1. x++ और ++x : ये दोनों ही variable x की value 1 बढ़ा देते हैं. x++ x की पुरानी value return करेगा और ++x x की नयी value return करेगा. अगर सिर्फ x++ या ++x लिखना हो तब दोनों एक है हैं परन्तु यदि इनका use किसी expression में करना हो तब ध्यान रखना चाहिए. नीचे example से और स्पष्ट हो जायेगा.
int a = 5;
int b = a++;
int c = ++a;
int d = (b++) + (++c);
ऊपर दिए गए program में दूसरी line run होने के बाद a की value 1 बढ़कर 6 हो जायेगी पर चूंकि a++ पुरानी value return करता है इसलिए b में 5 जायेगा. तीसरी line run होने के बाद a की value 6 से बढ़कर 7 हो जायेगी और c में 7 जायेगा क्योंकि ++a a की नयी value return करता है. चौथी line run होने के बाद b की value 5 से बढ़कर 6, c की value 7 से बढ़कर 8 हो जायेगी, d में 13 जायेगा(d = b की पुरानी value + c की बढ़ी हुई value = 5+8)
x-- और --x भी ठीक इसी तरह कम करते हैं परन्तु यह x की value 1 कम करते हैं. ये दोनों operator(++ और --) सिर्फ int(पूर्णांक) के लिए हैं. float और double datatype में use करने पर error आएगी.