Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C भाषा में विभिन्न ऑपरेटर और एक्सप्रेशन

C भाषा में ऑपरेटर्स का परिचय

ऑपरेटर डेटा पर ऑपरेशन करते हैं। इन्हें निम्न श्रेणियों में वर्गीकृत किया गया है:

  • अंकगणितीय ऑपरेटर्स (Arithmetic Operators)
  • संबंधपरक ऑपरेटर्स (Relational Operators)
  • तार्किक ऑपरेटर्स (Logical Operators)
  • असाइनमेंट ऑपरेटर्स (Assignment Operators)
  • इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर्स (Increment/Decrement Operators)
  • बिटवाइज़ ऑपरेटर्स (Bitwise Operators)
  • कंडीशनल ऑपरेटर (Conditional Operator)
  • विशेष ऑपरेटर्स (Special Operators)

अंकगणितीय ऑपरेटर्स

ये संख्यात्मक गणनाओं के लिए उपयोग होते हैं: जोड़, घटाव, गुणा, भाग आदि।

ऑपरेटरविवरणउदाहरणa=20, b=10आउटपुट
+जोड़a+b20+1030
-घटावa-b20-1010
*गुणाa*b20*10200
/भागa/b20/102 (भागफल)
%मॉड्यूलर भाग (शेषफल)a%b20%100 (शेषफल)

प्रोग्राम उदाहरण

#include <stdio.h>
int 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);
    return 0;
}

आउटपुट

30 10 200 2 0

संबंधपरक ऑपरेटर्स

ये दो एक्सप्रेशन की तुलना के लिए उपयोग होते हैं। परिणाम ट्रू (1) या फाल्स (0) होता है।

ऑपरेटरविवरणउदाहरणa=20, b=10आउटपुट
<कम हैa<b10<201
<=कम या बराबरa<=b10<=201
>अधिक हैa>b10>200
>=अधिक या बराबरa>=b10>=200
==बराबर हैa==b10==200
!=बराबर नहींa!=b10!=201

प्रोग्राम उदाहरण

#include <stdio.h>
int 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);
    return 0;
}

आउटपुट

1 1 0 0 0 1

तार्किक ऑपरेटर्स

ये दो या अधिक एक्सप्रेशन को तार्किक रूप से जोड़ते हैं: AND (&&), OR (||), NOT (!)।

तार्किक AND (&&) ट्रुथ टेबल

exp1exp2exp1 && exp2
TTT
TFF
FTF
FFF

तार्किक OR (||) ट्रुथ टेबल

exp1exp2exp1 || exp2
TTT
TFT
FTT
FFF

तार्किक NOT (!) ट्रुथ टेबल

exp!exp
TF
FT

उदाहरण

ऑपरेटरविवरणउदाहरणa=10,b=20,c=30आउटपुट
&&तार्किक AND(a>b)&&(a<c)(10>20)&&(10<30)0
||तार्किक OR(a>b)||(a<=c)(10>20)||(10<30)1
!तार्किक NOT!(a>b)!(10>20)1

प्रोग्राम उदाहरण

#include <stdio.h>
int main() {
    int a = 10, b = 20, c = 30;
    printf("%d ", (a>b) && (a<c));
    printf("%d ", (a>b) || (a<c));
    printf("%d ", !(a>b));
    return 0;
}

आउटपुट

0 1 1

असाइनमेंट ऑपरेटर्स

ये वेरिएबल को मान असाइन करते हैं।

ऑपरेटरविवरणउदाहरण
=सिंपल असाइनमेंटa=10
+=, -=, *=, /=, %=कंपाउंड असाइनमेंटa+=10 (a=a+10)

प्रोग्राम उदाहरण

#include <stdio.h>
int main() {
    int a = 10;
    printf("%d ", a);
    a += 10;
    printf("%d ", a);
    return 0;
}

आउटपुट

10 20

इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर्स

इन्क्रीमेंट ऑपरेटर (++)

वेरिएबल का मान 1 से बढ़ाता है। दो प्रकार:

  • प्री-इन्क्रीमेंट (++a): पहले मान बढ़ता है, फिर उपयोग होता है।
  • पोस्ट-इन्क्रीमेंट (a++): पहले उपयोग होता है, फिर मान बढ़ता है।

उदाहरण

// प्री-इन्क्रीमेंट
int a = 10, z;
z = ++a; // a=11, z=11

// पोस्ट-इन्क्रीमेंट
int a = 10, z;
z = a++; // z=10, a=11

डिक्रीमेंट ऑपरेटर (--)

वेरिएबल का मान 1 से घटाता है। दो प्रकार:

  • प्री-डिक्रीमेंट (--a): पहले मान घटता है, फिर उपयोग होता है।
  • पोस्ट-डिक्रीमेंट (a--): पहले उपयोग होता है, फिर मान घटता है।

उदाहरण

// प्री-डिक्रीमेंट
int a = 10, z;
z = --a; // a=9, z=9

// पोस्ट-डिक्रीमेंट
int a = 10, z;
z = a--; // z=10, a=9

बिटवाइज़ ऑपरेटर्स

