Đề thi, bài tập trắc nghiệm online Cơ sở lập trìnhĐề 11 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình Đăng vào 2 Tháng 5, 2026 bởi admin Đề 11 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình Đề 11 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình Số câu30Quiz ID11751 Làm bài Câu 1 1. Trong biểu thức điều kiện, toán tử 'AND' (và) trả về giá trị 'true' khi nào? A A. Khi ít nhất một trong các điều kiện là 'true'. B B. Khi tất cả các điều kiện đều là 'true'. C C. Khi tất cả các điều kiện đều là 'false'. D D. Khi không có điều kiện nào là 'true'. Câu 2 2. Phương pháp lập trình 'top-down' (từ trên xuống) là gì? A A. Bắt đầu viết code từ những chi tiết nhỏ nhất rồi ghép lại thành chương trình lớn. B B. Chia bài toán lớn thành các bài toán nhỏ hơn, giải quyết từng bài toán nhỏ rồi tích hợp lại. C C. Viết chương trình theo phong cách hướng đối tượng. D D. Kiểm thử chương trình từ các module nhỏ nhất đến toàn bộ chương trình. Câu 3 3. Đệ quy (recursion) trong lập trình là gì? A A. Một kỹ thuật sắp xếp dữ liệu. B B. Một phương pháp lặp đi lặp lại một khối lệnh cho đến khi đạt điều kiện dừng. C C. Một hàm tự gọi chính nó để giải quyết bài toán nhỏ hơn. D D. Một cách để xử lý lỗi ngoại lệ. Câu 4 4. Kiểu dữ liệu 'string' (chuỗi) dùng để biểu diễn loại dữ liệu nào? A A. Số nguyên. B B. Số thực. C C. Dãy các ký tự (văn bản). D D. Giá trị logic. Câu 5 5. Trong lập trình hướng đối tượng (OOP), 'đối tượng' (object) là gì? A A. Một kiểu dữ liệu cơ bản. B B. Một thể hiện cụ thể của một lớp (class), chứa dữ liệu và phương thức. C C. Một hàm đặc biệt dùng để xử lý lỗi. D D. Một biến toàn cục được chia sẻ giữa các hàm. Câu 6 6. Khái niệm 'API' (Application Programming Interface) trong lập trình là gì? A A. Một loại ngôn ngữ lập trình mới. B B. Một tập hợp các quy tắc và định nghĩa cho phép các ứng dụng phần mềm giao tiếp và tương tác với nhau. C C. Một công cụ để kiểm thử hiệu suất chương trình. D D. Một phương pháp để mã hóa dữ liệu. Câu 7 7. Độ phức tạp thời gian (time complexity) của thuật toán dùng để đánh giá điều gì? A A. Lượng bộ nhớ mà thuật toán sử dụng. B B. Thời gian thực tế chạy thuật toán trên một máy tính cụ thể. C C. Mức độ khó hiểu của mã thuật toán. D D. Mức độ tăng thời gian thực thi của thuật toán khi kích thước dữ liệu đầu vào tăng lên. Câu 8 8. Trong lập trình web, ngôn ngữ nào thường được dùng để tạo cấu trúc và nội dung của trang web? A A. JavaScript. B B. Python. C C. HTML. D D. SQL. Câu 9 9. Phép toán nào sau đây dùng để gán giá trị cho một biến trong hầu hết các ngôn ngữ lập trình? A A. == B B. + C C. = D D. * Câu 10 10. Lỗi 'syntax error' (lỗi cú pháp) xảy ra khi nào? A A. Khi chương trình cố gắng truy cập vào vùng nhớ không hợp lệ. B B. Khi chương trình thực hiện một phép toán chia cho 0. C C. Khi mã nguồn vi phạm các quy tắc ngữ pháp của ngôn ngữ lập trình. D D. Khi logic chương trình bị sai dẫn đến kết quả không mong muốn. Câu 11 11. Khi nào nên sử dụng cấu trúc dữ liệu 'hàng đợi' (queue)? A A. Khi cần truy cập ngẫu nhiên đến các phần tử. B B. Khi cần xử lý dữ liệu theo thứ tự 'vào trước ra sau' (FIFO - First-In, First-Out). C C. Khi cần xử lý dữ liệu theo thứ tự 'vào sau ra trước' (LIFO - Last-In, First-Out). D D. Khi cần sắp xếp dữ liệu một cách nhanh chóng. Câu 12 12. Ngôn ngữ lập trình bậc cao (high-level programming language) khác với ngôn ngữ lập trình bậc thấp (low-level programming language) như thế nào? A A. Ngôn ngữ bậc cao chạy nhanh hơn ngôn ngữ bậc thấp. B B. Ngôn ngữ bậc cao dễ đọc và dễ viết hơn cho con người, gần với ngôn ngữ tự nhiên hơn, trong khi ngôn ngữ bậc thấp gần với mã máy. C C. Ngôn ngữ bậc cao chỉ dùng cho ứng dụng web, ngôn ngữ bậc thấp cho ứng dụng hệ thống. D D. Ngôn ngữ bậc cao có ít thư viện hỗ trợ hơn ngôn ngữ bậc thấp. Câu 13 13. Vòng lặp 'for' thường được sử dụng khi nào? A A. Khi cần lặp lại một khối lệnh một số lần biết trước. B B. Khi cần lặp lại một khối lệnh vô hạn lần. C C. Khi cần kiểm tra một điều kiện và thực hiện lệnh một lần duy nhất. D D. Khi cần định nghĩa một biến toàn cục. Câu 14 14. RAM (Random Access Memory) được sử dụng để làm gì trong quá trình thực thi chương trình? A A. Lưu trữ dữ liệu lâu dài sau khi tắt máy tính. B B. Lưu trữ hệ điều hành và các chương trình ứng dụng cố định. C C. Lưu trữ tạm thời dữ liệu và mã chương trình đang được thực thi. D D. Thực hiện các phép toán số học và logic. Câu 15 15. Cấu trúc điều khiển 'if-else' được sử dụng để làm gì? A A. Lặp lại một khối lệnh nhiều lần. B B. Xử lý ngoại lệ trong chương trình. C C. Thực hiện một khối lệnh dựa trên điều kiện đúng hoặc sai. D D. Định nghĩa một hàm (function). Câu 16 16. Thuật ngữ 'pseudocode' (mã giả) dùng để chỉ cái gì? A A. Mã nguồn đã được biên dịch sang mã máy. B B. Mã nguồn viết bằng ngôn ngữ lập trình giả định, gần với ngôn ngữ tự nhiên, dùng để mô tả thuật toán. C C. Mã nguồn đã được mã hóa để bảo mật. D D. Mã nguồn được viết bằng ngôn ngữ lập trình bậc thấp. Câu 17 17. Trong lập trình, 'comments' (chú thích) có vai trò gì? A A. Làm tăng tốc độ thực thi chương trình. B B. Giúp giải thích mã nguồn cho người đọc, tăng tính dễ đọc và dễ bảo trì. C C. Bảo vệ mã nguồn khỏi bị sao chép trái phép. D D. Tự động sửa lỗi trong mã nguồn. Câu 18 18. Biến cục bộ (local variable) là gì? A A. Biến được khai báo bên ngoài tất cả các hàm và có thể truy cập từ mọi nơi trong chương trình. B B. Biến được khai báo bên trong một hàm và chỉ có thể truy cập được trong phạm vi hàm đó. C C. Biến dùng để lưu trữ địa chỉ bộ nhớ. D D. Biến được định nghĩa sẵn trong ngôn ngữ lập trình. Câu 19 19. Nguyên tắc 'DRY' (Don't Repeat Yourself) trong lập trình có nghĩa là gì? A A. Viết mã ngắn gọn nhất có thể. B B. Tránh lặp lại mã nguồn, tối ưu hóa khả năng tái sử dụng mã. C C. Viết mã dễ đọc và dễ hiểu. D D. Kiểm thử mã thường xuyên để phát hiện lỗi sớm. Câu 20 20. Phép toán '%’ (modulo) trong lập trình dùng để làm gì? A A. Tính phần trăm của một số. B B. Tính số dư của phép chia nguyên. C C. Tính lũy thừa của một số. D D. Làm tròn số thập phân. Câu 21 21. Thủ tục (procedure) và hàm (function) khác nhau cơ bản ở điểm nào? A A. Thủ tục có thể trả về giá trị, hàm thì không. B B. Hàm có thể trả về giá trị, thủ tục thì không (hoặc trả về kiểu void). C C. Thủ tục chạy nhanh hơn hàm. D D. Hàm chỉ được dùng trong lập trình hướng đối tượng, thủ tục thì không. Câu 22 22. Trong lập trình, 'mảng' (array) là gì? A A. Một kiểu dữ liệu cơ bản dùng để lưu trữ số nguyên. B B. Một tập hợp các phần tử có cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ. C C. Một cấu trúc dữ liệu phức tạp dùng để biểu diễn đồ thị. D D. Một hàm đặc biệt dùng để sắp xếp dữ liệu. Câu 23 23. Kiểu dữ liệu 'boolean' thường được sử dụng để biểu diễn giá trị nào? A A. Số nguyên. B B. Số thực. C C. Chuỗi ký tự. D D. Giá trị logic đúng hoặc sai. Câu 24 24. Hàm (function) trong lập trình có vai trò chính là gì? A A. Tăng tốc độ thực thi chương trình. B B. Tái sử dụng mã và chia nhỏ bài toán thành các phần nhỏ hơn, dễ quản lý. C C. Tối ưu hóa bộ nhớ sử dụng. D D. Bảo vệ chương trình khỏi virus. Câu 25 25. Trong lập trình hướng đối tượng, 'kế thừa' (inheritance) mang lại lợi ích gì? A A. Tăng tốc độ biên dịch chương trình. B B. Cho phép lớp con kế thừa các thuộc tính và phương thức của lớp cha, tái sử dụng mã và tạo cấu trúc phân cấp. C C. Giảm dung lượng bộ nhớ chương trình. D D. Bảo vệ dữ liệu chương trình khỏi bị truy cập trái phép. Câu 26 26. Khái niệm 'biên dịch' (compilation) trong lập trình nghĩa là gì? A A. Quá trình viết mã nguồn chương trình. B B. Quá trình chuyển đổi mã nguồn thành mã máy để máy tính có thể thực thi trực tiếp. C C. Quá trình kiểm thử và sửa lỗi chương trình. D D. Quá trình chạy chương trình từng dòng một. Câu 27 27. Trong lập trình, biến (variable) được sử dụng để làm gì? A A. Lưu trữ và đại diện cho dữ liệu có thể thay đổi trong quá trình thực thi chương trình. B B. Thực hiện các phép toán số học phức tạp. C C. Điều khiển luồng thực thi của chương trình. D D. Định nghĩa cấu trúc dữ liệu tĩnh. Câu 28 28. Kiểu dữ liệu 'integer' (số nguyên) thường được dùng để biểu diễn loại dữ liệu nào? A A. Các số hữu tỷ. B B. Các số nguyên không có phần thập phân. C C. Chuỗi ký tự. D D. Giá trị logic (đúng/sai). Câu 29 29. Sự khác biệt chính giữa 'biên dịch' và 'thông dịch' (interpretation) là gì? A A. Biên dịch nhanh hơn thông dịch. B B. Biên dịch tạo ra mã máy thực thi trực tiếp, thông dịch thực thi mã nguồn từng dòng một. C C. Thông dịch chỉ dùng cho ngôn ngữ bậc cao, biên dịch cho ngôn ngữ bậc thấp. D D. Biên dịch dễ gỡ lỗi hơn thông dịch. Câu 30 30. Trong ngữ cảnh lập trình, 'debug' (gỡ lỗi) là quá trình gì? A A. Viết tài liệu hướng dẫn sử dụng chương trình. B B. Tìm và sửa các lỗi trong mã nguồn chương trình. C C. Tối ưu hóa hiệu suất chương trình. D D. Thiết kế giao diện người dùng cho chương trình. Đề 10 – Bài tập, đề thi trắc nghiệm online Nhập môn Việt ngữ Đề 12 – Bài tập, đề thi trắc nghiệm online Phân tích và thiết kế hệ thống thông tin