Bỏ qua

Trắc Nghiệm — Mini Test 2 (Buổi 07 → 19)

Hướng dẫn: Chọn một đáp án đúng nhất cho mỗi câu. Mỗi câu 0.2 điểm (tổng 3.0 điểm). Xem đáp án ở cuối trang. Thời gian gợi ý: 30 phút.


Phần A — Nhận Biết (Câu 1 → 5)

Câu 1. Từ khóa nào dùng để thoát ngay lập tức khỏi vòng lặp hoặc switch - case?

  • A. continue
  • B. exit
  • C. return
  • D. break

Câu 2. Vòng lặp for trong dấu ngoặc đơn () gồm mấy thành phần, ngăn cách bởi dấu ;?

  • A. 1 (Điều kiện)
  • B. 2 (Điều kiện, Bước nhảy)
  • C. 3 (Khởi tạo, Điều kiện, Bước nhảy)
  • D. 4 (Khởi tạo, Điều kiện, Bước nhảy, Lệnh)

Câu 3. Điểm khác biệt cốt lõi giữa whiledo - while là gì?

  • A. do - while chạy nhanh hơn while
  • B. do - while kiểm tra điều kiện sau khi chạy thân vòng lặp, nên luôn chạy ít nhất 1 lần
  • C. while không cần dấu ngoặc nhọn {}
  • D. Hai vòng lặp hoàn toàn giống nhau

Câu 4. Toán tử nào dùng để kiểm tra "một số có chia hết cho số khác không"?

  • A. /
  • B. %
  • C. &&
  • D. ==

Câu 5. Trong switch - case, nếu quên đặt break ở cuối một case thì điều gì xảy ra?

  • A. Lỗi biên dịch
  • B. Chương trình bỏ qua case đó
  • C. Chương trình chạy "tràn" xuống thực hiện luôn các case phía dưới
  • D. Chương trình dừng ngay lập tức

Phần B — Thông Hiểu: Đọc Code & Dự Đoán Kết Quả (Câu 6 → 11)

Câu 6. Đoạn mã sau in ra gì?

int x = 10;
if (x > 5) cout << "A";
else if (x > 8) cout << "B";
else cout << "C";
  • A. A
  • B. B
  • C. AB
  • D. C

Câu 7. Đoạn mã sau in ra bao nhiêu dấu *?

for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 4; j++) {
        cout << "*";
    }
}
  • A. 3
  • B. 4
  • C. 7
  • D. 12

Câu 8. Đoạn mã sau in ra gì?

int sum = 0;
for (int i = 1; i <= 5; i++) {
    if (i % 2 != 0) continue;
    sum += i;
}
cout << sum;
  • A. 6
  • B. 9
  • C. 15
  • D. 0

Câu 9. Đoạn mã sau in ra gì?

int i = 5;
while (i > 0) {
    cout << i << " ";
    i--;
}
  • A. 5 4 3 2 1
  • B. 1 2 3 4 5
  • C. 5 4 3 2 1 0
  • D. 0 1 2 3 4

Câu 10. Đoạn mã sau bị lặp vô hạn. Vì sao?

int i = 1;
while (i <= 5) {
    if (i == 3) continue;
    cout << i << " ";
    i++;
}
  • A. Thiếu dấu ; sau while
  • B. Khi i == 3, lệnh continue bỏ qua i++, khiến i mãi bằng 3
  • C. Điều kiện i <= 5 luôn sai
  • D. Không hề bị lặp vô hạn

Câu 11. Đoạn do - while sau in ra gì?

int i = 10;
do {
    cout << i << " ";
    i++;
} while (i < 5);
  • A. Không in gì cả
  • B. 10
  • C. 10 11 12 13 14
  • D. Lặp vô hạn

Phần C — Vận Dụng & Phân Tích (Câu 12 → 15)

Câu 12. Muốn hiển thị một menu lặp đi lặp lại cho đến khi người dùng chọn "Thoát", cặp cấu trúc nào phù hợp nhất?

  • A. forif - else
  • B. whileif - else
  • C. do - whileswitch - case
  • D. if - elseswitch - case

Câu 13. Khi kiểm tra số nguyên tố bằng cách chia thử N cho các số từ 2 đến N-1, ngay khi phát hiện N chia hết cho một số, ta nên làm gì để tối ưu?

  • A. Dùng continue để bỏ qua
  • B. Dùng break để dừng vòng lặp vì đã chắc chắn không phải số nguyên tố
  • C. Tăng biến đếm rồi chạy tiếp hết vòng lặp
  • D. Gọi lại vòng for từ đầu

Câu 14. Điều kiện nào diễn đạt đúng "N là số chẵn N lớn hơn 10"?

  • A. n % 2 == 0 || n > 10
  • B. n / 2 == 0 && n > 10
  • C. n % 2 == 0 && n > 10
  • D. n % 2 == 1 && n > 10

Câu 15. Cho đoạn mã lồng nhau sau. Giá trị của dem sau khi chạy xong là bao nhiêu?

int dem = 0;
for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 3; j++) {
        if (i == j) continue;
        dem++;
    }
}
cout << dem;
  • A. 3
  • B. 6
  • C. 9
  • D. 0