Các toán tử (operator)

Một phần của tài liệu Tài liệu học tập môn Tin cơ sở: Phần 1 - Phùng Thị Thu Hiền (Trang 79 - 81)

Các thành phần tên gọi tham gia trong phép toán được gọi là hạng thức hoặc toán hạng, các kí hiệu phép toán được gọi là toán tử. C++ có rất nhiều phép toán loại 1 ngôi, 2 ngôi và thậm chí cả 3 ngôi.

Ví dụ 3.7a:

Trong phép toán x * y;

x, y được gọi là toán hạng. * là toán tử.

Sau đây là một số toán tử thông dụng:

a. Các phép toán số học: +, -, *, /, %

- Các phép toán + (cộng), − (trừ), * (nhân) được hiểu theo nghĩa thông thường trong số học.

- Phép toán x / y được thực hiện theo kiểu của các toán hạng, tức nếu cả hai toán hạng là số nguyên thì kết quả của phép chia chỉ lấy phần nguyên, ngược lại nếu 1 trong 2 toán hạng là thực thì kết quả là số thực.

Ví dụ 3.7b:

11/5 = 2 // do 11 và 5 là 2 số nguyên

11.0/5 = 11/5.0 = 11.0/5.0 = 2.2 // do có ít nhất 1 toán hạng là thực

b. Toán tử quan hệ (so sánh)

Các phép toán so sánh == bằng nhau != khác nhau > lớn hơn < nhỏ hơn >= lớn hơn hoặc bằng <= nhỏ hơn hoặc bằng c. Toán tử logic && và || hoặc ! không, phủ định

Hai toán hạng của loại phép toán này phải có kiểu lôgic tức chỉ nhận một trong hai giá trị "đúng" (được thể hiện bởi các số nguyên khác 0) hoặc "sai" (thể hiện bởi 0). Khi đó giá trị trả lại của phép toán là 1 hoặc 0 và được cho trong bảng sau:

72 x y x && y x || y ! x 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1

Bảng 4: Mô tả các phép toán logic.

d. Toán tử gán

Toán tử gán dùng để thay đổi trị của một biến bằng trị của một biểu thức. Kí hiệu: =

Biểu thức gán có dạng: <biến> = <biểu thức>;

Trong đó <biến> là một danh hiệu hợp lệ (nằm ở vế trái), và <biểu thức> (nằm ở vế phải) là biểu thức có cùng kiểu với kiểu của <biến>.

Cách tính trị của biểu thức gán: trình biên dịch tính trị của <biểu thức>, sau đó gán trị này cho <biến>. Toàn bộ biểu thức gán này cũng trả về một giá trị là trị của <biểu thức> vừa tính được.

Ví dụ 3.8:

a = 10; // gán trị 10 cho biến nguyên a.

a = 2*b; // tính trị 2*b, sau đó gán kết quả tính được cho biến a.

c = a + 2*b; // tính trị a + 2*b, sau đó gán kết quả tính được cho biến c. Ngôn ngữ C++ cho phép viết gọn các biểu thức gán bằng các toán tử gán sau: Dạng viết thông thường Dạng viết thu gọn

i = i+<bt> i += <bt> i = i-<bt> i -= <bt> i = i*<bt> i *= <bt> i = i/<bt> i /= <bt> i = i%<bt> i %= <bt> …

e. Toán tử điều kiện ( ? : )

Là toán tử 3 ngôi, và có dạng:

<BT1> ? <BT2> : <BT3>

Trong đó:

<BT1> thường là một biểu thức so sánh hay một biểu thức logic. <BT2>, và <BT3> là một biểu thức thông thường nào đó.

73 Kiểu của biểu thức điều kiện phụ thuộc vào kiểu của <BT2>, <BT3>.

Cách tính giá trị biểu thức điều kiện

B1: Tính trị của <BT1>

B2: Nếu <BT1> có trị !=0 thì toàn bộ biểu thức điều kiện sẽ nhận trị cho bởi <BT2>. Ngược lại thì chương trình dịch sẽ dùng trị của <BT3> làm trị của toàn bộ biểu thức điều kiện.

Ví dụ 3.9:

a. Biểu thức điều kiện trả về trị nhỏ nhất giữa 2 số nguyên cho trước x và y (x < y) ? (x) : (y)

b. Biểu thức điều kiện trả về trị lớn nhất trong 3 số nguyên cho trước x, y, z (x > y) ? (x > z ? x : z) : (y > z ? y : z)

f. Toán tử tăng (++), giảm (––) một đơn vị

Biểu thức có dạng

<biến>++ <biến>-- ++<biến> --<biến>

Sự khác nhau giữa 2 dạng tiền tố và hậu tố chỉ nảy sinh khi biểu thức nằm trong một biểu thức khác như sau:

• Dạng tiền tố: trị của <biến> được thay đổi trước khi tham gia biểu thức chung • Dạng hậu tố: biểu thức chung sử dụng trị cũ của <biến>, sau đó <biến> mới được thay đổi trị.

g. Một số hàm toán học

Một số hàm toán học trong thư viện cmath:

- sin(x), cos(x), tan(x), asin(x), acos(x), atan(x): các hàm lượng giác. - exp(x): hàm mũ, trả lại giá trị e mũ x (ex).

- log(x), log10(x): trả lại lôgarit cơ số e và lôgarit thập phân của x (lnx, logx). - pow(x, y): hàm mũ, trả lại giá trị x lũy thừa y (xy).

- sqrt(x): trả lại căn bậc 2 của x.

- abs(x), labs(x), fabs(x): trả lại giá trị tuyệt đối của x. - ceil(x): trả lại giá trị làm tròn lên của x.

- floor(x): trả lại giá trị làm tròn xuống của x.

Một phần của tài liệu Tài liệu học tập môn Tin cơ sở: Phần 1 - Phùng Thị Thu Hiền (Trang 79 - 81)