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ênPostfix () [] -> . ++ – –  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 2Thứ tự ưu tiên của các toán tử trong ngôn ngữ lập trình C 2Bả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