Bỏ qua

Trắc Nghiệm — Mini Test 2

Hướng dẫn: Chọn đáp án đúng nhất. Xem đáp án ở cuối trang.


Phần 1: Lý Thuyết Chung

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

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

Câu 2. Sự khác biệt cốt lõi nhất giữa whiledo-while là gì?

  • A. do-while nhanh hơn
  • B. do-while kiểm tra điều kiện sau khi chạy lệnh, đảm bảo vòng lặp chạy ít nhất 1 lần
  • C. while phải có dấu chấm phẩy ở cuối
  • D. Không có gì khác biệt

Câu 3. Vòng lặp for có bao nhiêu thành phần chính bên trong cặp ngoặc đơn ()?

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

Câu 4. Trong C++, toán tử nào dùng để kiểm tra "chia hết"?

  • A. /
  • B. //
  • C. %
  • D. \

Câu 5. Khi muốn lấy chữ số hàng đơn vị của một số nguyên \(N\), ta dùng biểu thức nào?

  • A. N / 10
  • B. N % 10
  • C. N / 100
  • D. N % 100

Phần 2: Đọc Hiểu Mã Lệnh

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 bị lỗi lặp vô hạn ở dòng nào?

int i = 1;
while (i <= 5) {
    if (i == 3) continue;
    cout << i << " ";
    i++;
}
  • A. Ở vòng chạy i=1
  • B. Ở vòng chạy i=3, lệnh continue bỏ qua lệnh i++ làm i mãi mãi bằng 3
  • C. Ở vòng chạy i=5
  • D. Không bị lặp vô hạn

Câu 8. Mã lệnh sau in ra bao nhiêu dấu sao?

for (int i=1; i<=3; i++) {
    for (int j=1; j<=2; j++) {
        cout << "*";
    }
}
  • A. 3
  • B. 5
  • C. 6
  • D. 9

Câu 9. Điều kiện nào sau đây thể hiện "N là số chẵn VÀ 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 == 0 & n > 10

Câu 10. Đoạn code sau in ra gì?

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

Phần 3: Phân Tích Logic & Cấu Trúc

Câu 11. Để in ra menu hiển thị lặp đi lặp lại đến khi người dùng chọn "Thoát", bộ đôi cấu trúc nào được ưu tiên sử dụng nhất?

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

Câu 12. Để tối ưu hóa thuật toán kiểm tra số nguyên tố, nếu chia thử thấy N chia hết cho \(i\) (với \(i\) từ \(2\) đến \(N-1\)), ta nên gọi lệnh gì ngay lập tức?

  • A. continue
  • B. break
  • C. return 1
  • D. Gọi lại vòng for

Câu 13. Trong vòng lặp lồng nhau (Kim giờ - Kim phút), nếu vòng ngoài chạy 5 lần, vòng trong chạy 5 lần, tổng số lần thực hiện khối lệnh bên trong cùng là bao nhiêu?

  • A. 5
  • B. 10
  • C. 25
  • D. 55

Câu 14. Thuật toán tìm ƯCLN của A và B (Euclid) dựa trên vòng lặp nào?

  • A. while (A != B)
  • B. while (A == B)
  • C. for (int i=1; i<A; i++)
  • D. while (true)

Câu 15. Muốn đếm ngược từ 10 về 1 bằng while, cú pháp đúng là:

  • A.
int i = 1;
while (i <= 10) i--;
  • B.
int i = 10;
while (i >= 1) { cout << i; i--; }
  • C.
int i = 10;
while (i > 1) { cout << i; i++; }
  • D.
int i = 10;
while (i <= 1) { cout << i; i--; }

Đáp Án

Xem đáp án
Câu Đáp án Giải thích
1 D break có tác dụng đập vỡ, thoát khỏi vòng lặp/switch ngay lập tức.
2 B do-while có nguyên lý "Làm trước, kiểm tra sau".
3 B Gồm 3 phần cách nhau bằng dấu chấm phẩy ; (Khởi tạo ; Điều kiện ; Bước nhảy).
4 C Toán tử % (Modulo) lấy số dư. Nếu số dư bằng 0 tức là chia hết.
5 B Chia lấy dư cho 10 sẽ giữ lại chữ số cuối cùng (hàng đơn vị).
6 A Cấu trúc if-else if. Ngay khi x > 5 đúng, nó in A và nhảy ra khỏi toàn bộ cụm if (bỏ qua x > 8).
7 B Khi i=3, continue đẩy luồng chạy về đầu while, bỏ qua lệnh i++, khiến i kẹt ở 3 vĩnh viễn.
8 C Vòng ngoài lặp 3 lần, mỗi lần vòng trong lặp 2 lần \(\to\) Tổng \(3 \times 2 = 6\) sao.
9 C Dùng toán tử logic && (AND) để nối 2 điều kiện bắt buộc đồng thời xảy ra.
10 C Vòng đời đầu tiên i=1. 1 % 2 != 0 là TRUE (1 là số lẻ). Lệnh break kích hoạt lập tức thoát vòng lặp. sum vẫn bằng 0.
11 C do-while in menu 1 lần trước khi xét, switch để rẽ nhánh chức năng rất đẹp.
12 B Đã thấy chia hết tức là không phải SNT, thoát vòng lặp bằng break để đỡ tốn CPU chạy vô ích.
13 C Tổng số lần = Vòng ngoài \(\times\) Vòng trong = \(5 \times 5 = 25\) lần.
14 A Trừ 2 số cho nhau chừng nào chúng KHÁC NHAU (A != B).
15 B Bắt đầu từ 10, lặp chừng nào i >= 1 (điều kiện đúng), và sau mỗi vòng thì giảm i đi 1 đơn vị (i--).