ऑपरेटर डेटा पर एक ऑपरेशन करता है। उन्हें निम्नलिखित में वर्गीकृत किया गया है -
- अंकगणित संचालिका।
- रिलेशनल ऑपरेटर।
- लॉजिकल ऑपरेटर्स।
- असाइनमेंट ऑपरेटर।
- इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर्स।
- बिटवाइज ऑपरेटर।
- सशर्त ऑपरेटर।
- विशेष ऑपरेटर।
अंकगणित संचालिका
इन ऑपरेटरों का उपयोग संख्यात्मक गणना (या) के लिए जोड़, घटाव आदि जैसे अंकगणितीय कार्यों को करने के लिए किया जाता है।
<वें शैली="पाठ्य-संरेखण:केंद्र;">a=20,b=10 <वें शैली="पाठ्य-संरेखण:केंद्र;">आउटपुटसंचालक | विवरण | उदाहरण | ||
---|---|---|---|---|
+ | जोड़ | a+b | 20+10 | 30 |
- | घटाव | ए-बी | 20-10 | 10 |
* | गुणा | a*b | 20*10 | 200 |
/ | डिवीजन | ए/बी | 20/10 | 2(भागफल) |
% | मॉड्यूलर डिवीजन | a%b | 20%10 | 0 (शेष) |
कार्यक्रम
अंकगणितीय ऑपरेटर के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> main ( ){ int a= 20, b = 10; printf (" %d", a+b); printf (" %d", a-b); printf (" %d", a*b); printf (" %d", a/b); printf (" %d", a%b); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
30 10 200 20
रिलेशनल ऑपरेटर
इनका उपयोग दो भावों की तुलना करने के लिए किया जाता है।
<वें शैली="पाठ्य-संरेखण:केंद्र;">a=20,b=10 <वें शैली="पाठ्य-संरेखण:केंद्र;">आउटपुटसंचालक | विवरण | उदाहरण | ||
---|---|---|---|---|
< | से कम | a | 10<20 | 1 |
<= | इससे कम (या) बराबर | a<=b | 10<=20 | 1 |
> | से अधिक | a>b | 10>20 | 0 |
>= | बराबर (या) से अधिक | a>=b | 10>=20 | 0 |
== | बराबर | a==b | 10==20 | 0 |
!= | बराबर नहीं | a!=b | 10!=20 | 1 |
संबंधपरक व्यंजक का आउटपुट या तो सत्य है (1) (या) असत्य (0)।
कार्यक्रम
रिलेशनल ऑपरेटर के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> main ( ){ int a= 10, b = 20; printf (" %d", a<b); printf (" %d", a<=b); printf (" %d", a>b); printf (" %d", a>=b); printf (" %d", a = =b); printf (" %d", a ! =b); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
1 1 0 0 0 1 1 1
लॉजिकल ऑपरेटर्स
इनका उपयोग 2 (या) अधिक भावों को तार्किक रूप से संयोजित करने के लिए किया जाता है।
वे तार्किक और (&&) तार्किक हैं या ( || ) और तार्किक नहीं (!)
<टेबल><थेड>exp1 exp2 exp1&&exp2 टी टी टी टी एफ एफ F टी एफ F एफ एफतार्किक और(&&)
<टेबल><थेड>exp1 exp2 exp1||exp2 टी टी टी टी एफ टी F टी टी F एफ एफतार्किक OR(||)
<टेबल><थेड>एक्सप !exp टी एफ F टीतार्किक नहीं (!)
<टेबल><थेड>ऑपरेटर <थ>विवरण उदाहरण <थ>ए=20,बी=10 आउटपुट && तार्किक और (a>b)&&(aकार्यक्रम
लॉजिकल ऑपरेटर के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> main ( ){ int a= 10, b = 20, c= 30; printf (" %d", (a>b) && (a<c)); printf (" %d", (a>b) | | (a<c)); printf (" %d", ! (a>b)); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
0 1 1
असाइनमेंट ऑपरेटर
यह एक चर के लिए एक मान निर्दिष्ट करता है। असाइनमेंट ऑपरेटर के प्रकार हैं -
- साधारण असाइनमेंट।
- साधारण असाइनमेंट।
ए=10"ए=ए-10
कार्यक्रम
असाइनमेंट ऑपरेटर के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> main ( ){ int a= 10,; printf (" %d", a); printf (" %d", a+ =10); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
10 20
इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर
आइए समझते हैं कि इंक्रीमेंट ऑपरेटर क्या है।
इन्क्रीमेंट ऑपरेटर (++)
यह ऑपरेटर किसी वैरिएबल के मान को 1
. से बढ़ा देता हैदो प्रकारों में शामिल हैं -
- पूर्व वेतन वृद्धि
- वृद्धि के बाद
यदि हम वृद्धि ऑपरेटर को संकार्य से पहले रखते हैं, तो यह पूर्व-वृद्धि है। बाद में, मान को पहले बढ़ाया जाता है और अगला ऑपरेशन उस पर किया जाता है।
उदाहरण के लिए,
z = ++a; // a= a+1 z=a
अगर हम ऑपरेंड के बाद इंक्रीमेंट ऑपरेटर को रखते हैं, तो यह पोस्ट इंक्रीमेंट है और ऑपरेशन करने के बाद वैल्यू बढ़ जाती है।
उदाहरण के लिए,
z = a++; // z=a a= a+1
उदाहरण
वेतन वृद्धि ऑपरेटर के लिए सी कार्यक्रम निम्नलिखित है -
<थेड> <थ>कार्यक्रमकार्यक्रम | |
---|---|
main() { int a= 10, z; z= ++a; printf("z=%d", z); printf("a=%d", a); } | main() { int a= 10, z; z= a++;printf("z=%d", z); printf("a=%d", a); } |
आउटपुट | आउटपुट |
z= 11 a=11 | z= 10 a=11 |
डिक्रीमेंट ऑपरेटर - (- -)
इसका उपयोग किसी चर के मान को 1 से घटाने के लिए किया जाता है।
दो प्रकार हैं -
- पूर्व वेतन वृद्धि
- गिरावट के बाद
यदि डिक्रीमेंट ऑपरेटर को ऑपरेंड से पहले रखा जाता है, तो इसे प्री डिक्रीमेंट कहा जाता है। यहां, मान को पहले घटाया जाता है और फिर उस पर ऑपरेशन किया जाता है।
उदाहरण के लिए,
z = - - a; // a= a-1 z=a
यदि डिक्रीमेंट ऑपरेटर को ऑपरेंड के बाद रखा जाता है, तो इसे पोस्ट डिक्रीमेंट कहा जाता है। यहां, ऑपरेशन करने के बाद मान घटाया जाता है।
उदाहरण के लिए,
z = a--; // z=a a= a-1
main() { int a= 10, z; z= --a; printf("z=%d", z); printf("a=%d", a); } | main() { int a= 10, z; z= a--; printf("z=%d", z); printf("a=%d", a); } |
आउटपुट | आउटपुट |
z= 9 a=9 | z= 10 a=9 |
बिटवाइज ऑपरेटर
बिटवाइज़ ऑपरेटर बिट्स पर काम करते हैं।
<टेबल><थेड>ऑपरेटर <थ>विवरण & बिटवाइज और | बिटवाइज या ^ बिटवाइज XOR < बाएं शिफ्ट >> राइट शिफ्ट ~ एक का पूरक
Bitwise AND | ||
---|---|---|
a | ||
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Bitwise OR | ||
---|---|---|
a | ||
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Bitwise XOR | ||
---|---|---|
a | ||
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
कार्यक्रम
बिटवाइज़ ऑपरेटर के लिए C प्रोग्राम निम्नलिखित है -
#include<stdio.h> main ( ){ int a= 12, b = 10; printf (" %d", a&b); printf (" %d", a| b); printf (" %d", a ^ b); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
8 14 6
बायां शिफ़्ट
यदि मान को एक बार शिफ्ट कर दिया जाता है, तो इसका मान दोगुना हो जाता है।
उदाहरण के लिए, a =10, फिर a<<1 =20
राइट शिफ्ट
यदि किसी चर के मान को एक बार सही स्थानांतरित किया जाता है, तो उसका मान मूल मान का आधा हो जाता है।
उदाहरण के लिए, a =10, फिर a>>1 =5
एक पूरक
यह सभी को शून्य में और शून्य को एक में बदल देता है।
उदाहरण के लिए, a =5, फिर ~a=2 [केवल अगर 4 बिट्स माने जाते हैं]।
कार्यक्रम
बिटवाइज़ ऑपरेटर के लिए एक और सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> main ( ){ int a= 20, b = 10,c=10; printf (" %d", a<<1); printf (" %d", b>>1); printf (" %d", ~c); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
40 5 11
हस्ताक्षरित
1 का पूरक =- [ +1 न दें]
उदाहरण के लिए, ~10 =- [10+1] =-11
~-10 =- [-10+1] =9
अहस्ताक्षरित
1 का पूरक =[65535 - दिया गया नहीं]
सशर्त ऑपरेटर (? :)
इसे टर्नरी ऑपरेटर भी कहा जाता है।
वाक्य रचना इस प्रकार है -
exp1? exp2: exp3
यदि exp1 सत्य है, तो exp2 का मूल्यांकन किया जाता है। अन्यथा, exp3 का मूल्यांकन किया जाता है। या if-else के रूप में।
if (exp1) exp2; else exp3;
कार्यक्रम
सशर्त ऑपरेटर के लिए सी कार्यक्रम निम्नलिखित है -
#include<stdio.h> main ( ){ int z; z = (5>3) ? 1:0; printf ("%d",z); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
विशेष ऑपरेशन
कुछ विशेष ऑपरेशन अल्पविराम, एम्परसेंड (&), ऑपरेटरों के आकार हैं।
- अल्पविराम ( , ) - इसका उपयोग चर के लिए विभाजक के रूप में किया जाता है। उदाहरण के लिए; ए=10, बी=20
- पता (&) - इसे एक वेरिएबल का पता मिलता है।
- आकार ( ) - यह डेटा प्रकार के एक चर के आकार को बाइट्स में प्राप्त करता था।
कार्यक्रम
विशेष संचालन के लिए सी कार्यक्रम निम्नलिखित है -
#include<stdio.h> main ( ){ int a=10; float b=20 ; printf (" a= %d b=%f", a,b ); printf (" a address =%u\n " , &a ) ; printf (" b address =%u\n" ,&b ) ; printf ("a size = %ld\n" , sizeof (a) ) ; printf ( "b size = %ld ", sizeof (b) ) ; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
a=10 b=20.00 Address of a =1 2 3 4 Address of b = 5 6 7 8 Only for this example Size of a = 4 bytes Size of b = 4 bytes