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) |
Và |
` | ` (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:
- Toán tử bitwise
- Toán tử nhân chia
- Toán tử cộng trừ
- Toán tử so sánh
- 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