1. Phát biểu nào sau đây mô tả đúng nhất vai trò của toán tử so sánh trong câu lệnh if?
A. Dùng để gán giá trị cho biến.
B. Dùng để thực hiện phép toán số học.
C. Dùng để xác định mối quan hệ giữa hai giá trị (ví dụ: bằng, lớn hơn, nhỏ hơn).
D. Dùng để nối các chuỗi ký tự.
2. Phát biểu nào sau đây mô tả chính xác trường hợp nào của cấu trúc rẽ nhánh if?
A. Chỉ có một hành động được thực hiện nếu điều kiện đúng.
B. Luôn có hai hành động được thực hiện, bất kể điều kiện.
C. Chỉ có một hành động được thực hiện nếu điều kiện sai.
D. Không có hành động nào được thực hiện nếu điều kiện sai.
3. Phát biểu nào sau đây mô tả chính xác biểu thức điều kiện trong cấu trúc rẽ nhánh?
A. Luôn luôn là một giá trị số.
B. Phải trả về một giá trị logic (đúng hoặc sai).
C. Có thể là một chuỗi ký tự.
D. Không cần thiết phải đánh giá được.
4. Nếu bạn cần viết một chương trình để phân loại sinh viên dựa trên điểm số (ví dụ: Xuất sắc, Giỏi, Khá, Trung bình, Yếu), bạn sẽ sử dụng cấu trúc rẽ nhánh nào là hiệu quả nhất?
A. Nhiều câu lệnh if độc lập.
B. Cấu trúc if-else if-else hoặc switch-case (nếu có thể).
C. Chỉ một câu lệnh if.
D. Vòng lặp while.
5. Trong cấu trúc rẽ nhánh, vòng lặp khác với rẽ nhánh ở điểm nào?
A. Vòng lặp chỉ thực hiện một lần, rẽ nhánh thực hiện nhiều lần.
B. Vòng lặp thực hiện một khối lệnh lặp đi lặp lại dựa trên điều kiện, rẽ nhánh chọn một trong các đường đi.
C. Vòng lặp không dùng điều kiện, rẽ nhánh có dùng điều kiện.
D. Vòng lặp dùng toán tử so sánh, rẽ nhánh dùng toán tử logic.
6. Nếu một chương trình cần kiểm tra xem một số có phải là số chẵn hay không, điều kiện nào sau đây là phù hợp nhất?
A. số % 2 == 1
B. số % 2 != 0
C. số % 2 == 0
D. số / 2 == 0
7. Xét biểu thức: NOT (x > 5). Biểu thức này sẽ đúng khi nào?
A. Khi x lớn hơn 5.
B. Khi x nhỏ hơn 5.
C. Khi x bằng 5.
D. Khi x nhỏ hơn hoặc bằng 5.
8. Phát biểu nào sau đây mô tả đúng về việc sử dụng toán tử so sánh != (khác)?
A. Nó kiểm tra xem hai giá trị có bằng nhau hay không.
B. Nó kiểm tra xem hai giá trị có khác nhau hay không.
C. Nó dùng để gán giá trị.
D. Nó chỉ dùng cho chuỗi ký tự.
9. Trong ngôn ngữ lập trình, toán tử logic AND (hoặc và) được sử dụng để kết hợp hai điều kiện như thế nào?
A. Kết quả là đúng nếu một trong hai điều kiện là đúng.
B. Kết quả là đúng nếu cả hai điều kiện đều là đúng.
C. Kết quả là đúng nếu cả hai điều kiện đều là sai.
D. Kết quả luôn là sai.
10. Toán tử logic OR (hoặc hoặc) cho phép kết hợp hai điều kiện như thế nào?
A. Kết quả là đúng chỉ khi cả hai điều kiện đều đúng.
B. Kết quả là đúng khi ít nhất một trong hai điều kiện là đúng.
C. Kết quả là đúng chỉ khi cả hai điều kiện đều sai.
D. Kết quả luôn là đúng.
11. Phát biểu nào sau đây đúng về vai trò của dấu ngoặc đơn ( và ) trong câu lệnh if (hoặc các cấu trúc rẽ nhánh tương tự)?
A. Chúng dùng để định nghĩa biến.
B. Chúng dùng để nhóm các biểu thức logic hoặc xác định phạm vi của điều kiện.
C. Chúng chỉ dùng để phân tách các câu lệnh.
D. Chúng không có vai trò quan trọng trong câu lệnh if.
12. Ưu điểm chính của việc sử dụng cấu trúc rẽ nhánh là gì?
A. Tăng tốc độ xử lý của chương trình.
B. Giảm số lượng biến cần sử dụng.
C. Cho phép chương trình phản ứng với các tình huống khác nhau.
D. Loại bỏ hoàn toàn các lỗi cú pháp.
13. Cấu trúc switch-case trong một số ngôn ngữ lập trình thường được sử dụng thay thế cho loại cấu trúc rẽ nhánh nào khi kiểm tra nhiều giá trị bằng nhau?
A. Cấu trúc if đơn giản.
B. Cấu trúc if-else if-else lồng nhau hoặc chuỗi.
C. Cấu trúc while (lặp).
D. Cấu trúc for (lặp).
14. Toán tử NOT (hoặc phủ định) được sử dụng để làm gì trong lập trình?
A. Đảo ngược giá trị logic của một biểu thức (từ đúng thành sai, từ sai thành đúng).
B. Kiểm tra xem hai giá trị có bằng nhau không.
C. Kiểm tra xem hai giá trị có khác nhau không.
D. Kết hợp hai biểu thức logic.
15. Trong một cấu trúc rẽ nhánh, nếu có nhiều điều kiện cần kiểm tra lần lượt, và chỉ một hành động trong số đó được thực hiện, cấu trúc nào là hiệu quả nhất?
A. Nhiều câu lệnh if riêng lẻ.
B. Cấu trúc if-else if-else.
C. Cấu trúc while (lặp).
D. Cấu trúc for (lặp).
16. Phát biểu nào sau đây là sai về cấu trúc rẽ nhánh?
A. Giúp chương trình đưa ra quyết định.
B. Cho phép thực hiện các khối lệnh khác nhau dựa trên điều kiện.
C. Tạo ra các vòng lặp vô hạn nếu cấu trúc không đúng.
D. Tăng tính linh hoạt cho chương trình.
17. Nếu một chương trình cần thực hiện một hành động chỉ khi một biến có giá trị là đúng (true), cấu trúc nào là phù hợp?
A. if (bien == false)
B. if (bien)
C. if (bien == dung)
D. if (bien != true)
18. Xét đoạn mã giả sau: NẾU (điểm > 5) THÌ in ra Đạt. Lệnh in ra Đạt sẽ được thực thi khi nào?
A. Khi điểm có giá trị bất kỳ.
B. Khi điểm có giá trị nhỏ hơn hoặc bằng 5.
C. Khi điểm có giá trị lớn hơn 5.
D. Khi điểm có giá trị bằng 5.
19. Khi sử dụng cấu trúc if-else, nếu điều kiện trong if là sai, thì khối lệnh nào sẽ được thực thi?
A. Khối lệnh trong if.
B. Khối lệnh trong else.
C. Chương trình sẽ dừng lại.
D. Khối lệnh trong else if (nếu có).
20. Nếu một chương trình cần kiểm tra xem người dùng có đủ 18 tuổi để xem nội dung hay không, điều kiện nào là phù hợp nhất?
A. tuoi < 18
B. tuoi == 18
C. tuoi >= 18
D. tuoi > 18
21. Phát biểu nào sau đây mô tả đúng về lồng nhau trong cấu trúc rẽ nhánh?
A. Nhiều câu lệnh if được viết cạnh nhau.
B. Một cấu trúc rẽ nhánh được đặt bên trong một cấu trúc rẽ nhánh khác.
C. Nhiều điều kiện được kết hợp bằng toán tử logic.
D. Chỉ có một hành động được thực hiện.
22. Câu lệnh if (x > 10 AND y < 5) sẽ đúng khi nào?
A. Khi x lớn hơn 10 hoặc y nhỏ hơn 5.
B. Khi x lớn hơn 10 và y nhỏ hơn 5.
C. Khi x nhỏ hơn hoặc bằng 10 và y lớn hơn hoặc bằng 5.
D. Khi x nhỏ hơn 10 hoặc y lớn hơn 5.
23. Cấu trúc if-else if-else được sử dụng khi nào?
A. Chỉ có hai trường hợp cần xét.
B. Khi cần xét nhiều điều kiện liên tiếp và chỉ thực hiện một khối lệnh.
C. Khi cần thực hiện một hành động duy nhất.
D. Khi cần lặp lại một hành động nhiều lần.
24. Khi nào thì sử dụng cấu trúc if mà không có else?
A. Khi cần thực hiện hành động B nếu điều kiện sai.
B. Khi chỉ muốn thực hiện hành động A nếu điều kiện đúng, và không làm gì nếu điều kiện sai.
C. Khi cần lặp lại một hành động.
D. Khi cần kiểm tra nhiều điều kiện.
25. Trong lập trình, cấu trúc rẽ nhánh if-then-else cho phép chương trình thực hiện một hành động dựa trên điều kiện nào?
A. Luôn thực hiện một chuỗi lệnh cố định.
B. Thực hiện hành động A nếu điều kiện đúng, hành động B nếu điều kiện sai.
C. Thực hiện hành động A nếu điều kiện đúng, bỏ qua nếu sai.
D. Lặp lại một hành động cho đến khi điều kiện sai.