🌱 C++ Operators - Toán tử trong C++

🌱 C++ Operators - Toán tử trong C++

Trong toán học nói chung và lập trình nói riêng, các operator - toán tử là các ký hiệu nhằm thực hiện các phép toán với biến và giá trị. Các phần tử (Biến/Giá trị) tham gia vào phép toán, được gọi là các toán hạng - Operand.

    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.

OperatorExampleEquivalent 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 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++,

OperatorMeaningExample
==Is Equal To3 == 5 gives us false
!=Not Equal To3 != 5 gives us true
>Greater Than3 > 5 gives us false
<Less Than3 < 5 gives us true
>=Greater Than or Equal To3 >= 5 give us false
<=Less Than or Equal To3 <= 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.

OperatorExampleMeaning
&&expression1 && expression2Logical AND.
Chỉ trả về true khi cả 2 toán hạng là true.
||expression1 || expression2Logical OR.
Chỉ trả về false khi cả 2 toán hạng là false.
!!expressionLogical 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. 

OperatorDescription
&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.

OperatorDescriptionExample
sizeoftrả 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ệnstring result = (5 > 0) ? "even" : "odd"; // "even"
&Toán tử 1 ngôi, dùng để trả về địa chỉ của một biến&num; // address of num
.Truy cập đến phần tử trong struct hoặc class objects1.marks = 92;
->Truy cập đến các phần tử trong con trỏ struct hoặc class objectptr->marks = 92;
<<In giá trị ra màn hình consolecout << 5;
>>Lấy giá trị input từ bàn phímcin >> 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 😊

                                                             

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

Đăng nhận xét

Mới hơn Cũ hơn