5 == 6)) bằng toán tử
&&. Vì cả hai biểu thức thành phần đều có giá trị
true, nên biểu thức ban đầu cũng có giá trị
true.
Để đặt đúng các biểu thức logic theo thứ tự mong muốn, bạn cần hiểu rõ độ ưu tiên của các toán tử và đặt các biểu thức vào trong ngoặc một cách đúng đắn. Bạn có thể tham khảo lại Phần 2 để biết độ ưu tiên của các toán tử trong C++.
V. Sử dụng toán tử điều kiện thay cho câu lệnh if...else
Ở Phần 1 của Chuyện mục Tự học C++, các bạn đã được giới thiệu về một loại toán tử đặc biệt trong C++, đó là toán tử hỗn hợp. Trong số đó, có một loại với cú pháp như sau:
trong đó (X)
là một biểu thức logic, A
và B
là các biểu thức hoặc câu lệnh. Thực ra, đây chính là một cách viết khác của câu lệnh if...else
. Thay vì viết:
thì ta sẽ viết như trên, cách viết đó sẽ ngắn gọn hơn rất nhiều. Chẳng hạn, muốn kiểm tra một số nguyên N có chia hết cho 2 hay không, thay vì viết:
thì ta viết:
Ngoài ra, khi sử dụng toán tử này, nếu như cần thực hiện nhiều câu lệnh với một điều kiện, thì ta có thể phân tách chúng bằng dấu ,
mà không cần phải tạo khối lệnh bằng cặp dấu {}
như câu lệnh if..else
truyền thống. Cú pháp viết như sau:
Tuy nhiên, có một lưu ý rằng, bản chất của cặp toán tử (X) ? A : B
thực ra là trả về giá trị A
nếu như biểu thức logic (X)
có giá trị true
, ngược lại thì trả về giá trị B
. Do đó, chúng ta không được sử dụng câu lệnh ở vế A
hoặc vế B
khác kiểu nhau. Chẳng hạn, câu lệnh sau sẽ là không hợp lệ:
Việc sử dụng cú pháp toán tử trong câu lệnh có thể gây khó khăn ban đầu khi phân biệt vế A là câu lệnh in ra và vế B là biểu thức số học. Tuy nhiên, khi làm nhiều bài tập, chúng ta sẽ nắm rõ được cách kết hợp các biểu thức này. Tuy nhiên, việc sử dụng toán tử này chỉ nên áp dụng trong những trường hợp câu lệnh ngắn và đơn giản, để tránh làm mã code trở nên rối mắt và khó đọc. Trong lập trình, chúng ta luôn cần quan tâm đến tính đúng đắn và sự rõ ràng của mã code để tăng hiệu quả của công việc.
VI. Cấu trúc lựa chọn switch...case...
1. Lựa chọn nhiều trường hợp
Trong một số trường hợp, chúng ta cần kiểm tra nhiều trường hợp khác nhau của một đối tượng và thực hiện xử lý tương ứng với mỗi trường hợp đó. Ví dụ, một cửa hàng quần áo có biểu ngữ quảng cáo như sau:
- Nếu mua 1 chiếc áo, giá tiền là 50.000 VNĐ/chiếc.
- Nếu mua 2 chiếc áo, giá tiền là 45.000 VNĐ/chiếc.
- Nếu mua 3 chiếc áo, giá tiền là 40.000 VNĐ/chiếc.
- Nếu mua nhiều hơn 3 chiếc áo, giá tiền là 35.000 VNĐ/chiếc và được tặng thêm một đôi tất.
Ở đây, đối tượng được xem xét là số lượng chiếc áo được mua, và cho mỗi giá trị 1, 2, 3 hoặc nhiều hơn 3, sẽ có một đơn giá khác nhau cho mỗi chiếc áo. Cách biểu diễn như vậy được gọi là mệnh đề lựa chọn. Trong ngôn ngữ lập trình C++, ta sử dụng cấu trúc switch...case để biểu diễn các mệnh đề lựa chọn như vậy.
2. Cấu trúc lựa chọn switch...case...
Cấu trúc switch...case... được sử dụng để lựa chọn giá trị của một đối tượng cụ thể và xác định công việc tương ứng với mỗi trường hợp xảy ra.
Trong cấu trúc switch...case..., {Biểu_thức} thường là một biến, biểu thức hoặc hàm có giá trị, thường là kiểu số nguyên hoặc kiểu chuỗi. Các giá trị 1, 2, 3... trong các trường hợp phải là các hằng số. Nếu giá trị của đối tượng không khớp với bất kỳ giá trị nào trong danh sách, câu lệnh trong khối default sẽ được thực hiện.
Trong trường hợp nhiều giá trị có chung công việc thực hiện, ta có thể viết theo cách sau:
Ví dụ 1: Nhập vào một tháng bất kỳ trong năm, in ra màn hình số ngày của tháng đó.
Ví dụ 2: Nhập vào điểm môn học dạng chữ của một sinh viên (A,B,C,D,F), hãy đưa ra điểm tích lũy tương ứng của môn học đó (4,3,2,1,0)?
Cám ơn bạn đã theo dõi phần 4 của chuyên mục Tự học C++ cùng Kienthuc24h.edu.vn! Đón chờ những phần tiếp theo của chuyên mục này nhé