1. Phép toán số học
Phép cộng (+) : a + b
Phép trừ (-) : a – b
Phép nhân (*) : a * b
Phép chia (/) : a / b (phép chia lấy phần nguyên : 5 / 4 = 1)
Phép chia lấy dư (%) : a % b (6 % 4 = 2)
2. Phép toán quan hệ (so sánh)
Phép toán quan hệ có giá trị logic TRUE (1) hoặc FALSE (0)
So sánh lớn hơn : a > b (4>5 có giá trị 0, 5 > 4 có giá trị 1)
So sánh lớn hơn hoặc bằng : a >= b (5 >= 5 có giá trị 1)
So sánh nhỏ hơn : a < b (6 < 9 có giá trị 1)
So sánh nhỏ hơn hoặc bằng : a <= b ( 7 <= 9 có giá trị 1)
So sánh bằng : a == b (7 == 7 có giá trị là 1)
So sánh khác : a != b (7 != 7 có giá trị là 0)
3. Phép toán logic
Giá trị của phép toán logic là 0 hoặc 1
Phép phủ định (!) : ! a
! 0 = 1
! 1 = 0
Phép toán AND (&&) : a && b ( nếu a và b cùng # 0 thì a && b = 1)
0 && 0 = 0
0 && 1 = 0
1 && 0 = 0
1 && 1 = 1
Phép toán hoặc OR (||) : a || b (nếu a hoặc b cùng bằng 0 thì a || b = 0)
0 || 0 = 0
0 || 1 = 1
1 || 0 = 0
1 || 1 = 1
4. Phép toán thao tác bit
Phép toán AND bit (&) : a & b
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
Phép toán OR bit (|) : a | b
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1
Phép toán XOR bit (^) : a^b
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
Phép toán dịch bit trái (<<) : a<<N
a<<N = a*2E+N : số a dịch trái N bit
Phép toán dịch bit phải (>>) : a>>N
a>>N = a*2E-N : số a dịch phải N bit
Lấy phần bù (~) : ~a
~0 = 1
~1 = 0
5. Phép toán tăng,giảm
Toán tử ++ : sẽ cộng thêm 1 vào toán hạng của nó. Chia ra làm 2 loại toán tử tăng:
++x : toán tử tăng trước, toán hạng x sẽ được tăng trước khi sử dụng
x++ : toán tử tăng sau, toán hạng x sẽ được tăng sau khi sử dụngToán tử — : sẽ trừ đi 1 vào toán hạng của nó. Chia ra làm 2 loại toán tử giảm:
–x : toán tử giảm trước, toán hạng x sẽ được giảm trước khi sử dụng
x– : toán tử giảm sau, toán hạng x sẽ được giảm sau khi sử dụng
Ví dụ:
int n = 2; int x, y; x = n++; // x = 2, n = 3 y = ++n; //n = 4, y = 4
Ví dụ:
int m = 5; int x, y; x = --m ; // m = 4 , x = 4 y = m--; // m = 3, y = 4
6. Thứ tự ưu tiên của các toán tử
Phép toán | Trình tự kết hợp |
() [] -> . | Trái qua phải |
! ~ & * – ++ — sizeof | Phải qua trái |
*(nhân) / % | Trái qua phải |
+ – | Trái qua phải |
<< >> | Trái qua phải |
< <= > >= | Trái qua phải |
== != | Trái qua phải |
& | Trái qua phải |
^ | Trái qua phải |
| | Trái qua phải |
&& | Trái qua phải |
|| | Trái qua phải |
? : | Phải qua trái |
= += -= *= /= %= <<= >>= &= ^= |= | Phải qua trái |
Giải thích:
– Các toán tử cùng STT thì cùng mức độ ưu tiên, các toán tử ở dòng trên có mức độ ưu tiên cao hơn dòng dưới.
– Đối với các toán tử cùng mức độ ưu tiên, thì trình tự tính toán có thể từ trái qua phải hoặc từ phải qua trái ( xem ở cột thứ tự kết hợp).
– Nếu không chắc chắn về việc sử dụng thứ tự ưu tiên, thì nên dùng () trong biểu thức.
Leave a Reply
You must be logged in to post a comment.