Lập trình C

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


Mới nhất cùng chuyên mục

Back to top button
Close