C++ | Toán tử quan hệ và toán tử logic

Lập trình C++ cơ bản, nâng cao

Toán tử quan hệ trong C++

Toán tử quan hệ dùng để so sánh hai giá trị, trả về giá trị true (đúng) hoặc false (sai) dựa trên kết quả so sánh.

Ví dụ:

int a = 10;
int b = 20;

bool isGreater = a > b; // isGreater sẽ có giá trị false

bool isEqual = a == b; // isEqual sẽ có giá trị false

bool isLess = a < b; // isLess sẽ có giá trị true

Bảng toán tử quan hệ:

Toán tử Mô tả
> Lớn hơn
>= Lớn hơn hoặc bằng
< Nhỏ hơn
<= Nhỏ hơn hoặc bằng
== Bằng
!= Khác
#include <iostream>
#include <stdio.h>

int main() {
	
int a= 3, b =4;

bool c = a < b; // true
bool d = a > b; // false
bool e = a >= b; // false
bool f = a <= b; // true
bool g = a == b; // false
bool h = a != b; // true

std::cout << "c = " << c << std::endl;
std::cout << "d = " << d << std::endl;
std::cout << "e = " << e << std::endl;
std::cout << "f = " << f << std::endl;
std::cout << "g = " << g << std::endl;
std::cout << "h = " << h << std::endl;
return 0;
}

Ouput:

c = 1
d = 0
e = 0
f = 1
g = 0
h = 1

Toán tử logic trong C++

Toán tử logic dùng để kết hợp các biểu thức logic, trả về giá trị true hoặc false dựa trên kết quả kết hợp.

Ví dụ:

int age = 18;
bool isAdult = age >= 18; // isAdult sẽ có giá trị true

bool canVote = isAdult && hasID; // canVote sẽ có giá trị true chỉ khi isAdult và hasID đều là true

bool isStudent = isAdult || isTeen; // isStudent sẽ có giá trị true nếu isAdult hoặc isTeen là true

Bảng toán tử logic:

Toán tử Mô tả
&& (AND)
` ` (OR)
! (NOT) Phủ định
#include <iostream>
#include <stdio.h>
int main() {
	
bool a = true && true; // true
bool b =  false && true; // false
bool c = true && false; // false
bool d = false && false; // false

bool e = true || true; // true
bool f =  false || true; // true
bool g = true || false; // true
bool h = false || false; // false

bool j = !a; // !true => false

std::cout << "a = " << a << std::endl;
std::cout << "b = " << b << std::endl;
std::cout << "c = " << c << std::endl;
std::cout << "d = " << d << std::endl;
std::cout << "-----------------------------" << std::endl;
std::cout << "e = " << e << std::endl;
std::cout << "f = " << f << std::endl;
std::cout << "g = " << g << std::endl;
std::cout << "h = " << h << std::endl;
std::cout << "-----------------------------" << std::endl;
std::cout << "j = " << j << std::endl;
return 0;
}

Ouput:

a = 1
b = 0
c = 0
d = 0
-----------------------------
e = 1
f = 1
g = 1
h = 0
-----------------------------
j = 0

Ưu tiên toán tử

Cần lưu ý thứ tự ưu tiên khi sử dụng nhiều toán tử trong một biểu thức. Thứ tự ưu tiên từ cao xuống thấp như sau:

  1. Toán tử bitwise
  2. Toán tử nhân chia
  3. Toán tử cộng trừ
  4. Toán tử so sánh
  5. Toán tử logic

Ví dụ:

int result = 10 + 20 * 3; // result sẽ có giá trị 70 (20 * 3 được tính toán trước)

Sử dụng toán tử quan hệ và logic

Toán tử quan hệ và logic được sử dụng rộng rãi trong lập trình C++ để kiểm tra điều kiện, ra quyết định và thực hiện các hành động tương ứng. Ví dụ:

  • Kiểm tra xem người dùng có đủ tuổi để đăng ký tài khoản hay không.
  • Xác định xem một số có nằm trong phạm vi cụ thể hay không.
  • Xác định xem hai chuỗi ký tự có bằng nhau hay không.

Hiểu rõ cách sử dụng toán tử quan hệ và logic là điều cần thiết để viết code C++ hiệu quả và chính xác.

Thực hành toán tử quan hệ #1

Viết chương trình nhập vào số tuổi của bạn, nếu số tuổi của bạn lớn hơn hoặc bằng 18 thì in ra màn hình số 1, ngược lại in ra số 0.

Gợi ý: Các giá trị kiểu bool khi in ra màn hình console sẽ hiển thị 1 hoặc 0 (tương ứng với true hoặc false).

Giải:

#include <iostream>
#include <stdio.h>
int main()
{
    int age;

    std::cin >> age;

    // Viết code ở đây
    if(age >= 18){
        std::cout << true << std::endl;
    }
    else{
        std::cout << false << std::endl;
    }
    
    return 0;
}

Thực hành toán tử quan hệ #2

Viết chương trình nhập vào 1 số nguyên lớn hơn 0 và kiểm tra xem số nguyên đó có phải là số chẵn hay không. Nếu là số chẵn thì in ra 1, ngược lại thì in ra 0.

Giải:


#include <iostream>
#include <stdio.h>
int main()
{
    int a;

    std::cin >> a;

    // Viết code ở đây
    if(a%2==0){
        std::cout << true << std::endl;
    }
    else{
        std::cout << false << std::endl;
    }
    return 0;
}

Nhận xét

Mới hơn Cũ hơn