C एक शक्तिशाली प्रोग्रामिंग लैंग्वेज है जो डेटा पर विभिन्न ऑपरेशन करने के लिए ऑपरेटरों की एक विस्तृत श्रृंखला प्रदान करती है। सी में ऑपरेटर डेवलपर्स को मूल्यों में हेरफेर करने, अंकगणितीय गणना करने, मूल्यों की तुलना करने और शर्तों के आधार पर निर्णय लेने में सक्षम बनाता है। कुशल और अभिव्यंजक C कोड लिखने के लिए ऑपरेटरों को समझना और प्रभावी ढंग से उपयोग करना महत्वपूर्ण है। इस लेख में, हम C में उपलब्ध विभिन्न प्रकार के ऑपरेटरों का पता लगाएंगे और सीखेंगे कि उनका प्रभावी ढंग से उपयोग कैसे किया जाए।
![]() |
operators in c in hindi |
operators in c in hindi
सी प्रोग्रामिंग में, ऑपरेटर प्रतीक होते हैं जो विशिष्ट संचालन का प्रतिनिधित्व करते हैं। वे ऑपरेंड पर काम करते हैं, जो चर, स्थिरांक या भाव हो सकते हैं और परिणाम उत्पन्न करते हैं। C कई प्रकार के ऑपरेटर प्रदान करता है, जिनमें अंकगणितीय ऑपरेटर, रिलेशनल ऑपरेटर, लॉजिकल ऑपरेटर, बिटवाइज़ ऑपरेटर, असाइनमेंट ऑपरेटर, सशर्त ऑपरेटर और बहुत कुछ शामिल हैं। प्रत्येक प्रकार का ऑपरेटर एक अलग उद्देश्य प्रदान करता है और इसका अपना सिंटैक्स और व्यवहार होता है।
arithmetic operators in c in hindi
अंकगणितीय ऑपरेटरों का उपयोग सी में बुनियादी गणितीय गणना करने के लिए किया जाता है। वे आपको दो ऑपरेंड को जोड़ने, घटाने, गुणा करने, विभाजित करने और शेष खोजने की अनुमति देते हैं। इसके अतिरिक्त, वे वेतन वृद्धि और कमी कार्यात्मकता प्रदान करते हैं।
अतिरिक्त ऑपरेटर (+)
अतिरिक्त ऑपरेटर (+) दो ऑपरेंड जोड़ता है और उनका योग लौटाता है। उदाहरण के लिए:
int result = 5 + 3; // result will be 8
घटाव ऑपरेटर (-)
घटाव ऑपरेटर (-) दूसरे ऑपरेंड को पहले ऑपरेंड से घटाता है और अंतर लौटाता है। उदाहरण के लिए:
int result = 10 - 4; // result will be 6
गुणन संकारक (*)
गुणा ऑपरेटर (*) दो ऑपरेंड को गुणा करता है और उनका उत्पाद लौटाता है। उदाहरण के लिए:
int result = 3 * 4; // result will be 12
डिवीजन ऑपरेटर (/)
डिवीजन ऑपरेटर (/) पहले ऑपरेंड को दूसरे ऑपरेंड से विभाजित करता है और भागफल लौटाता है। उदाहरण के लिए:
int result = 15 / 5; // result will be 3
मॉड्यूलस ऑपरेटर (%)
मॉड्यूलस ऑपरेटर (%) दूसरे ऑपरेंड द्वारा पहले ऑपरेंड को विभाजित करने के बाद शेष राशि देता है। यह जाँचने जैसे कार्यों के लिए उपयोगी है कि कोई संख्या सम है या विषम। उदाहरण के लिए:
int result = 17 % 5; // result will be 2
इंक्रीमेंट ऑपरेटर (++)
इंक्रीमेंट ऑपरेटर (++) ऑपरेंड के मान को 1 से बढ़ा देता है। इसका उपयोग पोस्टफिक्स या प्रीफिक्स ऑपरेटर के रूप में किया जा सकता है। उदाहरण के लिए:
int x = 5;
x++; // x will become 6
कमी ऑपरेटर (--)
डिक्रीमेंट ऑपरेटर (--) ऑपरेंड के मान को 1 से घटाता है। इंक्रीमेंट ऑपरेटर की तरह, इसे पोस्टफिक्स या प्रीफिक्स ऑपरेटर के रूप में इस्तेमाल किया जा सकता है। उदाहरण के लिए:
int x = 5;
x--; // x will become 4
संबंधपरक संकारक
रिलेशनल ऑपरेटर्स का उपयोग मूल्यों की तुलना करने और उनके बीच संबंध निर्धारित करने के लिए किया जाता है। वे तुलना के आधार पर या तो सही या गलत का बूलियन मान लौटाते हैं।
ऑपरेटर के बराबर (==)
ऑपरेटर के बराबर (==) दो ऑपरेंड की तुलना करता है और अगर वे बराबर हैं तो सही रिटर्न देता है, अन्यथा गलत। उदाहरण के लिए:
int a = 5, b = 5;
if (a == b) {
// Code to execute when a is equal to b
}
ऑपरेटर के बराबर नहीं (!=)
ऑपरेटर के बराबर नहीं (!=) दो ऑपरेंड की तुलना करता है और अगर वे बराबर नहीं हैं तो सही रिटर्न देता है और अन्यथा गलत। उदाहरण के लिए:
int a = 5, b = 10;
if (a != b) {
// Code to execute when a is not equal to b
}
ऑपरेटर से बड़ा (>)
द ग्रेटर दैन ऑपरेटर (>) दो ऑपरेंड की तुलना करता है और अगर पहला ऑपरेंड दूसरे ऑपरेंड से बड़ा है तो ट्रू रिटर्न करता है और अन्यथा गलत देता है। उदाहरण के लिए:
int a = 10, b = 5;
if (a > b) {
// Code to execute when a is greater than b
}
ऑपरेटर से कम (<)
लेस दैन ऑपरेटर (<) दो ऑपरेंड की तुलना करता है और अगर पहला ऑपरेंड दूसरे ऑपरेंड से कम है तो सही रिटर्न देता है, अन्यथा गलत। उदाहरण के लिए:
int a = 5, b = 10;
if (a < b) {
// Code to execute when a is less than b
}
ऑपरेटर से अधिक या उसके बराबर (>=)
ऑपरेटर से अधिक या बराबर (>=) दो ऑपरेंड की तुलना करता है और यदि पहला ऑपरेंड दूसरे ऑपरेंड से अधिक या उसके बराबर है, और गलत है तो सही है। उदाहरण के लिए:
int a = 10, b = 5;
if (a >= b) {
// Code to execute when a is greater than or equal to b
}
ऑपरेटर से कम या बराबर (<=)
ऑपरेटर से कम या बराबर (<=) दो ऑपरेंड की तुलना करता है और सही रिटर्न देता है यदि पहला ऑपरेंड दूसरे ऑपरेंड से कम या बराबर है, और अन्यथा गलत है। उदाहरण के लिए:
int a = 5, b = 10;
if (a <= b) {
// Code to execute when a is less than or equal to b
}
logical operators in c in hindi
तार्किक ऑपरेटरों का उपयोग बूलियन मूल्यों या अभिव्यक्तियों पर तार्किक संचालन करने के लिए किया जाता है। वे आमतौर पर कई स्थितियों के आधार पर निर्णय लेने के लिए सशर्त बयान और लूप में उपयोग किए जाते हैं।
और ऑपरेटर (&&)
AND ऑपरेटर (&&) सही रिटर्न देता है अगर दोनों ऑपरेंड सही हैं, और गलत अन्यथा। उदाहरण के लिए:
int a = 5, b = 10;
if (a > 0 && b > 0) {
// Code to execute when both a and b are greater than 0
}
या ऑपरेटर (||)
यदि कोई भी ऑपरेंड सत्य है, तो OR ऑपरेटर (||) सत्य लौटाता है, और यदि दोनों ऑपरेंड गलत हैं, तो गलत है। उदाहरण के लिए:
int a = 5, b = 10;
if (a > 0 || b > 0) {
// Code to execute when either a or b (or both) are greater than 0
}
ऑपरेटर नहीं (!)
NOT ऑपरेटर (!) अपने ऑपरेंड की तार्किक स्थिति को उलट देता है। यदि ऑपरेंड सत्य है, तो NOT ऑपरेटर गलत रिटर्न देता है, और यदि ऑपरेंड गलत है, तो यह सही रिटर्न देता है। उदाहरण के लिए:
int a = 5;
if (!(a > 0)) {
// Code to execute when a is not greater than 0
}
bitwise operators in c in hindi
बिटवाइज़ ऑपरेटरों का उपयोग अभिन्न डेटा प्रकारों के अलग-अलग बिट्स पर संचालन करने के लिए किया जाता है। वे डेटा के विशिष्ट बिट्स में हेरफेर करने और निकालने जैसे कार्यों में उपयोगी होते हैं।
बिटवाइज़ और ऑपरेटर (&)
बिटवाइज़ AND ऑपरेटर (&) दो ऑपरेंड के संबंधित बिट्स के बीच बिटवाइज़ AND ऑपरेशन करता है। यह एक मान लौटाता है जहां प्रत्येक बिट को 1 पर सेट किया जाता है, यदि दोनों संगत बिट 1 हैं। उदाहरण के लिए:
unsigned int a = 12; // binary: 1100
unsigned int b = 10; // binary: 1010
unsigned int result = a & b; // binary result: 1000 (decimal: 8)
बिटवाइज़ या ऑपरेटर (|)
बिटवाइज़ OR ऑपरेटर (|) दो ऑपरेंड के संबंधित बिट्स के बीच बिटवाइज़ या ऑपरेशन करता है। यह एक मान लौटाता है जहां प्रत्येक बिट को 1 पर सेट किया जाता है यदि कोई भी संबंधित बिट 1 है। उदाहरण के लिए:
unsigned int a = 12; // binary: 1100
unsigned int b = 10; // binary: 1010
unsigned int result = a | b; // binary result: 1110 (decimal: 14)
बिटवाइज़ XOR ऑपरेटर (^)
बिटवाइज़ XOR ऑपरेटर (^) दो ऑपरेंड के संबंधित बिट्स के बीच एक बिटवाइज़ एक्सक्लूसिव OR ऑपरेशन करता है। यह एक मान लौटाता है जहां प्रत्येक बिट को 1 पर सेट किया जाता है यदि संबंधित बिट भिन्न होते हैं। उदाहरण के लिए:
unsigned int a = 12; // binary: 1100
unsigned int b = 10; // binary: 1010
unsigned int result = a ^ b; // binary result: 0110 (decimal: 6)
बिटवाइज़ लेफ्ट शिफ्ट ऑपरेटर (<<)
बिटवाइज़ लेफ्ट शिफ्ट ऑपरेटर (<<) दूसरे ऑपरेंड द्वारा निर्दिष्ट पदों की संख्या से पहले ऑपरेंड के बिट्स को बाईं ओर शिफ्ट करता है। उदाहरण के लिए:
unsigned int a = 5; // binary: 0101
unsigned int result = a << 2; // binary result: 010100 (decimal: 20)
बिटवाइज़ राइट शिफ्ट ऑपरेटर (>>)
बिटवाइज़ राइट शिफ्ट ऑपरेटर (>>) पहले ऑपरेंड के बिट्स को दूसरे ऑपरेंड द्वारा निर्दिष्ट पदों की संख्या से दाईं ओर शिफ्ट करता है। उदाहरण के लिए:
unsigned int a = 20; // binary: 010100
unsigned int result = a >> 2; // binary result: 0101 (decimal: 5)
बिटवाइज़ नहीं ऑपरेटर (~)
बिटवाइज़ NOT ऑपरेटर (~) अपने ऑपरेंड के बिट्स को फ़्लिप करता है। प्रत्येक 0 बिट 1 बन जाता है, और प्रत्येक 1 बिट 0 बन जाता है। उदाहरण के लिए:
unsigned int a = 5; // binary: 0000000000000101
unsigned int result = ~a; // binary result: 1111111111111010 (decimal: 65530)
असाइनमेंट ऑपरेटर्स
असाइनमेंट ऑपरेटर्स का उपयोग वेरिएबल्स को वैल्यू असाइन करने के लिए किया जाता है। वे असाइनमेंट ऑपरेशन को अन्य ऑपरेशंस के साथ एक ही स्टेटमेंट में जोड़ते हैं, जिससे कोड अधिक संक्षिप्त हो जाता है।
सरल असाइनमेंट ऑपरेटर (=)
सरल असाइनमेंट ऑपरेटर (=) ऑपरेटर के दाईं ओर के मान को बाईं ओर के चर को असाइन करता है। उदाहरण के लिए:
int x = 5;
कंपाउंड असाइनमेंट ऑपरेटर्स (+=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=)
कंपाउंड असाइनमेंट ऑपरेटर एक ऑपरेशन करते हैं और परिणाम को वापस वेरिएबल पर असाइन करते हैं। वे साधारण असाइनमेंट ऑपरेटर को अंकगणित, बिटवाइज़ या लॉजिकल ऑपरेशंस के साथ जोड़ते हैं। यहां कुछ उदाहरण दिए गए हैं:
int x = 10;
x += 5; // Equivalent to: x = x + 5;
int x = 10;
x -= 3; // Equivalent to: x = x - 3;
int x = 5;
x *= 2; // Equivalent to: x = x * 2;
int x = 10;
x /= 4; // Equivalent to: x = x / 4;
int x = 15;
x %= 7; // Equivalent to: x = x % 7;
int x = 5;
x <<= 2; // Equivalent to: x = x << 2;
int x = 20;
x >>= 3; // Equivalent to: x = x >> 3;
int x = 7;
x &= 3; // Equivalent to: x = x & 3;
int x = 12;
x |= 9; // Equivalent to: x = x | 9;
int x = 15;
x ^= 6; // Equivalent to: x = x ^ 6;
सशर्त ऑपरेटर (टर्नरी ऑपरेटर)
सशर्त ऑपरेटर (टर्नरी ऑपरेटर) आपको एक शर्त के आधार पर निर्णय लेने की अनुमति देता है। यह if-else स्टेटमेंट लिखने का शॉर्टहैंड तरीका है। सशर्त ऑपरेटर का सिंटैक्स इस प्रकार है:
condition ? expression1 : expression2;
यदि स्थिति सत्य है, तो अभिव्यक्ति 1 का मूल्यांकन किया जाता है और ऑपरेशन का परिणाम बन जाता है। अन्यथा, अभिव्यक्ति 2 का मूल्यांकन किया जाता है और परिणाम बन जाता है। उदाहरण के लिए:
int a = 5;
int b = 10;
int max = (a > b) ? a : b; // max will be 10
आकार ऑपरेटर
sizeof ऑपरेटर का उपयोग डेटा प्रकार या चर के आकार, बाइट्स में, निर्धारित करने के लिए किया जाता है। यह आकार को size_t प्रकार के निरंतर मान के रूप में लौटाता है। उदाहरण के लिए:
int size = sizeof(int); // size will be 4 (assuming int is 4 bytes on the system)
associativity of operators in c in hindi | precedence of operators in c in hindi
सी में ऑपरेटरों के पास अलग-अलग पूर्ववर्ती स्तर होते हैं, जो उस क्रम को निर्धारित करते हैं जिसमें अभिव्यक्ति में उनका मूल्यांकन किया जाता है। सही और पूर्वानुमेय कोड लिखने के लिए पूर्वता नियमों को समझना महत्वपूर्ण है। यदि आवश्यक हो, मूल्यांकन के एक विशिष्ट क्रम को लागू करने के लिए कोष्ठकों का उपयोग किया जा सकता है।
निम्नलिखित सी में कुछ सामान्य ऑपरेटरों की प्राथमिकता और सहयोगीता का सारांश है, जो उच्चतम से निम्नतम प्राथमिकता में सूचीबद्ध है:
- कोष्ठक: ()
- पोस्टफ़िक्स वेतन वृद्धि और कमी: ++, --
- उपसर्ग वृद्धि और ह्रास: ++, --
- यूनरी प्लस और माइनस: +, -
- तार्किक नहीं: !
- बिटवाइज़ नहीं: ~
- गुणा, भाग और मापांक: *, /, %
- जोड़ और घटाव: +, -
- संबंधपरक और समानता संचालक: >, <, >=, <=, ==, !=
- बिटवाइज़ शिफ्ट ऑपरेटर: <<, >>
- बिटवाइज़ एंड: &
- बिटवाइज़ एक्सओआर: ^
- बिटवाइज़ OR: |
- तार्किक और: &&
- तार्किक या: ||
- टर्नरी ऑपरेटर: ?:
- असाइनमेंट ऑपरेटर: =, +=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=
- कॉमा ऑपरेटर: ,
ध्यान रखें कि कोष्ठकों का उपयोग करके ऑपरेटरों की प्राथमिकता और संबद्धता को संशोधित किया जा सकता है। अस्पष्टता होने पर या कोड को अधिक पठनीय और स्पष्ट बनाने के लिए हमेशा कोष्ठक का उपयोग करना एक अच्छा अभ्यास है।
निष्कर्ष
इस लेख में, हमने सी प्रोग्रामिंग भाषा में विभिन्न प्रकार के ऑपरेटरों की खोज की। हमने अंकगणितीय ऑपरेटरों, संबंधपरक ऑपरेटरों, तार्किक ऑपरेटरों, बिटवाइज़ ऑपरेटरों, असाइनमेंट ऑपरेटरों, सशर्त ऑपरेटर और आकार के ऑपरेटर पर चर्चा की। कुशल और सही C प्रोग्राम लिखने के लिए इन ऑपरेटरों को समझना महत्वपूर्ण है। ऑपरेटरों की शक्ति का लाभ उठाकर, आप विभिन्न ऑपरेशन कर सकते हैं, डेटा में हेरफेर कर सकते हैं और अपने कार्यक्रमों के भीतर निर्णय ले सकते हैं। इसलिए, अपने सी प्रोग्रामिंग कौशल को मजबूत करने के लिए इन ऑपरेटरों के साथ अभ्यास और प्रयोग करना सुनिश्चित करें।
अक्सर पूछे जाने वाले प्रश्न (अक्सर पूछे जाने वाले प्रश्न)
क्या मैं एक अभिव्यक्ति में एकाधिक ऑपरेटरों का उपयोग कर सकता हूं?
हाँ, आप एक अभिव्यक्ति में एकाधिक ऑपरेटरों का उपयोग कर सकते हैं। हालांकि, वांछित मूल्यांकन आदेश सुनिश्चित करने के लिए आपको ऑपरेटरों की प्राथमिकता और सहयोगीता के बारे में सावधान रहना होगा।
क्या रिलेशनल ऑपरेटर्स का उपयोग केवल संख्याओं की तुलना करने के लिए किया जाता है?
नहीं, रिलेशनल ऑपरेटर्स का उपयोग किसी भी व्यंजक की तुलना करने के लिए किया जा सकता है, न कि केवल संख्याओं के लिए। तुलना के आधार पर निर्णय लेने के लिए वे आमतौर पर सशर्त बयानों में उपयोग किए जाते हैं।
sizeof ऑपरेटर का उद्देश्य क्या है?
A3: sizeof ऑपरेटर का उपयोग डेटा प्रकार या चर के बाइट्स में आकार निर्धारित करने के लिए किया जाता है। गतिशील रूप से आवंटित स्मृति के साथ काम करते समय या जब आपको संरचना या सरणी के आकार को जानने की आवश्यकता होती है तो यह विशेष रूप से उपयोगी होता है।
क्या C में कोई अन्य ऑपरेटर हैं?
A4: हां, C में अतिरिक्त ऑपरेटर हैं जैसे कि एड्रेस-ऑफ ऑपरेटर (&), पॉइंटर डीरेफरेंस ऑपरेटर (*), कंडीशनल ऑपरेटर (? :), और कॉमा ऑपरेटर (,)। इन ऑपरेटरों के विशिष्ट उद्देश्य हैं और विभिन्न संदर्भों में उपयोग किए जाते हैं।
मैं C प्रोग्रामिंग और इसके ऑपरेटरों के बारे में और कहां जान सकता हूं?
C प्रोग्रामिंग को गहराई से सीखने के लिए कई ऑनलाइन संसाधन, ट्यूटोरियल और किताबें उपलब्ध हैं। कुछ लोकप्रिय संसाधनों में ब्रायन कर्निघन और डेनिस रिची की सी प्रोग्रामिंग भाषा की किताब और विभिन्न ऑनलाइन प्रोग्रामिंग प्लेटफॉर्म शामिल हैं जो सी प्रोग्रामिंग पाठ्यक्रम प्रदान करते हैं।