Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Độ ưu tiên toán tử (Operators Precedence) trong C++

Độ ưu tiên toán tử (operator precedence) xác định cách nhóm các hạng tử trong biểu thức. Tính kết hợp (associativity) của toán tử là thuộc tính xác định cách các toán tử cùng độ ưu tiên được nhóm khi không có dấu ngoặc. Điều này ảnh hưởng đến cách biểu thức được đánh giá. Một số toán tử có độ ưu tiên cao hơn; ví dụ, toán tử nhân cao hơn toán tử cộng:

Ví dụ: x = 7 + 3 * 2; ở đây x gán 13, không phải 20 vì * độ ưu tiên cao hơn +, nên nhân 3*2 trước rồi cộng 7.

Bảng dưới đây liệt kê toán tử từ độ ưu tiên cao nhất (đầu) đến thấp nhất (cuối). Trong biểu thức, toán tử độ ưu tiên cao hơn được đánh giá trước.

Nhóm Toán tử Tính kết hợp
Hậu tố (Postfix)() [] -> . ++ --Trái sang phải
Đơn ngôi (Unary)+ - ! ~ ++ -- (type)* & sizeofPhải sang trái
Nhân chia (Multiplicative)* / %Trái sang phải
Cộng trừ (Additive)+ -Trái sang phải
Dịch bit (Shift)<< >>Trái sang phải
Quan hệ (Relational)< <= > >=Trái sang phải
Bằng nhau (Equality)== !=Trái sang phải
Bitwise AND&Trái sang phải
Bitwise XOR^Trái sang phải
Bitwise OR|Trái sang phải
Logic AND&&Trái sang phải
Logic OR||Trái sang phải
Điều kiện (Conditional)?:Phải sang trái
Gán (Assignment)= += -= *= /= %= >>= <<= &= ^= |=Phải sang trái
Dấu phẩy (Comma),Trái sang phải