Toán tử logic phần 1
Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 23 trên 74.
Các toán tử logic dùng để kiểm tra sự kết hợp của các phép so sánh trả về true hoặc false.
Ví dụ, câu lệnh sau chứa hai phép so sánh:
5 lớn hơn 3 và nhỏ hơn 6 phải không?
| Toán tử | Ý nghĩa | Ví dụ |
|---|---|---|
&& | Và, true nếu tất cả toán hạng đều là true | a && b |
|| | Hoặc, true nếu bất kỳ toán hạng nào là true | a || b |
! | Phủ định, true nếu toán hạng là false | !a |
Hãy xem một vài ví dụ:
5 lớn hơn 3 và 1 bằng 1:
bool b1 = (5 > 3) && (1 == 1); // có giá trị trueGiải thích: Tất cả các toán hạng đều là true, vì vậy b1 sẽ giữ giá trị true (phép toán and cho kết quả true nếu cả hai toán hạng đều là true).
5 không bằng 4 hoặc 5 bằng 2:
bool b2 = !(5 == 4) || (5 == 2); // có giá trị trueGiải thích: Toán hạng đầu tiên (!(5 == 4)) là true, nên b2 cũng là true (phép toán or cho kết quả true nếu một trong hai toán hạng là true)
1 không bằng 1 hoặc false:
bool b3 = !(1 == 1) || false; // chứa giá trị falseGiải thích: Tất cả các toán hạng đều là false, nên b3 sẽ chứa false (phép toán or).
3 không lớn hơn 4:
bool b4 = !(3 > 4); // có giá trị trueGiải thích: Toán hạng là false, vì vậy b4 sẽ giữ giá trị true (phép toán not).
5 không lớn hơn 10 cũng không lớn hơn 1:
bool b5 = !(5 > 10 || 5 > 1); // có giá trị falseGiải thích: 5 > 10 || 5 > 1 là true (một trong các toán hạng là true), nên tổng thể b5 là false (toán tử not).
Thử thách
Người mớiBạn được cung cấp code. Thay dấu hỏi của các biến bool b1 và bool b2 để bool b3 có giá trị true.
Hãy dành chút thời gian phân tích điều kiện và suy nghĩ xem những giá trị nào sẽ khiến điều kiện đúng.
Có nhiều lời giải đúng!
Tự làm thử
// Viết code của bạn bên dưới
bool b1 = ?;
bool b2 = ?;
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
Tự luyện tập: Trình biên dịch C++ online