Thứ Tự ưu Tiên Của Các Toán Tử Trong Ngôn Ngữ Lập Trình C

Trong một biểu thức có thể có nhiều toán tử với mức độ ưu tiên khác nhau. Vì vậy, việc xác định thứ tự ưu tiên của các toán tử là vô cùng quan trọng để có thể có được kết quả chính xác như mong đợi. Trong bài viết này, Isinhvien sẽ cùng các bạn đi tìm hiểu về thứ tự ưu tiên của các toán tử trong ngôn ngữ lập trình C.

Thứ tự ưu tiên của các toán tử trong C

Trong một biểu thức, thì toán tử có mức độ ưu tiên lớn hơn sẽ được tính toán trước, khi các toán tử có độ ưu tiên ngang hàng, thì sẽ tính toán theo thứ tự từ trái sang phải hoặc từ phải sang trái, tùy thuộc vào nhóm toán tử.

Bảng thứ tự ưu tiên toán tử trong C

LoạiToán tửThứ tự ưu tiên
Postfix () [] -> . ++ – – Trái sang phải
Unary + – ! ~ ++ – – (type)* & sizeof Phải sang trái
Tính nhân * / % Trái sang phải
Tính cộng + – Trái sang phải
Dịch chuyển << >> Trái sang phải
Quan hệ < <= > >= Trái sang phải
Cân bằng == != Trái sang phải
Phép AND bit & Trái sang phải
Phép XOR bit ^ Trái sang phải
Phép OR bit | Trái sang phải
Phép AND logic && Trái sang phải
Phép OR logic || Trái sang phải
Điều kiện ?: Phải sang trái
Gán = += -= *= /= %=>>= <<= &= ^= |= Phải sang trái
Dấu phảy , Trái sang phải
Bảng I: Thứ tự ưu tiên toán tử trong C

Bảng thứ tự ưu tiên đối với các biến

Thứ tự ưu tiên của các toán tử trong ngôn ngữ lập trình C 2
Bảng mức độ ưu tiên với các biến

Ví dụ về thứ tự ưu tiên của các toán tử trong C

Xem ví dụ sau đây để hiểu rõ hơn về thứ tự ưu tiên của các toán tử trong C nhé!

Chương trình

#include<stdio.h> int main() { int a = 35; int b = 14; int c = 5; int d = 6; int e; e = (a + b) * c / d; printf("Gia tri cua bieu thuc (a + b) * c / d la: %d\n", e ); e = ((a + b) * c) / d; printf("Gia tri cua bieu thuc ((a + b) * c) / d la: %d\n" , e ); e = (a + b) * (c / d); printf("Gia tri cua bieu thuc (a + b) * (c / d) la: %d\n", e ); e = a + (b * c) / d; printf("Gia tri cua bieu thuc a + (b * c) / d la: %d\n" , e ); printf("===============================\n"); printf("Isinhvien chuc cac ban thanh cong! \n"); return 0; }

Kết quả

Gia tri cua bieu thuc (a + b) * c / d la: 40 Gia tri cua bieu thuc ((a + b) * c) / d la: 40 Gia tri cua bieu thuc (a + b) * (c / d) la: 0 Gia tri cua bieu thuc a + (b * c) / d la: 46 Isinhvien chuc cac ban thanh cong!

Qua bài viết này, có lẽ các bạn cũng đã hiểu được phần nào về thứ tự ưu tiên của các toán tử trong C. Nếu các bạn thấy bài viết này của Isinhvien này hay và bổ ích thì hãy chia sẻ nó đến với mọi người để tạo động lực giúp Isinhvien ngày càng phát triển hơn nữa. Đừng quên theo dõi Isinhvien để cập nhật thêm kiến thức hay mỗi ngày nhé! Chúc các bạn thành công

Từ khóa » Toán Tử Logic Trong C