Bài 5CÁC TOÁN TỬ... include using namespace std; int main { int i2, j8; cout... Toán tử NOT!. ưu tiên cao hơn.. Một biểu thức luận lý sẽ được đánh giá vế trái trước, nếu đã đánh giá được
Trang 1Bài 5
CÁC TOÁN TỬ
Trang 2Các toán tử số học
Giảm
Tăng ++
Lấy giá trị dư của phép chia
%
Chia /
Nhân
*
Trừ
-Cộng +
Ý nghĩa Toán tử
Trang 3Biểu thức
Thứ tự tính toán
trái sang phải +
-trái sang phải
* / %
phải sang trái ++ đứng trước
hay dấu +
-trái sang phải ++ đứng sau
cao
nhất
thấp
nhất
Chiều
Toán tử
Ưu tiên
Trang 4Ví dụ
float val(5.0); cout << val++ – 7.0/2.0;
Theo bảng ta có biểu thức sau cout tương đương (val++) - (7.0/2.0)
Trang 5include <iostream>
using namespace std;
int main()
{
int i(2), j(8);
cout << i++ << endl; // Output: ?
cout << i << endl; // Output: ?
cout << j << endl; // Output: ?
cout << j << endl; // Output: ?
return 0;
}
Trang 6Một số phép gán đặc biệt
ví dụ:
x += y; tương đương x= x+y
x *=y;
x /=y;
i += 3 ; tương đương i = i +3
i *= j + 2 tương đương i = i*(j+2)
Trang 7Các toán tử quan hệ
Nhỏ hơn <
nhỏ hơn hoặc bằng <=
Lớn hơn >
Lớn hơn hoặc bằng >=
Bằng ==
Không bằng !=
Trang 8Thứ tự ưu tiên
gán
== !=
< <= > >=
Toán tử số học Cao nhất
Thấp nhất
Toán tử
ưu tiên
Trang 9Toán tử luận lý
Phép AND ký hiệu &&
Phép OR ký hiệu II
Phép NOT ký hiệu !
Bit-wise NOT ~, bit-wise AND &, bit-wise OR
I bit-wise XOR ^
&& ưu tiên hơn II, cả hai có ưu tiên cao hơn toán tử gán nhưng thấp hơn các toán tử đã nói trên Toán tử NOT (!) ưu tiên cao hơn
Một biểu thức luận lý sẽ được đánh giá vế trái trước, nếu đã đánh giá được thì không cần phải đánh giá vế phải nữa
Trang 10Bài tập 1: Cho biết kết quả
bool res = false; int y = 5;
res = 7 || (y = 0);
cout << "Ket qua của (7 || (y = 0)): " << res
<< endl;
cout << "Gia tri cua y: " << y << endl;
int a, b, c;
a = b = c = 0;
res = ++a || ++b && ++c;
cout << '\n' << " res = " << res << ", a = " << a << ", b = " << b <<
", c = " << c << endl;
a = b = c = 0;
res = ++a && ++b || ++c;
cout << " res = " << res << ", a = " << a << ", b = " << b << ", c =
" << c << endl;
return 0; }
Trang 11Bài tập 2
Hãy dùng dấu ngoặc để xác định biểu thức tương đương với
x = –4 * i++ – 6 % 4;
Xác định giá trị biểu thức sau, giả sử x=7
x < 10 && x >= –1
!x && x >= 3
x++ == 8 || x == 7