
تقدم عملگرها در زبان 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 |




























هیچ نظری ثبت نشده است