1. Trong ngữ cảnh của lệnh gán, biểu thức ở vế phải của toán tử = sẽ được đánh giá như thế nào?
A. Được đánh giá trước, kết quả của biểu thức sau đó được gán cho biến ở vế trái.
B. Được gán trực tiếp cho biến mà không cần đánh giá.
C. Được đánh giá sau khi giá trị đã được gán cho biến.
D. Chỉ được đánh giá nếu biến ở vế trái đã tồn tại.
2. Lệnh gán trong lập trình dùng để làm gì?
A. Khởi tạo giá trị cho biến hoặc thay đổi giá trị của biến.
B. Dùng để hiển thị thông báo ra màn hình.
C. Thực hiện các phép toán số học phức tạp.
D. Kiểm tra điều kiện đúng hay sai.
3. Phát biểu nào sau đây là đúng về việc đặt tên biến?
A. Tên biến nên ngắn gọn nhưng vẫn mô tả được nội dung dữ liệu.
B. Tên biến nên dài và chi tiết để tránh nhầm lẫn.
C. Tên biến có thể trùng với từ khóa của ngôn ngữ lập trình.
D. Tên biến không cần có ý nghĩa, chỉ cần dễ gõ.
4. Nếu `x = 5` và `y = x * 2`, sau đó `x = 10`, giá trị của `y` sẽ là bao nhiêu?
A. 10 (y không thay đổi khi x thay đổi sau đó)
B. 20 (y được tính lại khi x thay đổi)
C. 15 (y = 5 * 2 + 10)
D. 25 (y = 10 * 2 + 5)
5. Phát biểu nào sau đây là đúng về việc gán giá trị cho biến có kiểu dữ liệu khác nhau?
A. Một số ngôn ngữ lập trình cho phép ép kiểu (type casting) để chuyển đổi giá trị từ kiểu này sang kiểu khác trước khi gán.
B. Luôn luôn có thể gán giá trị của mọi kiểu dữ liệu cho nhau.
C. Giá trị của chuỗi ký tự không bao giờ có thể được gán cho biến số.
D. Biến số chỉ có thể nhận giá trị số.
6. Nếu một biến `tuoi` có kiểu dữ liệu là số nguyên và được gán giá trị 20, sau đó thực hiện lệnh `tuoi = tuoi + 5`, giá trị mới của biến `tuoi` sẽ là bao nhiêu?
7. Trong lập trình, biến được xem như là gì?
A. Một vùng nhớ được đặt tên để lưu trữ dữ liệu.
B. Một hàm để thực hiện các phép tính.
C. Một chuỗi ký tự cố định không thay đổi.
D. Một dòng lệnh để điều khiển chương trình.
8. Phát biểu nào sau đây về sự khác biệt giữa biến và hằng số là đúng nhất?
A. Giá trị của biến có thể thay đổi, còn giá trị của hằng số thì không.
B. Biến luôn là số, còn hằng số có thể là chuỗi.
C. Biến được khai báo bằng dấu chấm than, hằng số bằng dấu hỏi.
D. Chỉ có biến mới có thể được gán giá trị.
9. Lệnh `ten = Nguyen Van A` có ý nghĩa gì?
A. Gán chuỗi ký tự Nguyen Van A cho biến ten.
B. Gán giá trị số 10 cho biến ten.
C. In ra màn hình giá trị của biến ten.
D. So sánh biến ten với chuỗi Nguyen Van A.
10. Phát biểu nào sau đây KHÔNG đúng về biến trong lập trình?
A. Tên biến phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới.
B. Tên biến có thể chứa các ký tự đặc biệt như @, #, $.
C. Tên biến phân biệt chữ hoa và chữ thường.
D. Tên biến phải có ý nghĩa, mô tả dữ liệu nó lưu trữ.
11. Phát biểu nào sau đây mô tả đúng nhất về hằng số (constant) trong lập trình?
A. Là một biến có giá trị không thay đổi trong suốt quá trình thực thi chương trình.
B. Là một biến chỉ có thể được gán giá trị một lần duy nhất.
C. Là một biến có giá trị được xác định ngẫu nhiên.
D. Là một biến có thể thay đổi giá trị nhiều lần.
12. Nếu `a = 3`, `b = 3`, thì phép so sánh `a == b` (so sánh bằng) sẽ trả về kết quả gì?
A. False (vì kiểu dữ liệu khác nhau).
B. True (vì giá trị tương đương).
C. Lỗi vì so sánh khác kiểu dữ liệu.
D. Có thể True hoặc False tùy thuộc ngôn ngữ.
13. Phát biểu nào sau đây về kiểu dữ liệu của biến là đúng?
A. Kiểu dữ liệu xác định loại giá trị mà biến có thể lưu trữ và các phép toán có thể thực hiện trên biến đó.
B. Tất cả các biến trong một chương trình đều phải có cùng một kiểu dữ liệu.
C. Kiểu dữ liệu của biến chỉ có thể là số hoặc chuỗi ký tự.
D. Kiểu dữ liệu của biến được xác định ngẫu nhiên khi khai báo.
14. Xem xét đoạn mã: `a = 5; b = 10; c = a + b;`. Sau khi thực thi, giá trị của biến c là bao nhiêu?
15. Nếu có biến `a = 10` và `b = 5`, thì biểu thức `a + b` sẽ cho kết quả gì trong hầu hết các ngôn ngữ lập trình hiện đại?
A. Lỗi do không thể cộng số với chuỗi.
B. 15 (biến chuỗi được tự động chuyển thành số).
C. 105 (nối chuỗi).
D. Lỗi do kiểu dữ liệu không tương thích.
16. Nếu một biến `gia_tri` được gán giá trị 7.5, và ta muốn thay đổi nó thành 10, lệnh gán nào là đúng?
A. `gia_tri = 10`
B. `gia_tri = gia_tri - 7.5 + 10`
C. `change gia_tri to 10`
D. `gia_tri = 7.5 + 10`
17. Đâu là một cách khai báo biến hợp lệ trong Python (một ngôn ngữ lập trình phổ biến)?
A. `my_variable = 10`
B. `int my_variable = 10`
C. `my_variable int = 10`
D. `variable my_variable = 10`
18. Xem xét lệnh: `ten_hoc_sinh = An; diem_trung_binh = 8.5;`. Nếu muốn in ra màn hình câu Học sinh An có điểm trung bình là 8.5, lệnh nào phổ biến nhất?
A. In ra màn hình chuỗi kết hợp từ các biến và văn bản cố định.
B. Chỉ có thể in ra giá trị của từng biến một.
C. Yêu cầu biến phải cùng kiểu dữ liệu để in ra cùng nhau.
D. Phải chuyển tất cả biến về dạng chuỗi trước khi in.
19. Phát biểu nào sau đây mô tả đúng nhất vai trò của tên biến?
A. Là một định danh để con người và máy tính xác định và truy cập đến một vùng nhớ cụ thể.
B. Chỉ có con người sử dụng để đọc hiểu chương trình.
C. Chỉ máy tính sử dụng để quản lý bộ nhớ.
D. Là một phần của cú pháp lệnh gán.
20. Xem xét lệnh gán sau: `diem = 8.5`. Ý nghĩa của lệnh này là gì?
A. Gán giá trị số thực 8.5 cho biến có tên là diem.
B. So sánh biến diem với giá trị 8.5.
C. Tạo một biến mới tên diem và gán giá trị chuỗi 8.5.
D. In ra màn hình giá trị của biến diem.
21. Trong lập trình, biến cục bộ (local variable) là gì?
A. Biến chỉ có thể được truy cập và sử dụng bên trong phạm vi mà nó được khai báo (ví dụ: bên trong một hàm).
B. Biến có thể truy cập từ bất kỳ đâu trong chương trình.
C. Biến được khai báo ở cấp độ toàn cục của chương trình.
D. Biến tự động bị xóa khi chương trình kết thúc.
22. Việc sử dụng biến có kiểu dữ liệu phù hợp với giá trị lưu trữ mang lại lợi ích gì?
A. Tăng hiệu quả sử dụng bộ nhớ và giúp chương trình chạy nhanh hơn.
B. Làm cho tên biến trở nên phức tạp hơn.
C. Chỉ cho phép thực hiện các phép toán chuỗi.
D. Ngăn chặn mọi thay đổi giá trị của biến.
23. Khi thực hiện phép toán `5 / 2` trong nhiều ngôn ngữ lập trình, kết quả thường là gì nếu cả hai toán hạng đều là số nguyên?
A. 2 (phép chia lấy phần nguyên)
B. 2.5 (phép chia lấy số thực)
C. Lỗi vì không thể chia số nguyên cho số nguyên.
D. 1 (làm tròn lên).
24. Trong các tên biến sau đây, tên nào KHÔNG hợp lệ theo quy tắc đặt tên biến phổ biến?
A. so_lieu
B. 1_so_lieu
C. SoLieu
D. _SoLieu
25. Phát biểu nào sau đây là đúng về lệnh gán trong Python?
A. Python sử dụng toán tử `=` cho lệnh gán.
B. Python sử dụng toán tử `:=` cho lệnh gán.
C. Python sử dụng toán tử `==` cho lệnh gán.
D. Python sử dụng toán tử `=>` cho lệnh gán.