تقدم عملگرها در زبان C++
در جدول زیر تقدم عملگرهای موجود در زبان برنامه نویسی C++ را مشاهده می کنید.
دسته بندی | عملگرها | ترتیب |
پسوندی | () [] -> . ++ – – | از چپ به راست |
یگانی | + – ! ~ ++ – – (type)* & sizeof | از راست به چپ |
ضربی | * / % | از چپ به راست |
افزودنی | + – | از چپ به راست |
شیفت | << >> | از چپ به راست |
رابطه ای | < <= > >= | از چپ به راست |
برابری | == != | از چپ به راست |
AND بیتی | & | از چپ به راست |
XOR بیتی | ^ | از چپ به راست |
OR بیتی | | | از چپ به راست |
AND منطقی | && | از چپ به راست |
OR منطقی | || | از چپ به راست |
شرطی | ?: | از راست به چپ |
انتسابی | = += -= *= /= %=>>= <<= &= ^= |= | از راست به چپ |
کاما | , | از چپ به راست |
مثال
برای درک بهتر تقدم عملگرها در زبان C++ ، به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> using namespace std; int main() { int a = 20; int b = 10; int c = 15; int d = 5; int e; e = (a + b) * c / d; // ( 30 * 15 ) / 5 cout << "Value of (a + b) * c / d is :" << e << endl ; e = ((a + b) * c) / d; // (30 * 15 ) / 5 cout << "Value of ((a + b) * c) / d is :" << e << endl ; e = (a + b) * (c / d); // (30) * (15/5) cout << "Value of (a + b) * (c / d) is :" << e << endl ; e = a + (b * c) / d; // 20 + (150/5) cout << "Value of a + (b * c) / d is :" << e << endl ; return 0; } |
بعد از اجرای دستورات بالا توسط کامپایلر زبان C++ خروجی زیر بدست خواهد آمد:
1 2 3 4 | 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 |
هیچ نظری ثبت نشده است