1. Cấu trúc lặp while trong lập trình được sử dụng khi nào?
A. Khi số lần lặp đã biết trước.
B. Khi cần lặp lại một khối lệnh cho đến khi một điều kiện nào đó không còn đúng.
C. Khi chỉ cần thực hiện một khối lệnh duy nhất một lần.
D. Khi cần lặp lại một khối lệnh một số lần cố định.
2. Khi so sánh hai giá trị và muốn biết chúng có bằng nhau hay không, ta sử dụng toán tử so sánh nào?
3. Phát biểu nào sau đây đúng về toán tử gán (assignment operator) trong lập trình?
A. Dùng để so sánh hai giá trị.
B. Dùng để thực hiện phép cộng.
C. Dùng để gán giá trị của biểu thức bên phải cho biến ở bên trái.
D. Dùng để kết thúc một câu lệnh.
4. Trong lập trình, mảng (array) là gì?
A. Một tập hợp các hàm độc lập.
B. Một cấu trúc dữ liệu lưu trữ một tập hợp các phần tử cùng kiểu dữ liệu, có thể truy cập bằng chỉ số.
C. Một lệnh để dừng chương trình.
D. Một loại biến chỉ chứa một giá trị duy nhất.
5. Trong Python, ký tự nào được sử dụng để bắt đầu một dòng chú thích (comment)?
A. //
B. /* ... */
C. #
D. --
6. Khi hai hoặc nhiều điều kiện cần phải đồng thời đúng để một hành động được thực thi, ta thường sử dụng toán tử logic nào?
A. OR
B. NOT
C. AND
D. XOR
7. Phát biểu nào sau đây mô tả đúng về cấu trúc dữ liệu (data structure)?
A. Là một loại biến.
B. Là một cách tổ chức và lưu trữ dữ liệu trong máy tính để có thể truy cập và thao tác hiệu quả.
C. Là một loại thuật toán.
D. Là một ngôn ngữ lập trình.
8. Trong lập trình, ngôn ngữ biên dịch (compiled language) khác với ngôn ngữ thông dịch (interpreted language) ở điểm nào?
A. Ngôn ngữ biên dịch chạy nhanh hơn.
B. Ngôn ngữ biên dịch chuyển toàn bộ mã nguồn thành mã máy trước khi thực thi, còn ngôn ngữ thông dịch thực thi từng dòng lệnh một.
C. Ngôn ngữ thông dịch yêu cầu phần cứng mạnh hơn.
D. Ngôn ngữ biên dịch không cần trình biên dịch.
9. Một thuật toán có thể được biểu diễn bằng những hình thức nào?
A. Chỉ bằng mã máy.
B. Chỉ bằng ngôn ngữ tự nhiên.
C. Bằng ngôn ngữ tự nhiên, mã giả (pseudocode) hoặc sơ đồ khối (flowchart).
D. Chỉ bằng sơ đồ khối.
10. Biến trong lập trình là gì?
A. Một chuỗi các lệnh được thực thi tuần tự.
B. Một giá trị không thay đổi trong quá trình thực thi chương trình.
C. Một định danh đại diện cho một vùng nhớ lưu trữ dữ liệu có thể thay đổi.
D. Một cấu trúc điều khiển luồng chương trình.
11. Trong Python, kiểu dữ liệu string (chuỗi) dùng để biểu diễn loại thông tin nào?
A. Các số nguyên.
B. Các ký tự hoặc một dãy các ký tự.
C. Các giá trị đúng hoặc sai (Boolean).
D. Các số thực có dấu phẩy động.
12. Trong lập trình hướng đối tượng (OOP), lớp (class) là gì?
A. Là một đối tượng cụ thể đã được tạo ra.
B. Là một bản thiết kế hoặc khuôn mẫu để tạo ra các đối tượng, định nghĩa các thuộc tính (attributes) và phương thức (methods).
C. Là một hàm thực hiện một tác vụ.
D. Là một biến toàn cục.
13. Phát biểu nào sau đây đúng về vòng lặp vô hạn (infinite loop) trong lập trình?
A. Là vòng lặp chỉ chạy một lần.
B. Là vòng lặp mà điều kiện dừng không bao giờ được thỏa mãn, khiến chương trình lặp lại mãi mãi.
C. Là vòng lặp được thiết kế để dừng sau một số lần xác định.
D. Là vòng lặp chỉ hoạt động khi có kết nối mạng.
14. Phát biểu nào sau đây đúng về biểu thức (expression) trong lập trình?
A. Là một câu lệnh hoàn chỉnh để thực thi một hành động.
B. Là một tổ hợp các toán tử, biến và giá trị, khi được đánh giá sẽ cho ra một giá trị duy nhất.
C. Là một định nghĩa về kiểu dữ liệu.
D. Là một chương trình con không trả về giá trị.
15. Trong Python, cấu trúc dữ liệu dictionary (từ điển) được sử dụng để lưu trữ dữ liệu theo cặp nào?
A. Chỉ số và giá trị.
B. Khóa (key) và giá trị (value).
C. Chỉ số và kiểu dữ liệu.
D. Tên biến và giá trị.
16. Phát biểu nào sau đây mô tả đúng về gỡ lỗi (debugging) trong lập trình?
A. Viết code nhanh nhất có thể.
B. Quá trình tìm kiếm và sửa lỗi (bug) trong mã nguồn chương trình.
C. Tối ưu hóa hiệu suất chương trình.
D. Thiết kế giao diện người dùng.
17. Trong Python, cấu trúc dữ liệu nào cho phép lưu trữ một tập hợp các phần tử không thay đổi thứ tự và không cho phép trùng lặp?
A. List
B. Tuple
C. Set
D. Dictionary
18. Trong ngôn ngữ lập trình Python, câu lệnh nào sau đây được sử dụng để hiển thị thông tin ra màn hình?
A. input()
B. print()
C. output()
D. display()
19. Phát biểu nào sau đây mô tả đúng về thuật toán?
A. Là một chương trình máy tính hoàn chỉnh.
B. Là tập hợp các bước hữu hạn, rõ ràng để giải quyết một vấn đề hoặc thực hiện một nhiệm vụ.
C. Là một ngôn ngữ lập trình được sử dụng để viết mã.
D. Là một thiết bị phần cứng dùng để xử lý dữ liệu.
20. Phát biểu nào sau đây là đúng về hàm (function) trong lập trình?
A. Là một biến lưu trữ dữ liệu.
B. Là một khối mã có tên, có thể được gọi để thực thi một nhiệm vụ cụ thể và có thể nhận đầu vào và trả về kết quả.
C. Là một cấu trúc dữ liệu dùng để sắp xếp thông tin.
D. Là một lỗi cú pháp trong chương trình.
21. Trong lập trình, vòng lặp for thường được sử dụng khi nào?
A. Khi không biết trước số lần lặp.
B. Khi điều kiện lặp phụ thuộc vào một biến đếm hoặc một phạm vi xác định.
C. Khi cần dừng vòng lặp ngay lập tức.
D. Khi chỉ cần thực hiện một lần duy nhất.
22. Khi hai hoặc nhiều điều kiện cần chỉ một trong số chúng đúng để một hành động được thực thi, ta thường sử dụng toán tử logic nào?
A. AND
B. NOT
C. XOR
D. OR
23. Cấu trúc rẽ nhánh if-else được sử dụng để làm gì trong lập trình?
A. Lặp lại một khối lệnh nhiều lần.
B. Thực hiện một hoặc nhiều hành động dựa trên việc kiểm tra một điều kiện logic.
C. Định nghĩa một hàm mới.
D. Gán giá trị cho một biến.
24. Phát biểu nào sau đây mô tả đúng về biến cục bộ (local variable) trong lập trình?
A. Là biến có thể truy cập từ bất kỳ đâu trong chương trình.
B. Là biến chỉ tồn tại và có thể truy cập bên trong một hàm hoặc một khối lệnh cụ thể.
C. Là biến được khai báo bên ngoài tất cả các hàm.
D. Là biến lưu trữ kết quả của toàn bộ chương trình.
25. Phát biểu nào sau đây đúng về kiểu dữ liệu (data type) trong lập trình?
A. Là cách chương trình lưu trữ thông tin.
B. Là một cách phân loại dữ liệu, xác định loại giá trị mà một biến có thể mang và các phép toán có thể thực hiện trên nó.
C. Là một bộ phận của phần cứng máy tính.
D. Là một lệnh để khởi động chương trình.