Trắc nghiệm Tin 10 Cánh diều Bài 6: Câu lệnh rẽ nhánh - Đề 02 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!
Câu 1: Trong Python, cấu trúc câu lệnh rẽ nhánh đơn giản (thiếu nhánh else) có dạng chuẩn nào sau đây?
- A. if điều_kiện: lệnh
- B. if điều_kiện:
khối_lệnh
- C. if điều_kiện then khối_lệnh
- D. if (điều_kiện) { khối_lệnh }
Câu 2: Đoạn chương trình Python sau sẽ in ra gì?
```python
x = 10
y = 5
if x > y:
print(
- A. x lớn hơn y
- B. Kết thúc
- C. x lớn hơn y
Kết thúc
- D. Không in gì cả
Câu 3: Trong Python, cấu trúc câu lệnh rẽ nhánh đầy đủ (có cả nhánh else) có dạng chuẩn nào sau đây?
- A. if điều_kiện:
khối_lệnh_1
else:
khối_lệnh_2
- B. if điều_kiện:
khối_lệnh_1
else khối_lệnh_2
- C. if điều_kiện:
khối_lệnh_1
endif
else:
khối_lệnh_2
- D. if điều_kiện:
khối_lệnh_1
else
khối_lệnh_2
Câu 4: Đoạn chương trình Python sau sẽ in ra gì?
```python
a = 7
if a % 2 == 0:
print(
- A. Chẵn
- B. Lẻ
- C. Chẵn
Lẻ
- D. Báo lỗi
Câu 5: Điểm khác biệt cơ bản và quan trọng nhất giữa câu lệnh `if` và `if-else` trong Python là gì?
- A. `if-else` cung cấp một nhánh để xử lý trường hợp điều kiện sai, còn `if` thì không.
- B. `if-else` cho phép kiểm tra nhiều điều kiện, còn `if` chỉ một.
- C. `if` nhanh hơn `if-else`.
- D. Trong `if-else`, khối lệnh của `if` và `else` phải có cùng số dòng.
Câu 6: Trong Python, việc thụt lề (indentation) các câu lệnh trong khối `if`, `elif`, `else` có ý nghĩa gì?
- A. Chỉ để làm cho mã dễ đọc hơn, không ảnh hưởng đến hoạt động.
- B. Xác định các biến cục bộ.
- C. Đánh dấu kết thúc của chương trình.
- D. Xác định các khối lệnh thuộc về câu lệnh rẽ nhánh.
Câu 7: Cấu trúc `if-elif-else` được sử dụng khi nào?
- A. Khi chỉ có một điều kiện cần kiểm tra.
- B. Khi cần lặp lại một khối lệnh nhiều lần.
- C. Khi cần kiểm tra nhiều hơn hai trường hợp dựa trên các điều kiện khác nhau.
- D. Khi cần thực thi một khối lệnh chắc chắn sau khi kiểm tra điều kiện.
Câu 8: Đoạn chương trình Python sau sẽ in ra gì?
```python
score = 85
if score >= 90:
print(
- A. Xuất sắc
- B. Khá
- C. Trung bình
- D. Yếu
Câu 9: Biểu thức điều kiện trong câu lệnh rẽ nhánh phải trả về kiểu dữ liệu nào?
- A. Số nguyên (int)
- B. Số thực (float)
- C. Logic (bool)
- D. Xâu kí tự (str)
Câu 10: Phép toán so sánh nào trong Python dùng để kiểm tra "không bằng"?
Câu 11: Trong Python, toán tử logic `and` trả về True khi nào?
- A. Khi cả hai biểu thức con đều đúng (True).
- B. Khi ít nhất một trong hai biểu thức con đúng (True).
- C. Khi cả hai biểu thức con đều sai (False).
- D. Khi biểu thức con đầu tiên đúng (True).
Câu 12: Trong Python, toán tử logic `or` trả về False khi nào?
- A. Khi cả hai biểu thức con đều đúng (True).
- B. Khi ít nhất một trong hai biểu thức con đúng (True).
- C. Khi biểu thức con đầu tiên sai (False).
- D. Khi cả hai biểu thức con đều sai (False).
Câu 13: Đoạn chương trình Python sau sẽ in ra gì?
```python
temp = 25
if temp > 20 and temp < 30:
print(
- A. Thời tiết dễ chịu
- B. Thời tiết khắc nghiệt
- C. Báo lỗi
- D. Không in gì cả
Câu 14: Đoạn chương trình Python sau sẽ in ra gì?
```python
age = 16
if age < 13 or age > 19:
print(
- A. Không phải tuổi teen
- B. Tuổi teen
- C. Báo lỗi
- D. Không in gì cả
Câu 15: Trong sơ đồ khối, hình dạng nào thường được dùng để biểu diễn thao tác kiểm tra điều kiện (câu lệnh rẽ nhánh)?
- A. Hình chữ nhật
- B. Hình oval/elip
- C. Hình thoi
- D. Hình bình hành
Câu 16: Hãy viết một biểu thức điều kiện trong Python để kiểm tra xem biến `diem` có lớn hơn hoặc bằng 5 và nhỏ hơn 8 hay không.
- A. diem > 5 or diem < 8
- B. 5 <= diem or diem < 8
- C. diem >= 5 or diem < 8
- D. diem >= 5 and diem < 8
Câu 17: Đoạn chương trình sau có lỗi gì?
```python
score = 75
if score > 80
print(
- A. Thiếu dấu hai chấm (:) sau điều kiện if.
- B. Thụt lề sai cho câu lệnh print.
- C. Biến score chưa được khai báo.
- D. Từ khóa else viết sai cú pháp.
Câu 18: Đoạn chương trình sau sẽ in ra gì?
```python
num = -5
if num > 0:
print(
- A. Số dương
- B. Số âm
- C. Số 0
- D. Không in gì cả
Câu 19: Nếu bạn có một biến `age` và muốn kiểm tra xem người đó có đủ tuổi bầu cử (từ 18 tuổi trở lên) hay không, bạn sẽ sử dụng biểu thức điều kiện nào trong câu lệnh `if`?
- A. age > 18
- B. age == 18
- C. age < 18
- D. age >= 18
Câu 20: Xem xét đoạn mã sau:
```python
a = 10
b = 20
if a > 15:
if b > 15:
print(
- A. Cả a và b đều lớn hơn 15
- B. a lớn hơn 15 nhưng b không
- C. Báo lỗi
- D. a không lớn hơn 15
Câu 21: Trong một cấu trúc `if-elif-else`, nếu điều kiện của `if` là True, thì những phần nào của cấu trúc này sẽ được bỏ qua?
- A. Chỉ khối lệnh của `else`.
- B. Toàn bộ các nhánh `elif` và `else`.
- C. Chỉ khối lệnh của `elif` đầu tiên.
- D. Không có phần nào bị bỏ qua.
Câu 22: Đoạn chương trình Python sau sẽ in ra gì?
```python
x = 0
if x > 0:
print(
- A. Duong
- B. Khong
- C. Am
- D. Duong
Khong
Am
Câu 23: Phát biểu nào sau đây về thụt lề trong Python là sai?
- A. Thụt lề được sử dụng để xác định phạm vi của khối lệnh.
- B. Các câu lệnh trong cùng một khối phải có cùng mức thụt lề.
- C. Có thể sử dụng số lượng khoảng trắng khác nhau cho các dòng trong cùng một khối lệnh.
- D. Thụt lề sai sẽ gây ra lỗi cú pháp (IndentationError).
Câu 24: Để kiểm tra xem một năm `year` có phải là năm nhuận hay không (chia hết cho 4 nhưng không chia hết cho 100, trừ trường hợp chia hết cho 400), biểu thức điều kiện nào sau đây là đúng?
- A. (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
- B. year % 4 == 0 and year % 100 != 0 or year % 400 == 0
- C. year % 4 == 0 or (year % 100 != 0 and year % 400 == 0)
- D. (year % 4 == 0 or year % 400 == 0) and year % 100 != 0
Câu 25: Trong sơ đồ khối biểu diễn cấu trúc `if-else`, có bao nhiêu đường đi (luồng điều khiển) khả thi từ điểm kiểm tra điều kiện đến điểm kết thúc cấu trúc?
- A. 1
- B. 2
- C. 3
- D. Phụ thuộc vào số lượng câu lệnh trong mỗi nhánh.
Câu 26: Đoạn chương trình Python sau sẽ in ra gì?
```python
import math
x = 16
if x > 0:
y = math.sqrt(x)
if y > 3:
print(
- A. Căn bậc hai lớn hơn 3
- B. Căn bậc hai nhỏ hơn hoặc bằng 3
- C. Không tính được căn bậc hai
- D. Báo lỗi
Câu 27: Bạn muốn viết chương trình nhập vào một số nguyên và kiểm tra xem số đó là số dương, số âm hay số 0. Cấu trúc câu lệnh rẽ nhánh nào phù hợp nhất cho bài toán này?
- A. Chỉ dùng câu lệnh `if` đơn giản.
- B. Chỉ dùng câu lệnh `if-else`.
- C. Dùng cấu trúc `if-elif-else`.
- D. Dùng các câu lệnh `if` độc lập liên tiếp.
Câu 28: Đoạn chương trình sau có lỗi gì về mặt logic hoặc cú pháp (giả sử biến `nhiet_do` đã được gán giá trị)?
```python
nhiet_do = 35
if nhiet_do > 30:
print(
- A. Không phải lỗi cú pháp, nhưng có thể là lỗi logic (in ra nhiều hơn một kết quả).
- B. Thiếu dấu hai chấm sau else.
- C. Thụt lề sai cho câu lệnh print(
- D. Biến nhiet_do chưa được gán giá trị.
Câu 29: Khi sử dụng nhiều câu lệnh `if` độc lập liên tiếp thay vì `if-elif-else`, điều gì có thể xảy ra?
- A. Chỉ có khối lệnh của `if` đầu tiên đúng được thực thi.
- B. Chương trình sẽ báo lỗi cú pháp.
- C. Nhiều hơn một khối lệnh có thể được thực thi nếu nhiều điều kiện cùng đúng.
- D. Chương trình sẽ chạy chậm hơn đáng kể.
Câu 30: Đoạn chương trình Python sau sẽ in ra gì?
```python
ch = "a"
if "a" <= ch <= "z":
print(
- A. Chữ cái thường
- B. Chữ cái hoa
- C. Ký tự khác
- D. Báo lỗi
Câu 31: Trong Python, biểu thức `not (x > 5)` tương đương với biểu thức nào sau đây?
- A. x < 5
- B. x <= 5
- C. x == 5
- D. x >= 5
Câu 32: Bạn cần viết một chương trình kiểm tra xem một số nguyên `n` có chia hết cho cả 3 và 5 hay không. Biểu thức điều kiện nào sau đây là đúng?
- A. n % 3 == 0 and n % 5 == 0
- B. n % 3 == 0 or n % 5 == 0
- C. n % 15 == 0
- D. n % 3 != 0 and n % 5 != 0