Thứ tự ưu tiên toán tử trong C++



Bạn thử ví dụ sau để hiểu khái niệm về thứ tự ưu tiên toán tử có sẵn trong C++. Copy và paste chương trình C++ trên trong tệp test.cpp, sau đó biên dịch và chạy chương trình này.

Kiểm tra sự khác nhau nếu có và không có dấu ngoặc đơn. Nó sẽ cho kết quả khác nhau bởi vì (), /, * và + có thứ tự ưu tiên khác nhau trong C++. Toán tử có thứ tự ưu tiên cao hơn sẽ được ước lượng đầu tiên.

#include 
using namespace std;
 
main()
{
   int a = 20;
   int b = 10;
   int c = 15;
   int d = 5;
   int e;
 
   e = (a + b) * c / d;      // tuc la ( 30 * 15 ) / 5
   cout << "Gia tri cua phep tinh (a + b) * c / d la: " << e << endl ;   e = ((a + b) * c) / d;    // tuc la (30 * 15 ) / 5
   cout << "Gia tri cua phep tinh ((a + b) * c) / d la: " << e << endl ;   e = (a + b) * (c / d);   // tuc la (30) * (15/5)
   cout << "Gia tri cua phep tinh (a + b) * (c / d) la: " << e << endl ;   e = a + (b * c) / d;     //  tuc la 20 + (150/5)
   cout << "Gia tri cua phep tinh a + (b * c) / d la: " << e << endl ;
  
   return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Thứ tự ưu tiên toán tử trong C++
toan_tu_trong_cplusplus.jsp