1. Câu lệnh if-then-else (nếu-thì-ngược lại) trong các ngôn ngữ lập trình có chức năng chính là gì?
A. Thực hiện một khối lệnh duy nhất nếu điều kiện đúng.
B. Lặp lại một khối lệnh cho đến khi điều kiện sai.
C. Thực hiện một khối lệnh nếu điều kiện đúng, và một khối lệnh khác nếu điều kiện sai.
D. Thực hiện một khối lệnh một số lần xác định.
2. Nếu một câu lệnh rẽ nhánh có cấu trúc if-else if-else, điều gì sẽ xảy ra nếu điều kiện của câu lệnh if đầu tiên là sai và điều kiện của câu lệnh else if tiếp theo cũng sai?
A. Không có hành động nào được thực hiện.
B. Cả hai khối lệnh if và else if đều được thực hiện.
C. Khối lệnh trong phần else sẽ được thực hiện.
D. Chương trình sẽ báo lỗi.
3. Xem xét đoạn mã giả: NẾU (a > b) VÀ (c < d) THÌ thực hiện hành động X. Hành động X sẽ chỉ được thực hiện khi nào?
A. Chỉ khi (a > b) đúng.
B. Chỉ khi (c < d) đúng.
C. Khi cả hai điều kiện (a > b) và (c < d) đều đúng.
D. Khi ít nhất một trong hai điều kiện (a > b) hoặc (c < d) là đúng.
4. Xem xét đoạn mã C++: `if (x > 10) { cout << Lớn hơn 10; } else if (x == 10) { cout << Bằng 10; } else { cout << Nhỏ hơn 10; }`. Nếu `x` có giá trị là 10, đầu ra của chương trình là gì?
A. Lớn hơn 10
B. Bằng 10
C. Nhỏ hơn 10
D. Không có đầu ra
5. Trong cấu trúc rẽ nhánh, việc lồng các câu lệnh if hoặc if-else vào nhau được gọi là gì?
A. Vòng lặp.
B. Câu lệnh tuần tự.
C. Rẽ nhánh lồng nhau.
D. Hàm gọi.
6. Câu lệnh rẽ nhánh nào cho phép bạn thực hiện một hành động nếu một điều kiện đúng, nhưng không làm gì cả nếu điều kiện đó sai?
A. if-else
B. if-then-else
C. if-then
D. switch
7. Phát biểu nào sau đây mô tả đúng nhất về câu lệnh if đơn giản (chỉ có if-then)?
A. Chỉ thực hiện hành động khi điều kiện sai.
B. Luôn thực hiện hành động bất kể điều kiện.
C. Thực hiện hành động chỉ khi điều kiện đúng.
D. Thực hiện hành động và sau đó lặp lại nếu điều kiện đúng.
8. Trong lập trình, làm thế nào để kiểm tra xem một biến tuoi có nằm trong khoảng từ 18 đến 25 (bao gồm cả hai đầu mút) hay không?
A. NẾU tuoi >= 18 HOẶC tuoi <= 25
B. NẾU tuoi >= 18 VÀ tuoi <= 25
C. NẾU tuoi > 18 VÀ tuoi < 25
D. NẾU tuoi >= 18 VÀ tuoi >= 25
9. Phát biểu nào mô tả đúng vai trò của câu lệnh rẽ nhánh trong việc xử lý lỗi?
A. Câu lệnh rẽ nhánh được dùng để tạo ra lỗi.
B. Câu lệnh rẽ nhánh có thể kiểm tra các điều kiện bất thường và thực hiện hành động xử lý lỗi.
C. Câu lệnh rẽ nhánh chỉ thực thi khi không có lỗi.
D. Câu lệnh rẽ nhánh không liên quan đến việc xử lý lỗi.
10. Câu lệnh rẽ nhánh nào thường được sử dụng để xử lý nhiều trường hợp giá trị của một biến một cách gọn gàng và dễ đọc hơn so với chuỗi if-else if-else dài?
A. if-then
B. if-else
C. switch-case
D. while-loop
11. Biểu thức điều kiện trong câu lệnh rẽ nhánh thường trả về giá trị nào?
A. Một số nguyên.
B. Một chuỗi ký tự.
C. Đúng (True) hoặc Sai (False).
D. Một mảng các phần tử.
12. Xem xét hai câu lệnh rẽ nhánh sau: 1. NẾU A THÌ B. 2. NẾU A THÌ B, NGƯỢC LẠI C. Sự khác biệt cơ bản giữa hai câu lệnh này là gì?
A. Câu 1 thực hiện B khi A sai, câu 2 không.
B. Câu 2 thực hiện C khi A sai, câu 1 không.
C. Câu 1 chỉ có một nhánh thực thi, câu 2 có hai nhánh.
D. Câu 1 và 2 là tương đương về mặt chức năng.
13. Câu lệnh rẽ nhánh dạng switch-case (hoặc case tùy ngôn ngữ) thường được ưu tiên sử dụng khi nào?
A. Khi cần kiểm tra một chuỗi điều kiện phức tạp với nhiều toán tử logic.
B. Khi cần thực hiện một hành động dựa trên nhiều giá trị khác nhau của cùng một biến hoặc biểu thức.
C. Khi cần lặp lại một hành động vô hạn lần.
D. Khi chỉ có hai lựa chọn thực thi dựa trên một điều kiện.
14. Trong các phép so sánh, ký hiệu != (hoặc <>) có ý nghĩa là gì?
A. Lớn hơn hoặc bằng.
B. Nhỏ hơn hoặc bằng.
C. Bằng nhau.
D. Khác nhau.
15. Nếu bạn muốn chương trình thực hiện một hành động khi biến diem LỚN HƠN 8 HOẶC BIẾN diem NHỎ HƠN 3, bạn sẽ sử dụng toán tử logic nào?
A. VÀ (AND)
B. HOẶC (OR)
C. KHÔNG (NOT)
D. KHÁC (XOR)
16. Xem xét mã giả: CHO a TỪ 1 ĐẾN 5; NẾU (a == 3) THÌ IN Ba. Câu lệnh IN Ba sẽ được thực thi bao nhiêu lần?
A. 0 lần
B. 1 lần
C. 3 lần
D. 5 lần
17. Trong câu lệnh rẽ nhánh, từ khóa nào thường được sử dụng để chỉ ra khối lệnh sẽ được thực thi nếu điều kiện là sai?
A. THÌ (THEN)
B. NẾU (IF)
C. NGƯỢC LẠI (ELSE)
D. VÒNG LẶP (LOOP)
18. Xem xét đoạn mã giả: NẾU (x % 2 == 0) THÌ in Số chẵn. Nếu biến x có giá trị là 9, kết quả của chương trình là gì?
A. Số chẵn
B. 9
C. Không có gì được in ra.
D. Lỗi
19. Xem xét đoạn mã giả: NẾU điểm > 5 THÌ Đạt, NGƯỢC LẠI Không đạt. Nếu điểm có giá trị là 7, kết quả in ra màn hình sẽ là gì?
A. Không đạt
B. Đạt
C. 7
D. Lỗi cú pháp
20. Trong ngôn ngữ lập trình, câu lệnh rẽ nhánh được sử dụng để thực hiện một hoặc nhiều hành động dựa trên điều kiện nào?
A. Kiểm tra sự tồn tại của tệp tin.
B. Đảm bảo chương trình chạy nhanh hơn.
C. Thực hiện một hoặc nhiều hành động tùy thuộc vào việc điều kiện là đúng hay sai.
D. Lặp lại một khối lệnh nhiều lần.
21. Câu lệnh rẽ nhánh nào cho phép kiểm tra một loạt các điều kiện liên tiếp và chỉ thực thi khối lệnh đầu tiên mà điều kiện của nó là đúng?
A. if-then
B. if-else
C. if-else if-else
D. switch-case
22. Trong ngôn ngữ lập trình C++, câu lệnh if-else if-else có thể được viết gọn lại bằng cách nào nếu các điều kiện chỉ đơn giản là kiểm tra giá trị của cùng một biến?
A. Sử dụng vòng lặp for.
B. Sử dụng câu lệnh switch-case.
C. Sử dụng câu lệnh while.
D. Không có cách nào gọn hơn.
23. Phát biểu nào sau đây là sai về câu lệnh rẽ nhánh?
A. Câu lệnh rẽ nhánh giúp chương trình đưa ra quyết định.
B. Câu lệnh rẽ nhánh làm thay đổi luồng thực thi của chương trình.
C. Câu lệnh rẽ nhánh chỉ có thể kiểm tra một điều kiện duy nhất.
D. Câu lệnh rẽ nhánh có thể dựa trên các phép so sánh hoặc toán tử logic.
24. Trong Python, cú pháp của câu lệnh rẽ nhánh if yêu cầu kết thúc dòng điều kiện bằng ký tự nào?
25. Đâu là mục đích chính của việc sử dụng câu lệnh rẽ nhánh trong thuật toán?
A. Tăng tốc độ xử lý cho mọi trường hợp.
B. Cho phép thuật toán đưa ra các quyết định dựa trên dữ liệu đầu vào hoặc trạng thái hiện tại.
C. Đảm bảo thuật toán luôn chạy theo một trình tự cố định.
D. Giảm thiểu việc sử dụng bộ nhớ.