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

Thứ tự ưu tiên và kết hợp của toán tử trong C

Thứ tự ưu tiên (Operator Precedence) quyết định thứ tự tính toán khi biểu thức có nhiều toán tử. Toán tử ưu tiên cao hơn được tính trước.

Kết hợp (Associativity) quyết định thứ tự khi các toán tử có cùng ưu tiên. Có 2 loại: Left-to-Right (trái sang phải) và Right-to-Left (phải sang trái).

Bảng thứ tự ưu tiên và kết hợp (tóm tắt)

MứcToán tửÝ nghĩaKết hợp
1() [] -> .Gọi hàm, mảng, truy cập structL→R
2! ~ + - ++ -- & * sizeofToán tử đơn ngôiR→L
3* / %Nhân, chia, dưL→R
4+ -Cộng, trừL→R
5<< >>Dịch bit trái, phảiL→R
6< <=So sánh nhỏ hơnL→R
7== !=So sánh bằng/khácL→R
8&Bitwise ANDL→R
9^Bitwise XORL→R
10|Bitwise ORL→R
11&&Logic ANDL→R
12||Logic ORL→R
13?:Toán tử điều kiệnL→R
14= *= /= %= += -= &= ^= |= <<= >>=Gán và gán kết hợpR→L
15,Phân cáchL→R