Trong câu lệnh if mà chúng ta đã tìm hiểu trong phần trước, thì khi điều kiện là true thì biểu thức bên trong if mới được thực hiện. Đôi khi chúng ta muốn kết hợp nhiều điều kiện với nhau như: bắt buộc cả hai hay nhiều điều kiện phải đúng hoặc chỉ cần một trong các điều kiện đúng là đủ hoặc không có điều kiện nào cung cấp một tập hợp các toán tử logic để phục vụ cho người lập trình. | Giáo trình hướng dẫn xây dựng một trình tự xử lý các toán tử trong phép toán đại số có độ ưu tiên Trong câu lệnh if mà chúng ta đã tìm hiểu trong phần trước thì khi điều kiện là true thì biểu thức bên trong if mới được thực hiện. Đôi khi chúng ta muốn kết hợp nhiều điều kiện với nhau như bắt buộc cả hai hay nhiều điều kiện phải đúng hoặc chỉ cần một trong các điều kiện đúng là đủ hoặc không có điều kiện nào cung cấp một tập hợp các toán tử logic để phục vụ cho người lập trình. Bảng liệt kệ ba phép toán logic bảng này cũng sử dụng hai biến minh họa là x và y trong đó x có giá trị là 5 và y có giá trị là 7. Tên toán tử Ký hiệu Biểu thức logic Giá trị Logic and x 3 y 7 false Cả hai điều kiện phải đúng or x 3 y 7 true Chỉ cần một điều kiện đúng not x 3 true Biểu thức trong ngoặc phải sai. Bảng Các toán tử logic giả sử x 5 y 7 . Toán tử and sẽ kiểm tra cả hai điều kiện. Trong bảng trên có minh họa biểu thức logic sử dụng toán tử and x 3 y 7 Toàn bộ biểu thức được xác định là sai vì có điều kiện x 3 là sai. Với toán tử or thì một hay cả hai điều kiện đúng thì đúng biểu thức sẽ có giá trị là sai khi cả hai điều kiện sai. Do vậy ta xem biểu thức minh họa toán tử or x 3 y 7 Biểu thức này được xác định giá trị là đúng do có một điều kiện đúng là y 7 là đúng. Đối với toán tử not biểu thức sẽ có giá trị đúng khi điều kiện trong ngoặc là sai và ngược lại do đó biểu thức x 3 có giá trị là đúng vì điều kiện trong ngoặc tức là x 3 là sai. Như chúng ta đã biết đối với phép toán logic and thì chỉ cần một điều kiện trong biểu thức sai là toàn bộ biểu thức là sai do vậy thật là dư thừa khi kiểm tra các điều kiện còn lại một khi có một điều kiện đã sai. Giả sử ta có đoạn chương trình sau int x 8 if x 5 y 10 Khi đó biểu thức if sẽ đúng khi cả hai biểu thức con là x 5 và y 10 đúng. Tuy nhiên khi xét biểu thức thứ nhất do giá trị x là 8 nên biểu thức x 5 là sai. Khi đó không cần thiết để xác định giá trị của biểu thức còn lại tức là với bất kỳ giá trị nào của biểu thức