Toán tử là biểu tượng cho trình biên dịch thực hiện các thao tác toán học hoặc logic cụ thể. Toán tử trong C và C++ rất nhiều các toán tử dựng sẵn và cung cấp các loại toán tử sau:
Toán tử số học
Toán tử quan hệ
Toán tử logic
Toán tử so sánh bit
Toán tử gán
Toán tử hỗn hợp
Toán tử là nền tảng của bất kỳ ngôn ngữ lập trình nào, do đó chức năng của ngôn ngữ lập trình C/ C ++ sẽ không hoàn chỉnh nếu không sử dụng toán tử. Chúng ta có thể định nghĩa toán tử là biểu tượng giúp chúng ta thực hiện các phép tính toán học và logic cụ thể trên toán hạng.
Ví dụ, hãy xem xét câu lệnh dưới đây:
c = a + b;
Ở đây, '+' là toán tử được gọi là toán tử cộng và 'a' và 'b' là toán hạng. Toán tử bổ sung cho trình biên dịch thêm cả hai toán hạng 'a' và 'b'. C/C++ có nhiều kiểu toán tử có sẵn và chúng có thể được phân loại là:
Đây là các toán tử được sử dụng để thực hiện các phép toán số học/toán học trên các toán hạng. Ví dụ: (+, -, *, /,%, ++, -).
Toán tử số học có hai loại:
Toán tử đơn nhất: Toán tử hoạt động hoặc làm việc với một toán hạng đơn là toán tử đơn nhất.
Ví dụ: (++, -)
Toán tử nhị phân: Toán tử hoạt động hoặc làm việc với hai toán hạng là toán tử nhị phân.
Ví dụ: (+, -, *, /)
Các toán tử quan hệ được sử dụng để so sánh các giá trị của hai toán hạng.
Ví dụ: Kiểm tra xem một toán hạng có bằng toán hạng khác hay không, toán hạng lớn hơn toán hạng khác hoặc không. Một số toán tử quan hệ là (==,>, =, <=).
Các toán tử logic được sử dụng để kết hợp hai hoặc nhiều điều kiện, ràng buộc hoặc để bổ sung cho việc đánh giá điều kiện ban đầu đang xem xét. Kết quả hoạt động của toán tử logic là giá trị boolean là true hoặc false.
Toán tử so sánh bit được sử dụng để thực hiện các phép toán bit trên các toán hạng. Các toán tử đầu tiên được chuyển đổi thành bit-level và sau đó tính toán được thực hiện trên các toán hạng. Các phép toán như cộng, trừ, nhân,… có thể được thực hiện ở mức bit để xử lý nhanh hơn.
Các toán tử gán được sử dụng để gán giá trị cho một biến. Toán hạng bên trái của toán tử gán là một toán hạng biến và bên phải của toán tử gán là một giá trị. Giá trị ở phía bên phải cần có cùng kiểu dữ liệu của biến ở phía bên trái nếu không trình biên dịch sẽ gây ra lỗi.
Các loại toán tử gán khác nhau được hiển thị bên dưới:
“=” : Đây là toán tử gán đơn giản nhất. Toán tử này được sử dụng để gán giá trị bên phải cho biến bên trái.
Ví dụ:
a = 10;
b = 20;
ch = 'y';
“+ =” : Toán tử này kết hợp các toán tử '+' và '='. Toán tử này trước tiên thêm giá trị hiện tại của biến vào bên trái vào giá trị ở bên phải và sau đó gán kết quả cho biến ở bên trái.
Thí dụ:
(a + = b) có thể được viết là (a = a + b)
Nếu giá trị ban đầu được lưu trữ trong a là 5. Sau đó, (a + = 6) = 11.
“- =” : Toán tử này là sự kết hợp của các toán tử '-' và '='. Toán tử này đầu tiên trừ giá trị hiện tại của biến bên trái khỏi giá trị ở bên phải và sau đó gán kết quả cho biến ở bên trái.
Thí dụ:
(a - = b) có thể được viết là (a = a - b)
Nếu giá trị ban đầu được lưu trữ trong một là 8. Sau đó (a - = 6) = 2.
“* =” : Toán tử này kết hợp các toán tử '*' và '='. Toán tử này trước tiên nhân giá trị hiện tại của biến ở bên trái với giá trị ở bên phải và sau đó gán kết quả cho biến ở bên trái.
Thí dụ:
(a * = b) có thể được viết là (a = a * b)
Nếu giá trị ban đầu được lưu trữ trong a là 5. Sau đó (a * = 6) = 30.
“/ =” : Toán tử này kết hợp các toán tử '/' và '='. Toán tử này trước tiên chia giá trị hiện tại của biến bên trái cho giá trị bên phải và sau đó gán kết quả cho biến ở bên trái.
Thí dụ:
(a / = b) có thể được viết là (a = a / b)
Nếu giá trị ban đầu được lưu trữ trong a là 6. Sau đó (a / = 2) = 3.
Ngoài các toán tử trên, có một số toán tử khác có sẵn trong C hoặc C ++ được sử dụng để thực hiện một số nhiệm vụ cụ thể. Một số trong số chúng được nhắc đến ở đây là:
sizeof operator : sizeof được sử dụng nhiều trong ngôn ngữ lập trình C/C++. Nó là một toán tử thời gian biên dịch đơn nhất có thể được sử dụng để tính toán kích thước của toán hạng của nó. Kết quả của sizeof là loại tích phân không dấu thường được ký hiệu là size_t. Về cơ bản, toán tử sizeof được sử dụng để tính kích thước của biến.
Toán tử dấu phẩy: Toán tử dấu phẩy (được biểu thị bằng mã thông báo) là toán tử nhị phân đánh giá toán hạng đầu tiên của nó và loại bỏ kết quả, sau đó đánh giá toán hạng thứ hai và trả về giá trị này (và gõ). Toán tử dấu phẩy có mức ưu tiên thấp nhất của bất kỳ toán tử C nào. Dấu phẩy hoạt động như cả toán tử và dấu tách.
Toán tử điều kiện: Toán tử điều kiện có dạng Expression1, Expression2, Expression3. Ở đây, Expression1 là điều kiện được đánh giá. Nếu điều kiện (Expression1) là True thì chúng ta sẽ thực hiện và trả về kết quả của Expression2 nếu không điều kiện (Expression1) là false thì chúng ta sẽ thực hiện và trả về kết quả của Expression3. Chúng tôi có thể thay thế việc sử dụng các câu lệnh if..else bằng toán tử có điều kiện.
Bảng dưới đây mô tả thứ tự ưu tiên và tính kết hợp của các toán tử trong C/C ++. Ưu tiên của toán tử giảm từ trên xuống dưới.
Ký hiệu |
Giải thích |
Nguyên tắc thực hiện |
() |
Dấu ngoặc đơn (gọi hàm) |
từ trái sang phải |
[] |
Chân đế (chỉ số mảng) |
|
. |
Lựa chọn thông qua tên đối tượng |
|
-> |
Lựa chọn thành viên qua con trỏ |
|
++ / - |
Tăng / giảm số lượng postfix |
phải sang trái |
! ~ |
Phủ định logic / bitwise bổ sung |
|
* |
Dereference |
|
& |
Times New Roman |
|
sizeof |
Xác định kích thước tính theo byte khi triển khai |
|
*, /,% |
Nhân/chia/mô đun |
từ trái sang phải |
+/- |
Cộng/trừ |
từ trái sang phải |
<> |
Bitwise shift sang trái |
từ trái sang phải |
<, <= |
Quan hệ nhỏ hơn/nhỏ hơn hoặc bằng |
từ trái sang phải |
>,> = |
Quan hệ lớn hơn/lớn hơn hoặc bằng |
từ trái sang phải |
==,! = |
Quan hệ bằng/không bằng |
từ trái sang phải |
^ |
Độc quyền bit OR |
từ trái sang phải |
| |
ORwise OR |
từ trái sang phải |
Kiến thức liên quan đến lập trình C khác bạn nên xem: