You are on page 1of 16

8/25/21  03:32:04 AM

Toá n tử (operators)

Toá n tử gá n
Mộ t số toá n tử số họ c và logic
Mứ c độ ưu tiên củ a cá c toá n tử

© Lê Minh Hoà ng. All Rights Reserved.


Toá n tử gá n (=)
#include <iostream>
Cú phá p
using namespace std;
v = e;
int main()
v: Biến {
e: Biểu thứ c có kiểu tương thích vớ i v int i;
Khi gặ p toá n tử gá n i = 1; //Cho i nhận giá trị 1
Máy tính giá trị biểu thứ c vế phả i e, sau i = i + 1; //Tăng i lên 1 thành 2
i = i * 1000; //i = 2000
đó gá n giá trị tính đượ c cho biến v ở vế
i = i * 1000; //i = 2000000
trá i
i = i * 1000; //i = 2000000000
Giá trị cũ củ a biến v bị mấ t sau khi i = i * 1000; //Lỗi tràn
thự c hiện lệnh gá n }

2
Toá n tử gá n
#include <iostream>
Ngoà i cô ng dụ ng gá n giá trị cho
using namespace std;
biến, toá n tử gá n coi như mộ t int main()
biểu thứ c có kết quả bằ ng giá trị {
mớ i củ a biến int x, y;
y = 2 + (x = 5);
Lệnh gá n a = b = c = 10 hoà n
cout << x << ' ' << y;
toà n hợ p lệ trong C++ (cho ba //In ra: 5 7
biến a, b, c nhậ n giá trị 10) }

3
Toá n tử trên số nguyên
Toá n tử Tên Ví dụ Kết quả
+ Cộ ng 11 + 3 14
- Trừ 11 – 3 8
* Nhâ n 11 * 3 33
/ Chia nguyên (div) 11 / 3 3
% Chia dư (mod) 11 % 3 2
!, &, |, ^, >>, << Cá c toá n tử trên bit Họ c sau Họ c sau

4
Toá n tử trên số thự c
Toá n tử Tên Ví dụ Kết quả

+ Cộ ng 11.0 + 3.0 14.0

- Trừ 11.0 – 3.0 8.0

* Nhâ n 11.0 * 3.0 33.0

/ Chia 11.0 / 3.0 3.666666666666667

5
Toá n tử gá n nhanh
Toá n tử gá n nhanh trong C++ định nghĩa #include <iostream>
bở i using namespace std;
+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |= int main()
{
Biểu thứ c Tương đương
x += y x = x + y int x, y(3);
x -= y x = x – y x = y;
x *= y x = x * y
x += 2;
x /= y x = x / y
… … cout << x; //5
}

6
Toá n tử tă ng/giả m
#include <iostream>
Toá n tử x++ hoặ c ++x tă ng using namespace std;
giá trị củ a x lên 1 int main()
{
Toá n tử x-- hoặ c --x giả m int i;
giá trị củ a x đi 1 i = 1; //Cho i nhận giá trị
1
i++; //Tăng i lên 1 thành 2
i *= 1000; //i = 2000
--i; //i = 1999
}

7
Toá n tử tă ng/giả m
#include <iostream>
x++ và ++x đều tă ng giá trị using namespace std;
củ a x lên 1 int main()
{
Tuy nhiên trong biểu thứ c: int x, y, z;
x = 1;
x++ là giá trị x trướ c khi tă ng
y = ++x; //x = 2, y = 2
++x là giá trị x sau khi tă ng z = x++; //x = 3, z = 2;
}
Tương tự vớ i x-- và --x
8
Toá n tử so sá nh
Chú ý: Toá n tử so sá nh luô n nhậ n 1 < 2: true
giá trị đú ng (true) hoặ c sai (false)
Toá n tử Ý nghĩa 2 == 2: true
a == b true nếu
a
a !=
!= b b true nếu 10 <= 1: false
a < b true nếu
a < b
a > b true nếu 3 != 4: true
aa <=
> bb true nếu
a
a <=
>= b b true nếu
a >= b

9
Toá n tử logic
Toá n tử :
!: phủ định
&&: và (hộ i)
||: hoặ c (tuyển)
Biểu thứ c logic cho kết quả false (sai) hoặ c true (đú ng)
(2 > 1 || 3 == 2) && !(1 >= 3 || 9 != 9) là biểu thứ c logic mang giá trị
true
10
Bả ng châ n lý củ a cá c phép toá n
A !A
false true
true false

A B A && B A || B
false false false false
false true false true
true false false true
true true true true

11
Biểu thứ c điều kiện
Cú phá p
«Điều kiện» ? «Giá trị 1» : «Giá trị 2»
Nếu điều kiện đú ng (true), biểu thứ c nhậ n «Giá trị 1»,
nếu điều kiện sai (false), biểu thứ c nhậ n «Giá trị 2»
Ví dụ :
int a = 1 > 2 ? 6 : 8; //a = 8

12
Biểu thứ c phứ c hợ p ( , )
Biểu thứ c phứ c hợ p gồ m nhiều biểu thứ c trung gian đặ t trong
dấ u () cá ch nhau bở i dấ u “,”
Biểu thứ c trung gian cuố i cù ng đượ c đá nh giá là m kết quả biểu
thứ c phứ c hợ p
Ví dụ
int a, b;
a = (b = 5, b + 2); //b = 5; a = 7

13
Toá n tử ép kiểu
#include <iostream>
Đô i khi trong mộ t biểu thứ c,
using namespace std;
ta muố n máy phả i hiểu toá n int main()
hạ ng thuộ c kiểu nà o đó {
int a;
Cú phá p:
double b;
(«Tên kiểu»)«Biểu thức»
b = 3.6;
Hoặc «Tên kiểu»(«Biểu a = (int)b; //a = 3
thức») }
14
Độ ưu tiên cá c toá n tử số họ c
#include <iostream>
Trong biểu thứ c số họ c using namespace std;

Dấ u ngoặ c đượ c ưu tiê n cao nhấ t int main()


{
Tiếp theo là toá n tử lấy số đố i (-x), int x = 8, y = 10;
cout << (-3 + x) * (++y -
tă ng ++x/x++, giả m --x/x-- 7);
/*
Tiếp theo là phép *, /, % ((-3) + x) * ((++y) – 7)
((-3) + 8) * (11 – 7) = 20
Cuố i cù ng là phép +, - */
}

15
Độ ưu tiên cá c toá n tử logic
Trong biểu thứ c logic
Dấ u ngoặ c đượ c ưu tiên cao nhấ t
Tiếp theo là toá n tử phủ định !
Cá c phép so sá nh
Tiếp theo là phép &&
Tiếp theo là phép ||
Ví dụ
(2 > 1 || 3 == 2) && !(1 >= 3 || 9 != 9) tương đương vớ i
((2 > 1) || 3==2) && !((1 >= 3)||(9!=9))

16

You might also like