1. Trong lập trình, tên biến không được phép bắt đầu bằng ký tự nào sau đây?
A. Một chữ cái hoặc dấu gạch dưới (_).
B. Một số.
C. Một ký tự đặc biệt khác.
D. Cả B và C.
2. Nếu một biến được khai báo là kiểu số nguyên (integer), nó có thể lưu trữ giá trị nào sau đây?
A. Một số nguyên dương hoặc âm, không có phần thập phân.
B. Một số có phần thập phân.
C. Một chuỗi ký tự.
D. Một giá trị logic (Đúng/Sai).
3. Tại sao việc đặt tên biến có ý nghĩa và rõ ràng lại quan trọng trong lập trình?
A. Giúp người lập trình (kể cả chính mình sau này) dễ dàng hiểu và bảo trì mã nguồn.
B. Giúp chương trình chạy nhanh hơn.
C. Bắt buộc để trình biên dịch hoạt động.
D. Để tránh vi phạm bản quyền.
4. Lệnh gán trong lập trình có vai trò gì?
A. Gán một giá trị hoặc kết quả của biểu thức cho một biến.
B. Khởi tạo một vòng lặp để lặp lại một khối lệnh.
C. Định nghĩa một cấu trúc dữ liệu phức tạp.
D. Kiểm tra tính đúng sai của một điều kiện logic.
5. Xét đoạn mã giả: "nhập a; a = a + 1;". Sau khi thực hiện lệnh này, giá trị của biến "a" sẽ như thế nào so với giá trị ban đầu?
A. Tăng lên 1 đơn vị.
B. Giảm đi 1 đơn vị.
C. Không thay đổi.
D. Bị xóa khỏi bộ nhớ.
6. Biến "diem_trung_binh" có thể được đặt tên theo quy tắc nào sau đây?
A. "diem_trung_binh".
B. "1diem_trung_binh".
C. "diem trung binh".
D. "diem-trung-binh".
7. Nếu ta có đoạn mã: "x = 5; y = x; x = 10;", sau khi thực hiện, giá trị của "y" là bao nhiêu?
A. 5
B. 10
C. 0
D. Lỗi chương trình.
8. Nếu có hai biến "a" và "b", và ta thực hiện lệnh gán "a = b", điều gì sẽ xảy ra với giá trị của biến "a"?
A. Giá trị của "a" sẽ trở thành giá trị hiện tại của "b".
B. Giá trị của "b" sẽ bị xóa.
C. Giá trị của "a" sẽ được thay thế bằng ký tự "b".
D. Biến "a" sẽ biến mất.
9. Trong ngôn ngữ lập trình, một "biến" được sử dụng để làm gì?
A. Lưu trữ một giá trị có thể thay đổi trong quá trình thực thi chương trình.
B. Định nghĩa một hàm để thực hiện một tác vụ cụ thể.
C. Kiểm soát luồng thực thi của chương trình dựa trên các điều kiện.
D. Hiển thị thông tin ra màn hình cho người dùng.
10. Khi một biến được khai báo, nó sẽ được cấp phát một vùng nhớ có kích thước phụ thuộc vào:
A. Kiểu dữ liệu của biến.
B. Tên của biến.
C. Giá trị được gán ban đầu.
D. Độ dài của tên biến.
11. Biến có thể được sử dụng để lưu trữ kết quả của một phép so sánh, ví dụ: "ket_qua = (5 > 3)". Biến "ket_qua" sẽ có giá trị là gì?
A. True (Đúng)
B. False (Sai)
C. 5
D. 3
12. Phát biểu nào sau đây là SAI về biến trong lập trình?
A. Tên biến phải là duy nhất trong phạm vi sử dụng của nó.
B. Giá trị của biến không bao giờ có thể thay đổi sau khi khai báo.
C. Biến cần được khai báo trước khi sử dụng.
D. Kiểu dữ liệu của biến xác định loại giá trị nó có thể lưu trữ.
13. Đâu là một ví dụ về "biểu thức" trong lập trình, có thể được gán cho biến?
A. "(2 + 3) * 4"
B. "nhập số"
C. "in ra màn hình"
D. "biến a"
14. Biến nào sau đây có tên không hợp lệ theo quy tắc đặt tên biến chung?
A. "_age"
B. "studentName"
C. "total-score"
D. "count10"
15. Trong trường hợp nào thì việc sử dụng biến là cần thiết?
A. Khi cần lưu trữ và thao tác với một giá trị có thể thay đổi hoặc được sử dụng nhiều lần.
B. Chỉ khi chương trình có giao diện đồ họa.
C. Khi chương trình chỉ thực hiện một phép tính đơn giản.
D. Không bao giờ cần thiết, có thể dùng trực tiếp giá trị.
16. Lệnh gán nào sau đây là không hợp lệ trong hầu hết các ngôn ngữ lập trình?
A. x = 10
B. 10 = x
C. y = x + 5
D. z = "Hello"
17. Kiểu dữ liệu "string" (chuỗi ký tự) thường dùng để lưu trữ:
A. Một dãy các ký tự, ví dụ: "Xin chào".
B. Một số nguyên.
C. Một số thực có phần thập phân.
D. Một giá trị đúng hoặc sai.
18. Xét biểu thức: "x = 5 + 3 * 2". Theo quy tắc ưu tiên phép toán, giá trị cuối cùng của "x" sẽ là bao nhiêu?
19. Khi gán giá trị cho một biến, điều gì xảy ra nếu kiểu dữ liệu của giá trị không khớp với kiểu dữ liệu khai báo của biến?
A. Tùy ngôn ngữ, có thể xảy ra lỗi hoặc tự động chuyển đổi kiểu dữ liệu.
B. Chương trình luôn bị dừng ngay lập tức với lỗi nghiêm trọng.
C. Giá trị sẽ bị bỏ qua và biến giữ nguyên giá trị cũ.
D. Biến sẽ tự động thay đổi kiểu dữ liệu để phù hợp.
20. Nếu một biến được khai báo là kiểu boolean, nó có thể nhận những giá trị nào?
A. True hoặc False.
B. 0 hoặc 1.
C. Chỉ True.
D. Bất kỳ số nguyên nào.
21. Trong lập trình, "hằng số" khác với "biến" ở điểm nào?
A. Giá trị của hằng số không thể thay đổi sau khi được gán, còn biến có thể thay đổi.
B. Hằng số chỉ lưu trữ số, biến lưu trữ ký tự.
C. Hằng số phải được khai báo bằng chữ hoa, biến thì không.
D. Biến không cần khai báo, hằng số thì cần.
22. Ý nghĩa của việc "khai báo biến" là gì?
A. Thông báo cho trình biên dịch (compiler) hoặc trình thông dịch (interpreter) về tên và kiểu dữ liệu của biến.
B. Gán một giá trị ban đầu cho biến.
C. Xóa bỏ một biến đã tồn tại.
D. Tạo ra một hàm mới trong chương trình.
23. Xem xét lệnh gán: "gia_tri = 10 / 2". Giá trị của biến "gia_tri" sau khi thực hiện là bao nhiêu?
A. 5.0 (nếu phép chia là số thực) hoặc 5 (nếu là số nguyên tùy ngôn ngữ).
B. 5
C. 0
D. Lỗi vì không thể chia cho 2.
24. Lệnh gán "count = count + 1" thường được sử dụng để làm gì?
A. Tăng giá trị của biến "count" lên 1.
B. Giảm giá trị của biến "count" xuống 1.
C. Gán giá trị 1 cho biến "count".
D. Kiểm tra xem "count" có bằng 1 không.
25. Đâu là một lệnh gán sử dụng biểu thức có nhiều toán tử?
A. result = (a + b) * c / 2
B. x = 10
C. name = "Alice"
D. flag = True