1. Nếu một vòng lặp `while` có điều kiện là `while (1 == 1)`, điều gì sẽ xảy ra?
A. Vòng lặp sẽ chạy đúng 1 lần.
B. Vòng lặp sẽ chạy 10 lần.
C. Vòng lặp sẽ trở thành vòng lặp vô hạn.
D. Chương trình sẽ báo lỗi cú pháp.
2. Trong một vòng lặp `for` xử lý một tập hợp dữ liệu, `i++` đại diện cho điều gì?
A. Điều kiện để tiếp tục vòng lặp.
B. Khối lệnh sẽ được thực thi trong mỗi vòng lặp.
C. Hành động cập nhật biến đếm sau mỗi lần lặp.
D. Giá trị ban đầu của biến đếm.
3. Để lặp lại một hành động 10 lần, cấu trúc lặp nào thường là lựa chọn hiệu quả và dễ quản lý nhất?
A. Vòng lặp `while` với điều kiện là biến đếm nhỏ hơn 10.
B. Vòng lặp `do-while` với điều kiện là biến đếm nhỏ hơn hoặc bằng 10.
C. Vòng lặp `for` với biến đếm chạy từ 0 đến 9 (hoặc 1 đến 10).
D. Sử dụng nhiều câu lệnh lặp lại hành động đó 10 lần.
4. Cấu trúc lặp nào có thể được xem là phiên bản lặp có thoát hiểm của vòng lặp `while`?
A. Vòng lặp `for`
B. Vòng lặp `do-while`
C. Vòng lặp `while` với câu lệnh `break` bên trong.
D. Vòng lặp `switch`
5. Đâu là một ví dụ về việc lặp lại một hành động dựa trên điều kiện?
A. Lặp lại 100 lần để tính tổng các số chẵn.
B. Lặp lại cho đến khi người dùng nhập đúng mật khẩu.
C. Lặp lại để in ra bảng cửu chương từ 1 đến 9.
D. Lặp lại để xử lý từng phần tử trong mảng có 50 phần tử.
6. Cấu trúc lặp vô hạn xảy ra khi nào?
A. Điều kiện lặp luôn đúng và không có cơ chế thoát khỏi vòng lặp.
B. Số lần lặp được xác định rõ ràng từ đầu.
C. Sử dụng câu lệnh `break` không đúng chỗ.
D. Biến đếm không được khởi tạo.
7. Hãy phân tích cấu trúc `for (int i = 0; i < 10; i++)`. Biến `i` sẽ nhận các giá trị nào?
A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
B. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
C. 0, 1, 2, 3, 4, 5, 6, 7, 8
D. 1, 3, 5, 7, 9
8. Phát biểu nào sau đây là đúng về `for` loop và `while` loop?
A. `for` loop dùng khi biết trước số lần lặp, `while` loop dùng khi không biết trước.
B. `for` loop chỉ dùng với số, `while` loop dùng với chuỗi.
C. `while` loop luôn thực thi ít nhất một lần, `for` loop thì không.
D. Cả hai đều có thể được sử dụng thay thế cho nhau trong mọi trường hợp.
9. Trong các cấu trúc lặp, đâu là cấu trúc ít dùng nhất khi số lần lặp là cố định và biết trước?
A. Vòng lặp `for`
B. Vòng lặp `while`
C. Vòng lặp `do-while`
D. Tất cả đều phù hợp như nhau.
10. Trong vòng lặp `while`, nếu điều kiện ban đầu là sai, vòng lặp sẽ:
A. Thực thi khối lệnh một lần rồi dừng.
B. Thực thi khối lệnh nhiều lần cho đến khi điều kiện đúng.
C. Không thực thi khối lệnh lần nào và tiếp tục chương trình.
D. Báo lỗi và dừng chương trình.
11. Khi nào ta nên ưu tiên sử dụng vòng lặp `do-while` thay vì `while`?
A. Khi số lần lặp đã được xác định trước.
B. Khi cần chắc chắn rằng khối lệnh bên trong sẽ được thực thi ít nhất một lần.
C. Khi điều kiện lặp phức tạp và cần kiểm tra nhiều yếu tố.
D. Khi cần lặp qua tất cả các phần tử của một mảng.
12. Trong lập trình, khi nào việc sử dụng vòng lặp `for` là không phù hợp?
A. Khi cần lặp lại một hành động cho mỗi phần tử trong một danh sách.
B. Khi số lần lặp là cố định và đã biết trước.
C. Khi điều kiện dừng phụ thuộc vào một giá trị nhập từ người dùng mà không thể xác định trước.
D. Khi cần thực hiện một tác vụ lặp đi lặp lại một số lần nhất định.
13. Phát biểu nào sau đây mô tả đúng nhất ý nghĩa của lặp vô hạn trong lập trình?
A. Vòng lặp chạy quá nhiều lần so với dự kiến.
B. Vòng lặp không bao giờ kết thúc theo logic chương trình.
C. Vòng lặp thực thi một khối lệnh duy nhất nhiều lần.
D. Vòng lặp bị gián đoạn bởi lỗi hệ thống.
14. Để đảm bảo rằng một vòng lặp `while` sẽ chạy ít nhất một lần, bạn nên sử dụng cấu trúc nào?
A. `while (điều kiện) { khối lệnh }`
B. `do { khối lệnh } while (điều kiện);`
C. `for (int i = 0; i < 1; i++) { khối lệnh }`
D. `if (điều kiện) { khối lệnh }`
15. Câu lệnh `continue` trong vòng lặp có tác dụng gì?
A. Kết thúc hoàn toàn vòng lặp.
B. Bỏ qua phần còn lại của khối lệnh trong lần lặp hiện tại và chuyển sang lần lặp tiếp theo.
C. Nhảy đến một lệnh cụ thể bên ngoài vòng lặp.
D. Thực hiện lại khối lệnh hiện tại.
16. Khi nào việc sử dụng vòng lặp `for` có thể dẫn đến lỗi logic về số lần lặp?
A. Khi điều kiện dừng được thiết lập chính xác.
B. Khi biến đếm được cập nhật đúng sau mỗi lần lặp.
C. Khi điều kiện dừng không bao gồm hoặc loại trừ giá trị biên không mong muốn.
D. Khi sử dụng `break` hoặc `continue` để thoát khỏi vòng lặp.
17. Trong ngôn ngữ lập trình Python, câu lệnh nào sau đây dùng để thoát khỏi vòng lặp ngay lập tức?
A. `continue`
B. `pass`
C. `return`
D. `break`
18. Vòng lặp `for` thường được sử dụng khi nào?
A. Khi số lần lặp không xác định trước và phụ thuộc vào một điều kiện thay đổi liên tục.
B. Khi cần thực hiện một khối lệnh ít nhất một lần, sau đó lặp lại dựa trên điều kiện.
C. Khi số lần lặp đã được xác định trước hoặc có thể tính toán được.
D. Khi cần lặp qua tất cả các phần tử của một tập hợp dữ liệu.
19. Xét đoạn mã giả: `lặp với biến đếm i từ 1 đến 5, mỗi lần tăng 1: in giá trị của i`. Kết quả in ra màn hình sẽ là:
A. 1 2 3 4 5
B. 1 1 1 1 1
C. 5 4 3 2 1
D. 1 2 3 4
20. Đâu là điểm khác biệt chính giữa vòng lặp `while` và vòng lặp `do-while`?
A. Vòng lặp `while` kiểm tra điều kiện sau mỗi lần lặp, còn `do-while` kiểm tra trước.
B. Vòng lặp `do-while` đảm bảo khối lệnh được thực thi ít nhất một lần, còn `while` có thể không thực thi lần nào.
C. Vòng lặp `while` chỉ sử dụng với biến đếm, còn `do-while` không cần biến đếm.
D. Không có sự khác biệt đáng kể về cách hoạt động.
21. Trong lập trình, lặp với số lần xác định trước thường gắn liền với loại cấu trúc lặp nào?
A. Vòng lặp `while`
B. Vòng lặp `do-while`
C. Vòng lặp `for`
D. Vòng lặp `if-else`
22. Đâu là một ví dụ về lặp với điều kiện không xác định trước?
A. Lặp lại việc đọc dữ liệu cho đến khi gặp ký tự kết thúc tệp.
B. Lặp lại việc tính tổng N số tự nhiên đầu tiên.
C. Lặp lại việc vẽ 10 hình vuông.
D. Lặp lại việc xử lý 5 phần tử trong danh sách.
23. Trong lập trình, cấu trúc lặp được sử dụng để thực hiện một khối lệnh:
A. Một lần duy nhất.
B. Nhiều lần dựa trên một điều kiện hoặc số lần xác định trước.
C. Chỉ khi có yêu cầu cụ thể từ người dùng.
D. Theo một trình tự cố định không thay đổi.
24. Cú pháp cơ bản của vòng lặp `while` trong hầu hết các ngôn ngữ lập trình là gì?
A. `for (biến đếm; điều kiện; bước nhảy) { khối lệnh }`
B. `do { khối lệnh } while (điều kiện);`
C. `while (điều kiện) { khối lệnh }`
D. `foreach (phần tử in tập hợp) { khối lệnh }`
25. Phân tích đoạn mã giả: `lặp khi (số > 0): đọc số mới; nếu số <= 0 thì dừng`. Điều gì xảy ra nếu người dùng nhập 5, sau đó nhập -2?
A. Chương trình dừng ngay sau khi nhập 5.
B. Chương trình đọc 5, sau đó đọc -2 và dừng.
C. Chương trình đọc 5, tiếp tục lặp, đọc -2 và dừng.
D. Chương trình sẽ báo lỗi.