Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các loại toán tử khác nhau trong C ++ với sự trợ giúp của các ví dụ. Trong lập trình, toán tử là một ký hiệu hoạt động trên một giá trị hoặc một biến.
Toán tử là các ký hiệu thực hiện các thao tác trên các biến và giá trị. Ví dụ, +
là một toán tử được sử dụng để cộng, trong khi -
là một toán tử được sử dụng để trừ.
Các toán tử trong C ++ có thể được phân thành 6 loại:
- Toán tử số học
- Người điều hành nhiệm vụ
- Toán tử quan hệ
- Toán tử logic
- Toán tử Bitwise
- Các nhà khai thác khác
1. Toán tử số học C ++
Các toán tử số học được sử dụng để thực hiện các phép toán số học trên các biến và dữ liệu. Ví dụ,
a + b;
Ở đây, +
toán tử được sử dụng để thêm hai biến a và b. Tương tự, có nhiều toán tử số học khác trong C ++.
Nhà điều hành | Hoạt động |
---|---|
+ | Thêm vào |
- | Phép trừ |
* | Phép nhân |
/ | Sư đoàn |
% | Hoạt động Modulo (Phần còn lại sau khi chia) |
Ví dụ 1: Toán tử số học
#include using namespace std; int main() ( int a, b; a = 7; 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; )
Đầu ra
a + b = 9 a - b = 5 a * b = 14 a / b = 3 a% b = 1
Ở đây, các nhà khai thác +
, -
và *
tính toán cộng, trừ, và nhân tương ứng như chúng ta có thể mong đợi.
/ Người điều hành bộ phận
Lưu ý hoạt động (a / b)
trong chương trình của chúng tôi. Các /
nhà điều hành là các nhà điều hành bộ phận.
Như chúng ta thấy từ ví dụ trên, nếu một số nguyên chia cho một số nguyên khác, chúng ta sẽ nhận được thương số. Tuy nhiên, nếu số bị chia hoặc số bị chia là số dấu phẩy động, chúng ta sẽ nhận được kết quả là số thập phân.
Trong C ++, 7/2 là 3 7.0 / 2 là 3.5 7 / 2.0 là 3.5 7.0 / 2.0 là 3.5
% Modulo Operator
Toán tử modulo %
tính phần còn lại. Khi a = 9
chia b = 4
cho thì dư là 1 .
Lưu ý: Các %
nhà khai thác chỉ có thể được sử dụng với số nguyên.
Các toán tử tăng và giảm
C ++ cũng cung cấp các toán tử tăng và giảm: ++
và --
tương ứng. ++
tăng giá trị của toán hạng lên 1 , trong khi --
giảm nó đi 1 .
Ví dụ,
int num = 5; // increasing num by 1 ++num;
Ở đây, giá trị của num được tăng lên 6 từ giá trị ban đầu của nó là 5 .
Ví dụ 2: Các toán tử tăng và giảm
// Working of increment and decrement operators #include using namespace std; int main() ( int a = 10, b = 100, result_a, result_b; // incrementing a by 1 and storing the result in result_a result_a = ++a; cout << "result_a = " << result_a << endl; // decrementing b by 1 and storing the result in result_b result_b = --b; cout << "result_b = " << result_b << endl; return 0; )
Đầu ra
result_a = 11 result_b = 99
Trong chương trình trên, chúng tôi đã sử dụng toán tử ++
và --
làm tiền tố . Chúng tôi cũng có thể sử dụng các nhà khai thác như postfix .
Có một chút khác biệt khi các toán tử này được sử dụng như một tiền tố so với khi chúng được sử dụng như một hậu tố.
Để tìm hiểu thêm về các toán tử này, hãy truy cập toán tử tăng và giảm.
2. Các toán tử gán trong C ++
Trong C ++, các toán tử gán được sử dụng để gán giá trị cho các biến. Ví dụ,
// assign 5 to a a = 5;
Ở đây, chúng tôi đã gán một giá trị 5
cho biến a.
Nhà điều hành | Thí dụ | Tương đương với |
---|---|---|
= | 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; |
Ví dụ 2: Toán tử chuyển nhượng
#include using namespace std; int main() ( int a, b, temp; // 2 is assigned to a a = 2; // 7 is assigned to b b = 7; // value of a is assigned to temp temp = a; // temp will be 2 cout << "temp = " << temp << endl; // assigning the sum of a and b to a a += b; // a = a +b cout << "a = " << a << endl; return 0; )
Đầu ra
temp = 2 a = 9
3. Các toán tử quan hệ C ++
A relational operator is used to check the relationship between two operands. For example,
// checks if a is greater than b a> b;
Here, >
is a relational operator. It checks if a is greater than b or not.
If the relation is true, it returns 1 whereas if the relation is false, it returns 0.
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 |
Example 4: Relational Operators
#include 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 < b; // false cout < 5 is " << result << endl; result = a < b; // true cout << "3 < 5 is " << result <= b; // false cout <= 5 is " << result << endl; result = a <= b; // true cout << "3 <= 5 is " << result << endl; return 0; )
Output
3 == 5 is 0 3 != 5 is 1 3> 5 is 0 3 = 5 is 0 3 <= 5 is 1
Note: Relational operators are used in decision making and loops.
4. C++ Logical Operators
Logical operators are used to check whether an expression is true or false. If the expression is true, it returns 1 whereas if the expression is false, it returns 0.
Operator | Example | Meaning |
---|---|---|
&& | expression1 && expression2 | Logical AND. True only if all the operands are true. |
|| | expression1 || expression2 | Logical OR. True if at least one of the operands is true. |
! | !expression | Logical NOT. True only if the operand is false. |
In C++, logical operators are commonly used in decision making. To further understand the logical operators, let's see the following examples,
Suppose, a = 5 b = 8 Then, (a> 3) && (b> 5) evaluates to true (a> 3) && (b 3) || (b> 5) evaluates to true (a> 3) || (b < 5) evaluates to true (a < 3) || (b 3) evaluates to false
Example 5: Logical Operators
#include 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 < 5); // false cout < 5) is " << result << endl; result = (3 != 5) || (3 < 5); // true cout << "(3 != 5) || (3 < 5) is " << result < 5); // true cout < 5) is " << result < 5); // false cout < 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; )
Output
(3 != 5) && (3 < 5) is 1 (3 == 5) && (3 5) is 0 (3 != 5) || (3 5) is 1 (3 == 5) || (3 < 5) is 0 !(5 == 2) is 1 !(5 == 5) is 0
Explanation of logical operator program
(3 != 5) && (3 < 5)
evaluates to 1 because both operands(3 != 5)
and(3 < 5)
are 1 (true).(3 == 5) && (3 < 5)
evaluates to 0 because the operand(3 == 5)
is 0 (false).(3 == 5) && (3> 5)
evaluates to 0 because both operands(3 == 5)
and(3> 5)
are 0 (false).(3 != 5) || (3 < 5)
evaluates to 1 because both operands(3 != 5)
and(3 < 5)
are 1 (true).(3 != 5) || (3> 5)
evaluates to 1 because the operand(3 != 5)
is 1 (true).(3 == 5) || (3> 5)
evaluates to 0 because both operands(3 == 5)
and(3> 5)
are 0 (false).!(5 == 2)
evaluates to 1 because the operand(5 == 2)
is 0 (false).!(5 == 5)
đánh giá là 0 vì toán hạng(5 == 5)
là 1 (true).
5. Các toán tử Bitwise trong C ++
Trong C ++, các toán tử bitwise được sử dụng để thực hiện các hoạt động trên các bit riêng lẻ. Chúng chỉ có thể được sử dụng cùng với char
và int
các kiểu dữ liệu.
Nhà điều hành | Sự miêu tả |
---|---|
& | Nhị phân VÀ |
| | Nhị phân HOẶC |
^ | XOR nhị phân |
~ | Sự bổ sung của Binary One |
<< | Dịch chuyển nhị phân sang trái |
>> | Dịch chuyển nhị phân sang phải |
Để tìm hiểu thêm, hãy truy cập các toán tử bitwise C ++.
Ngoài các nhà khai thác đã nói ở trên, có một vài nhà khai thác khác, chẳng hạn như sizeof
, ?
, .
, &
, vv, mà có thể không được gọn gàng phân thành một hoặc loại khác. Chúng ta sẽ tìm hiểu thêm về các toán tử này trong các bài hướng dẫn sau.