অপারেটর অগ্রাধিকার একটি অভিব্যক্তিতে পদগুলির গ্রুপিং নির্ধারণ করে এবং কীভাবে একটি অভিব্যক্তিকে মূল্যায়ন করা হয় তা নির্ধারণ করে। কিছু অপারেটর অন্যদের তুলনায় উচ্চ অগ্রাধিকার আছে; উদাহরণস্বরূপ, যোগ অপারেটরের তুলনায় গুণ অপারেটরের অগ্রাধিকার বেশি।
উদাহরণস্বরূপ, x =7 + 3 * 2; এখানে, x 13 বরাদ্দ করা হয়েছে, 20 নয় কারণ + এর চেয়ে অপারেটর * এর অগ্রাধিকার বেশি, তাই এটি প্রথমে 3*2 দিয়ে গুণিত হয় এবং তারপর 7 যোগ করে।
এখানে, সর্বোচ্চ অগ্রাধিকার সহ অপারেটরগুলি টেবিলের শীর্ষে উপস্থিত হয়, যাদের সর্বনিম্ন থাকে তারা নীচে উপস্থিত হয়৷ একটি অভিব্যক্তির মধ্যে, উচ্চতর অগ্রাধিকার অপারেটরদের প্রথমে মূল্যায়ন করা হবে।
বিভাগ | অপারেটর | সহযোগিতা |
---|---|---|
পোস্টফিক্স | () [] ->। ++ - - | বাম থেকে ডানে |
Unary | + - ! ~ ++ - - (টাইপ)* &sizeof | ডান থেকে বাম |
গুণক | * / % | বাম থেকে ডানে |
অ্যাডিটিভ | + - | বাম থেকে ডানে |
Shift | <<>> | বাম থেকে ডানে |
সম্পর্কীয় | <<=>>= | বাম থেকে ডানে |
সমতা | ==!= | বাম থেকে ডানে |
বিটওয়াইজ এবং | & | বাম থেকে ডানে |
বিটওয়াইজ XOR | ^ | বাম থেকে ডানে |
বিটওয়াইজ বা | | | বাম থেকে ডানে |
যৌক্তিক এবং | && | বাম থেকে ডানে |
যৌক্তিক বা | || | বাম থেকে ডানে |
শর্তসাপেক্ষ | ?: | ডান থেকে বাম |
অ্যাসাইনমেন্ট | =+=-=*=/=%=>>=<<=&=^=|= | ডান থেকে বাম |
কমা | , | বাম থেকে ডানে |
উদাহরণ কোড
#include <stdio.h> main() { int a = 20; int b = 10; int c = 15; int d = 5; int e; e = (a + b) * c / d; // ( 30 * 15 ) / 5 printf("Value of (a + b) * c / d is : %d\n", e ); e = ((a + b) * c) / d; // (30 * 15 ) / 5 printf("Value of ((a + b) * c) / d is : %d\n" , e ); e = (a + b) * (c / d); // (30) * (15/5) printf("Value of (a + b) * (c / d) is : %d\n", e ); e = a + (b * c) / d; // 20 + (150/5) printf("Value of a + (b * c) / d is : %d\n" , e ); return 0; }
আউটপুট
Value of (a + b) * c / d is : 90 Value of ((a + b) * c) / d is : 90 Value of (a + b) * (c / d) is : 90 Value of a + (b * c) / d is : 50