ये बिट्स पर ऑपरेशन करते हैं।

ऑपरेटरविवरण
&बिटवाइज़ AND
|बिटवाइज़ OR
^बिटवाइज़ XOR
<<लेफ्ट शिफ्ट
>>राइट शिफ्ट
~वन्स कॉम्प्लीमेंट

बिटवाइज़ AND ट्रुथ टेबल

aba&b
000
010
100
111

बिटवाइज़ OR ट्रुथ टेबल

aba|b
000
011
101
111

बिटवाइज़ XOR ट्रुथ टेबल

aba^b
000
011
101
110

लेफ्ट शिफ्ट (<<)

मान को बाएं शिफ्ट करने से मान दोगुना हो जाता है। उदा: a=10, a<<1 = 20

राइट शिफ्ट (>>)

मान को दाएं शिफ्ट करने से मान आधा हो जाता है। उदा: a=10, a>>1 = 5

वन्स कॉम्प्लीमेंट (~)

सभी 0 को 1 और 1 को 0 में बदलता है।

प्रोग्राम उदाहरण

#include <stdio.h>
int main() {
    int a = 12, b = 10;
    printf("%d ", a & b);  // 8
    printf("%d ", a | b);  // 14
    printf("%d ", a ^ b);  // 6
    return 0;
}

आउटपुट

8 14 6

शिफ्ट ऑपरेटर्स का प्रोग्राम

#include <stdio.h>
int main() {
    int a = 20, b = 10, c = 10;
    printf("%d ", a << 1); // 40
    printf("%d ", b >> 1); // 5
    printf("%d ", ~c);     // -11 (साइन्ड इंट के लिए)
    return 0;
}

आउटपुट

40 5 -11

कंडीशनल ऑपरेटर (? :)

इसे टर्नरी ऑपरेटर भी कहते हैं।

exp1 ? exp2 : exp3

यदि exp1 सत्य है तो exp2 मूल्यांकित होता है, अन्यथा exp3।

प्रोग्राम उदाहरण

#include <stdio.h>
int main() {
    int z = (5 > 3) ? 1 : 0;
    printf("%d", z);
    return 0;
}

आउटपुट

1

विशेष ऑपरेटर्स

  • कॉमा (,): वेरिएबल्स को अलग करता है। उदा: a=10, b=20
  • एड्रेस ऑफ (&): वेरिएबल का पता देता है।
  • साइज़ ऑफ (sizeof): डेटा टाइप या वेरिएबल का आकार बाइट्स में देता है।

प्रोग्राम उदाहरण

#include <stdio.h>
int main() {
    int a = 10;
    float b = 20;
    printf("a=%d b=%f", a, b);
    printf(" a address =%p", &a);
    printf(" b address =%p", &b);
    printf(" a size = %zu", sizeof(a));
    printf(" b size = %zu", sizeof(b));
    return 0;
}

आउटपुट

a=10 b=20.000000 a address =0x7ffe... b address =0x7ffe... a size = 4 b size = 4
  1. C भाषा में विभिन्न पॉइंटर ऑपरेशन्स और पॉइंटर्स की समस्याएं C भाषा में विभिन्न पॉइंटर ऑपरेशन्स और पॉइंटर्स की समस्याएं

    पॉइंटर एक वेरिएबल है जिसका मान दूसरे वेरिएबल का पता होता है, यानी मेमोरी लोकेशन का सीधा पता। किसी भी वेरिएबल या कॉन्स्टेंट की तरह, इसका उपयोग करने से पहले पॉइंटर घोषित करना आवश्यक है। मेमोरी प्रतिनिधित्व int qty = 179; मेमोरी में प्रतिनिधित्व: qty नामक वेरिएबल, पता 5000 पर, मान 179 संग्रहीत करता ह

  1. C भाषा में मूल्यांकन किए जाने वाले एक्सप्रेशन्स के प्रकार C भाषा में मूल्यांकन किए जाने वाले एक्सप्रेशन्स के प्रकार

    एक एक्सप्रेशन ऑपरेटर्स और ऑपरेंड्स का संयोजन है। ऑपरेंड - वह डेटा आइटम जिस पर ऑपरेशन किया जाता है। ऑपरेटर - डेटा पर ऑपरेशन करता है। उदाहरण: z = 3 + 2 * 1 → z = 5 एक्सप्रेशन्स के प्रकार C भाषा में मूल्यांकन किए जाने वाले विभिन्न प्रकार के एक्सप्रेशन्स: प्रकारविवरणउदाहरण प्राइमरी एक्सप्रेशन

  1. C भाषा में खोज तकनीकें (Searching Techniques) C भाषा में खोज तकनीकें (Searching Techniques)

    खोज (Searching) का परिचय खोज तकनीक का अर्थ है किसी सूची में किसी कुंजी तत्व (key element) को ढूंढना। यदि तत्व मिल जाता है तो खोज सफल (successful), अन्यथा असफल (unsuccessful) होती है। C में दो प्रमुख खोज तकनीकें रैखिक खोज (Linear Search) द्विआधारी खोज (Binary Search) 1. रैखिक खोज (Linear Search)