I. Toán Hạng và Toán Tử là gì?
Toán tử là các biểu tượng hoặc kí hiệu được sử dụng để chỉ định các thao tác toán học hoặc logic mà chương trình cần thực hiện. Trong ngôn ngữ lập trình C++, có tổng cộng 6 loại toán tử chính:
- Toán tử số học.
- Toán tử quan hệ.
- Toán tử logic.
- Toán tử gán.
- Toán tử so sánh bit.
- Toán tử hỗn hợp.
1. Toán tử số học và Toán hạng
Toán tử số học là các toán tử được sử dụng để thực hiện các phép tính số học trong lập trình. Các toán hạng là các đối tượng mà phép toán được áp dụng lên. Kết quả của phép toán sẽ được tự động gán theo kiểu dữ liệu của các toán hạng. Giả sử ta có hai số kiểu thực a=5.0,b=10.0 (gọi là các toán hạng), các toán tử số học sẽ tính toán chúng theo bảng dưới đây:
khi sử dụng toán tử tăng ++ hoặc toán tử giảm --, việc đặt chúng đằng trước (dạng prefix) hoặc đằng sau (dạng postfix) toán hạng sẽ có sự khác biệt trong thứ tự thực hiện phép tăng/giảm.
-
Đặt đằng trước (prefix): Toán tử tăng/giảm được áp dụng trước khi giá trị của toán hạng được sử dụng. Ví dụ: ++x sẽ tăng giá trị của x lên trước khi sử dụng giá trị mới của x trong biểu thức.
-
Đặt đằng sau (postfix): Toán tử tăng/giảm được áp dụng sau khi giá trị của toán hạng được sử dụng. Ví dụ: x++ sẽ sử dụng giá trị hiện tại của x trong biểu thức trước khi tăng giá trị của x sau đó.
Ví dụ dưới đây sẽ phân tích điểm khác nhau giữa dạng prefix và dạng postfix:
Chạy chương trình trên sẽ cho ra kết quả:
2. Các loại toán tử khác thì sao?
Ngoài toán tử số học, trong C++ còn có nhiều loại toán tử khác. Tuy nhiên, do phạm vi kiến thức của bài học này nên mình sẽ chỉ giới thiệu sơ qua các loại toán tử cùng với một số ví dụ rất đơn giản. Cách sử dụng chi tiết của các loại toán tử này sẽ được đề cập đến trong những bài học khác chuyên sâu hơn.
2.1. Toán tử quan hệ
Các loại toán tử quan hệ sẽ xác định quan hệ giữa các toán hạng, và trả ra kết quả là quan hệ đó đúng (true
) hay không đúng (false
). Bảng dưới đây thể hiện các quan hệ giữa hai toán hạng a=5,b=10:
2.2. Toán tử logic
Các toán tử logic sẽ xác định quan hệ về mặt đúng/sai giữa các toán hạng logic. Giả sử ta có hai toán hạng logic A=true và B=false, bảng dưới đây thể hiện quan hệ logic giữa chúng: