Saturday, April 11, 2009

सीखिए सी - 12 : सी के प्रचालक

प्रचालक उन प्रतीकों को कहते हैं जो आंकड़ों और चर राशियों में विशिष्ट प्रकार की तब्दीलियां लाते हैं। सी के प्रचालक निम्नानुसार हैं:

1. अंकगणितीय प्रचालक
ये पांच हैं, +, -, *, / और %। इनमें से प्रथम चार जोड़ने, घटाने, गुणन करने और विभाजित करने के प्रचालक हैं। अंतिम को माड्युलस प्रचालक कहा जाता है। यह किन्हीं दो अंकों को विभाजित करने पर बची राशि को व्यक्त करता है।

उदाहरण:
8 % 3 = 5

8 को 3 से विभाजित करने पर 5 शेष रहता है। अतः, माड्युलस प्रचालक 5 का मान देता है।

2. तार्किक प्रचालक
तार्किक प्रचालक तीन हैं &&, || और !।

तार्किक प्रचालकों के केवल दो मान हो सकते हैं, सही या गलत, जिन्हें 1 या 0 से निर्दिष्ट किया जाता है। इन प्रचालकों में से प्रथम && को ऐंड (और) प्रचालक कहते हैं। यह 1 का मान तब देता है जब सब संकार्यों (ओपरेन्ड्स) का मान 1 हो। यदि किसी एक संकार्य का भी मान 0 हो, तो यह प्रचालक 0 नतीजा देता है।

दूसरा प्रचालक || है, जिसे ओर (या) प्रचालक कहते है। यह 1 का मान तब देता है जब किसी भी एक या उससे अधिक संकार्यों का मान 1 हो। यह 0 मान तभी देता है जब सभी संकार्यों का मान 0 हो।

अंतिम तार्किक प्रचालक ! नोट (नहीं) प्रचालक है। यह किसी तार्किक व्यंजक (एक्सप्रेशन) पर असर करता है और उसके मान को उलट देता है। ध्यान रहे कि तार्किक व्यंजकों के केवल दो ही मान हो सकते हैं, 1 या 0। अत:, यदि किसी तार्किक व्यंजक का प्रारंभिक मान 1 हो, तो उस पर नोट प्रचालक लगाने पर व्यंजक का नया मान 0 हो जाएगा।
इन प्रचालकों के प्रभाव को नीचे की तालिका में स्पष्ट किया गया है।

&& प्रचालक

संकार्य 1संकार्य 2संकार्य 1 && संकार्य 2
010
100
000
111

|| प्रचालक
संकार्य 1संकार्य 2संकार्य 1 || संकार्य 2
011
101
000
111

! प्रचालक
संकार्य 1! संकार्य 1
10
01

इन प्रचालकों का उपयोग if...else और while वाली उक्तियों में बहुत होता है, जिनके बारे में हम आगे के लेखों में सीखेंगे।

3. संबंधपरक प्रचालक
ये निम्नलिखित हैं:

प्रचालकअर्थ
= =के बराबर है
!=के बराबर नहीं है
<=से छोटा है या बराबर है
<से छोटा है
>=से बड़ा है या बराबर है
>से बड़ा है


इन प्रचालकों के भी केवल दो मान हो सकते हैं, 1 या 0।

उदाहरण:
व्यंजनमानटिप्पणी
4 == 80  यह व्यंजक गलत है, 4 8 के बराबर नहीं है
4 !== 81यह सही है, 4 8 के बराबर नहीं है
4 <= 81यह सही है, 4 8 से छोटा है
4 < 81यह सही है, 4 8 से छोटा है
4 >= 80यह गलत है, 4 8 से बड़ा नहीं है
4 > 80यह गलत है, 4 8 से बड़ा नहीं है


4. = प्रचालक
यह आरोपण प्रचालक है और आप इससे मिल चुके हैं। यह इसके बाईं ओर की चर राशि में इसके दाहिनी ओर की राशि का मान आरोपित करता है।

उदाहरण:
x =10;
x= y+z;
x=y=z=8;

अंतिम उदाहरण में आरोपण की प्रक्रिया दाहिनी ओर से बाईं ओर क्रमवार संपन्न होती है, यानी पहले z में 8 का मान आता है, फिर y में z का मान (जो अब 8 है), और अंत में x में y का मान। इस प्रकार तीनों का मान 8 हो जाता है।

ध्यान दीजिए कि == प्रचालक और = प्रचालक में जमीन आसमान का अंतर है। == एक संबंधसूचक प्रचालक है जो केवल यह बताता है कि उसके दोनों ओर के संकार्य बराबर हैं या नहीं। यदि वे बराबर हैं, तो वह 1 का मान देता है, अन्यथा 0 का। इसके विपरीत = प्रचालक आरोपण प्रचालक है जो उसके दाहिनी ओर के मान को बाईं ओर की चर राशि में आरोपित करता है।

5. & प्रचालक
इससे भी आप scanf() के प्रसंग में मिल चुके हैं। यह ऐड्रेस प्रचालक है, यानी पता बतानेवाला प्राचालक। इसे लगाकर हम किसी चर राशि से जुड़े स्मृति कोषों का पता जान सकते हैं।

ध्यान में रखें, तार्किक ऐंड प्रचालक (&&) और राशियों का पता बतानेवाला प्रचालक (&) पूर्णतः भिन्न हैं।

6. ++ और -- प्रचालक
इन्हें क्रमश: इंक्रिमेंट प्रचालक और डिक्रिमेंट प्रचालक कहा जाता है। इंक्रिमेंट प्रचालक किसी चर राशि के मान को 1 से बढ़ा देता है और डिक्रिमेंट प्रचालक किसी चर राशि के मान को 1 से कम कर देता है।

उदाहरण:
सी की उक्तिटिप्पणी
x = 10; x का प्रारंभिक मान 10 है।
x++; अब x का मान एक से बढ़कर 11 हो गया है।
x--; अब x का मान एक से कम होकर दुबारा 10 हो गया है।


ये दोनों प्रचालक राशि के बाईं ओर या दाहिनी ओर लग सकते हैं। दोनों स्थितियों में इनका प्रभाव अलग-अलग होता है। जब ये राशि के दाहिनी ओर लगते हैं, तो इंक्रिमेंट या डिक्रिमेंट का काम बाद में होता है। यदि ये प्रचलाक राशि के बाईं ओर लगे, तो इंक्रिमेंट या डिक्रिमेंट का काम पहले होता है। ऐरे की चर्चा करते समय हम इस बारीकी पर अधिक प्रकाश डालेंगे।

7. , (अल्प-विराम) प्रचालक
यह अनेक व्यंजकों को जोड़कर एक उक्ति बनाने में काम आता है।

उदाहरण:
int x,y,z;

यह एक उक्ति निम्नलिखित तीन उक्तियों के बराबर है:
int x;
int y;
int z;

No comments:

Post a Comment