🌱 C++ Operators - Toán tử trong C++
Operator trong C++ có thể chia làm 6 loại:
- C++ Arithmetic Operators
- C++ Assignment Operators
- C++ Relational Operators
- C++ Logical Operators
- C++ Bitwise Operators
- C++ Other Operators
👉 C++ Arithmetic Operators
Arithmetic Operator - Toán tử số học được sử dụng để thực hiện các phép toán số học như cộng, trừ, nhân, chia, ... Ví dụ,
a + b;
Toán tử + được sử dụng cho hai toán hạng a và b, tương tự, trong C++ hỗ trợ các toán tử số học dưới đây,
Operator | Operation |
---|---|
+ | Addition (Phép cộng) |
- | Subtraction (Phép trừ) |
* | Multiplication (Phép nhân) |
/ | Division (Phép chia) |
% | Modulo (Lấy dư của phép chia) |
🔻 Ví dụ sử dụng toán tử số học,
#include <iostream>
using namespace std;
int main()
{
int a, b;
a = 3;
b = 2;
// printing the sum of a and b
cout << "a + b = " << (a + b) << endl;
// printing the difference of a and b
cout << "a - b = " << (a - b) << endl;
// printing the product of a and b
cout << "a * b = " << (a * b) << endl;
// printing the division of a by b
cout << "a / b = " << (a / b) << endl;
// printing the modulo of a by b
cout << "a % b = " << (a % b) << endl;
return 0;
}
Run This Code
➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau,
a + b = 5
a - b = 1
a * b = 6
a / b = 1
a % b = 1
🔻 Toán tử divide - phép chia (/)
Có một lưu ý trong C/C++ đó là phép chia các số nguyên, nếu thực hiện phép chia 2 số nguyên cho nhau, kết quả đầu ra sẽ luôn là số nguyên. Vì vậy, nếu phép chia không chia hết, nó sẽ trả về phần nguyên của phép chia.
In C++,
3/2 is 1
3.0 / 2 is 1.5
3 / 2.0 is 1.5
3.0 / 2.0 is 1.5
Vì phép chia số nguyên chỉ cho ra kết quả là phần nguyên, C/C++ hỗ trợ thêm toán tử % để lấy số dư, và toán tử này chỉ sử dụng cho các toán hạng là số nguyên.
🔻 Toán tử một ngôi
Trong C/C++, toán tử số học còn hỗ trợ một loại toán tử một ngôi, tức là chỉ có sự tham gia của một toán hạng.
C/C++ hỗ trợ toán tử tăng ++ và giảm -- để tác động tăng hoặc giảm 1 đơn vị vào 1 toán hạng là số nguyên. Ví dụ,
int num = 5;
// increment operator
++num; // 6
Việc đặt 2 toán tử này ở trước hoặc sau của toán hạng cũng khá quan trọng.
- Toán tử tăng/giảm ở trước toán hạng gọi là Tiền tố - Prefixes, ví dụ ++num / --num
- Toán tử tăng/giảm ở sau toán hạng gọi là Hậu tố - Postfix, ví dụ num++ / num--
- Tiền tố sẽ có mức độ ưu tiên cao hơn hậu tố.
👉 C++ Assignment Operators
Trong C/C++, phép gán - Assignment Operator được sử dụng để gán các giá trị cho biến. Ví dụ,
// gán giá trị 5 vào biến a
a = 5;
Ngoài phép gán trên, trong C/C++ còn hỗ trợ một số phép toán.
Operator | Example | Equivalent to |
---|---|---|
= | a = b; | a = b; |
+= | a += b; | a = a + b; |
-= | a -= b; | a = a - b; |
*= | a *= b; | a = a * b; |
/= | a /= b; | a = a / b; |
%= | a %= b; | a = a % b; |
Dưới đây là một số ví dụ,
#include <iostream>
using namespace std;
int main() {
int a, b;
// 2 is assigned to a
a = 2;
// 7 is assigned to b
b = 7;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "\nAfter a += b;" << endl;
// assigning the sum of a and b to a
a += b; // a = a +b
cout << "a = " << a << endl;
return 0;
}
Run This Code
➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau,
a = 2
b = 7
After a += b;
a = 9
👉 C++ Relational Operators
Toán tử quan hệ - Relational Operators sử dụng để kiểm tra mối quan hệ giữa 2 toán hạng. Kết quả của phép toán sẽ trả về 1 nếu phép toán đúng hoặc 0 nếu phép toán sai. Ví dụ,
// checks if a is greater than b
a > b;
Các toán tử quan hệ trong C/C++,
Operator | Meaning | Example |
---|---|---|
== | Is Equal To | 3 == 5 gives us false |
!= | Not Equal To | 3 != 5 gives us true |
> | Greater Than | 3 > 5 gives us false |
< | Less Than | 3 < 5 gives us true |
>= | Greater Than or Equal To | 3 >= 5 give us false |
<= | Less Than or Equal To | 3 <= 5 gives us true |
Ví dụ sử dụng các toán tử quan hệ,
#include <iostream>
using namespace std;
int main()
{
int a, b;
a = 3;
b = 5;
bool result;
result = (a == b); // false
cout << "3 == 5 is " << result << endl;
result = (a != b); // true
cout << "3 != 5 is " << result << endl;
result = a > b; // false
cout << "3 > 5 is " << result << endl;
result = a < b; // true
cout << "3 < 5 is " << result << endl;
result = a >= b; // false
cout << "3 >= 5 is " << result << endl;
result = a <= b; // true
cout << "3 <= 5 is " << result << endl;
return 0;
}
Run This Code
➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau,
3 == 5 is 0
3 != 5 is 1
3 > 5 is 0
3 < 5 is 1
3 >= 5 is 0
3 <= 5 is 1
👉 C++ Logical Operators
Toán tử Logic được sử dụng để kiểm tra xem một biểu thức là đúng hay sai. Nếu biểu thức đúng thì trả về 1, nếu biểu thức sai thì trả về 0.
Operator | Example | Meaning |
---|---|---|
&& | expression1 && expression2 | Logical AND. Chỉ trả về true khi cả 2 toán hạng là true. |
|| | expression1 || expression2 | Logical OR. Chỉ trả về false khi cả 2 toán hạng là false. |
! | !expression | Logical NOT. Đảo ngược giá trị logic của toán hạng. |
Trong C/C++, toán tử logic thường được sử dụng trong các câu lệnh điều kiện. Ví dụ sử dụng,
#include <iostream>
using namespace std;
int main()
{
bool result;
result = (3 != 5) && (3 < 5); // true
cout << "(3 != 5) && (3 < 5) is " << result << endl;
result = (3 == 5) && (3 < 5); // false
cout << "(3 == 5) && (3 < 5) is " << result << endl;
result = (3 == 5) && (3 > 5); // false
cout << "(3 == 5) && (3 > 5) is " << result << endl;
result = (3 != 5) || (3 < 5); // true
cout << "(3 != 5) || (3 < 5) is " << result << endl;
result = (3 != 5) || (3 > 5); // true
cout << "(3 != 5) || (3 > 5) is " << result << endl;
result = (3 == 5) || (3 > 5); // false
cout << "(3 == 5) || (3 > 5) is " << result << endl;
result = !(5 == 2); // true
cout << "!(5 == 2) is " << result << endl;
result = !(5 == 5); // false
cout << "!(5 == 5) is " << result << endl;
return 0;
}
Run This Code
➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau,
(3 != 5) && (3 < 5) is 1
(3 == 5) && (3 < 5) is 0
(3 == 5) && (3 > 5) is 0
(3 != 5) || (3 < 5) is 1
(3 != 5) || (3 > 5) is 1
(3 == 5) || (3 > 5) is 0
!(5 == 2) is 1
!(5 == 5) is 0
👉 Bitwise Operator
Bitwise là toán tử nhằm mục đích thao tác độc lập với các bit trong biến, nó là toán tử rất phổ biến trong C/C++, đặt biệt là trong phần mềm nhúng.
Operator | Description |
---|---|
& | Binary AND |
| | Binary OR |
^ | Binary XOR |
~ | Binary One's Complement |
<< | Binary Shift Left |
>> | Binary Shift Right |
Toán tử Bitwise đã được lấy ví dụ cũng như trường hợp sử dụng các bài viết trước đây của mình - Bitwise Operator.
👉 Other C++ Operators
Ngoài các toán tử kể trên, trong C++ còn hỗ trợ một số toán tử khác không được phân loại.
Operator | Description | Example |
---|---|---|
sizeof | trả về kích thước của biến hoặc kiểu dữ liệu (đơn vị: Byte) | sizeof(int); // 4 |
?: | Toán tử 3 ngôi, trả về giá trị dựa trên điều kiện | string result = (5 > 0) ? "even" : "odd"; // "even" |
& | Toán tử 1 ngôi, dùng để trả về địa chỉ của một biến | # // address of num |
. | Truy cập đến phần tử trong struct hoặc class object | s1.marks = 92; |
-> | Truy cập đến các phần tử trong con trỏ struct hoặc class object | ptr->marks = 92; |
<< | In giá trị ra màn hình console | cout << 5; |
>> | Lấy giá trị input từ bàn phím | cin >> num; |
>>>= Follow ngay =<<<
Để nhận được những bài học miễn phí mới nhất nhé 😊
Chúc các bạn học tập tốt 😊