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

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

एक एक्सप्रेशन ऑपरेटर्स और ऑपरेंड्स का संयोजन है।

  • ऑपरेंड - वह डेटा आइटम जिस पर ऑपरेशन किया जाता है।
  • ऑपरेटर - डेटा पर ऑपरेशन करता है।

उदाहरण: z = 3 + 2 * 1 → z = 5

एक्सप्रेशन्स के प्रकार

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

प्रकारविवरणउदाहरण
प्राइमरी एक्सप्रेशन्स (Primary) ऑपरेंड एक नाम, कॉन्स्टेंट, या पैरेंथेसाइज़्ड एक्सप्रेशन हो सकता है c = a + (5 * b);
पोस्टफिक्स एक्सप्रेशन्स (Postfix) ऑपरेटर ऑपरेंड्स के बाद आता है a++, arr[i], func(), ptr->member
प्रीफिक्स एक्सप्रेशन्स (Prefix) ऑपरेटर ऑपरेंड से पहले आता है ++a, --b, !flag, *ptr, &var
यूनरी एक्सप्रेशन्स (Unary) एक ऑपरेटर और एक ऑपरेंड a++, --b, +x, -y, ~bits
बाइनरी एक्सप्रेशन्स (Binary) दो ऑपरेंड्स और एक ऑपरेटर a + b, c - d, x * y, p / q
टर्नरी एक्सप्रेशन्स (Ternary) तीन ऑपरेंड्स और एक ऑपरेटर (केवल ?:) exp1 ? exp2 : exp3 - यदि exp1 सत्य तो exp2, अन्यथा exp3

विस्तृत विवरण

1. प्राइमरी एक्सप्रेशन्स

  • पहचानकर्ता (वेरिएबल नाम, फंक्शन नाम)
  • कॉन्स्टेंट्स (इंटीजर, फ्लोटिंग, कैरेक्टर, स्ट्रिंग लिटरल्स)
  • स्ट्रिंग लिटरल्स
  • पैरेंथेसाइज़्ड एक्सप्रेशन: (a + b)
  • सरणी सबस्क्रिप्ट: arr[i]
  • फंक्शन कॉल: func(args)
  • मेंबर एक्सेस: obj.member, ptr->member
  • कंपाउंड लिटरल्स (C99): (int[]){1,2,3}

2. पोस्टफिक्स एक्सप्रेशन्स

ऑपरेटर ऑपरेंड के बाद आता है:

  • पोस्ट-इन्क्रीमेंट/डिक्रीमेंट: i++, i--
  • फंक्शन कॉल: func()
  • सरणी सबस्क्रिप्ट: arr[index]
  • स्ट्रक्चर/यूनियन मेंबर: s.member, p->member
  • कंपाउंड लिटरल: (type){init}

3. प्रीफिक्स/यूनरी एक्सप्रेशन्स

ऑपरेटर ऑपरेंड के पहले आता है:

  • प्री-इन्क्रीमेंट/डिक्रीमेंट: ++i, --i
  • यूनरी प्लस/माइनस: +x, -x
  • लॉजिकल NOT: !x
  • बिटवाइज NOT: ~x
  • एड्रेस-ऑफ: &x
  • डीरेफरेंस: *p
  • कास्ट: (type)expr
  • sizeof, _Alignof (C11)

4. बाइनरी एक्सप्रेशन्स

दो ऑपरेंड्स, एक ऑपरेटर (अंकगणितीय, रिलेशनल, लॉजिकल, बिटवाइज, असाइनमेंट):

  • a + b, a - b, a * b, a / b, a % b
  • a == b, a != b, a < b, a > b
  • a && b, a || b
  • a & b, a | b, a ^ b
  • a = b, a += b, आदि

5. टर्नरी एक्सप्रेशन

C में एकमात्र टर्नरी ऑपरेटर ?: है:

condition ? expr_if_true : expr_if_false

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

#include <stdio.h> 

int main() {
    int a = 10, b = 5;
    
    // टर्नरी एक्सप्रेशन
    int max = (a > b) ? a : b;
    printf("Max: %d\n", max);
    
    // नेस्टेड टर्नरी
    int sign = (a > 0) ? 1 : (a < 0) ? -1 : 0;
    printf("Sign of a: %d\n", sign);
    
    // पोस्टफिक्स
    int i = 5;
    printf("i++ = %d, i = %d\n", i++, i);  // 5, 6
    
    // प्रीफिक्स
    int j = 5;
    printf("++j = %d, j = %d\n", ++j, j);  // 6, 6
    
    // बाइनरी
    printf("a + b = %d\n", a + b);
    printf("a - b = %d\n", a - b);
    
    return 0;
}

आउटपुट

Max: 10
Sign of a: 1
i++ = 5, i = 6
++j = 6, j = 6
a + b = 15
a - b = 5

महत्वपूर्ण नोट

मूल पाठ में "Postfix: ab+" और "Prefix: +ab" दिखाया गया है जो पोस्टफिक्स/प्रीफिक्स नोटेशन (रिवर्स पोलिश नोटेशन) है, न कि C सिंटैक्स। C में पोस्टफिक्स/प्रीफिक्स ऑपरेटर्स ऑपरेंड के सापेक्ष स्थिति दर्शाते हैं (ऊपर देखें)।

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

    C भाषा में ऑपरेटर्स का परिचय ऑपरेटर डेटा पर ऑपरेशन करते हैं। इन्हें निम्न श्रेणियों में वर्गीकृत किया गया है: अंकगणितीय ऑपरेटर्स (Arithmetic Operators) संबंधपरक ऑपरेटर्स (Relational Operators) तार्किक ऑपरेटर्स (Logical Operators) असाइनमेंट ऑपरेटर्स (Assignment Operators) इन्क्रीमेंट और डिक्रीमेंट ऑ

  1. C प्रोग्राम में विभिन्न प्रकार के एक्सप्रेशन्स समझें C प्रोग्राम में विभिन्न प्रकार के एक्सप्रेशन्स समझें

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

  1. C भाषा में प्राथमिक डेटा टाइप्स (Primary Data Types) क्या हैं? C भाषा में प्राथमिक डेटा टाइप्स (Primary Data Types) क्या हैं?

    C कंपाइलर्स चार मौलिक डेटा टाइप्स का समर्थन करते हैं: इंटीजर (Integer) कैरेक्टर (Character) फ्लोटिंग-पॉइंट (Floating-point) डबल प्रिसिजन फ्लोटिंग-पॉइंट (Double precision floating-point) प्राथमिक डेटा टाइप्स इंटीग्रल डेटा टाइप (Integral Data Type) इंटीग्रल डेटा टाइप्स पूरे नंबर और कैरेक्टर्स स्टो