Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cơ Sở Lập Trình - Đề 06 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Trong lập trình, thuật ngữ "biến" dùng để chỉ điều gì?
- A. Một hàm số toán học.
- B. Một vùng nhớ được đặt tên để lưu trữ dữ liệu.
- C. Một loại lỗi cú pháp thường gặp.
- D. Một lệnh điều khiển luồng chương trình.
Câu 2: Kiểu dữ liệu "số nguyên" (integer) thường được sử dụng để lưu trữ loại thông tin nào?
- A. Các số đếm và số lượng.
- B. Ngày tháng và thời gian.
- C. Văn bản và ký tự.
- D. Giá trị đúng hoặc sai.
Câu 3: Cấu trúc điều khiển "IF-ELSE" trong lập trình được sử dụng để làm gì?
- A. Lặp lại một đoạn mã nhiều lần.
- B. Định nghĩa một hàm mới.
- C. Thực hiện các hành động khác nhau tùy thuộc vào một điều kiện.
- D. Nhập dữ liệu từ người dùng.
Câu 4: Vòng lặp "FOR" thường được sử dụng khi nào?
- A. Khi cần lặp vô hạn lần.
- B. Khi biết trước số lần lặp cần thực hiện.
- C. Khi cần lặp cho đến khi một điều kiện sai.
- D. Khi muốn tạo ra một biến mới.
Câu 5: Hàm (function) trong lập trình có vai trò chính là gì?
- A. Tăng tốc độ thực thi chương trình.
- B. Giảm dung lượng bộ nhớ sử dụng.
- C. Bảo vệ chương trình khỏi virus.
- D. Tổ chức mã nguồn thành các khối nhỏ, dễ quản lý và tái sử dụng.
Câu 6: "Mảng" (array) là cấu trúc dữ liệu dùng để lưu trữ?
- A. Các biến có kiểu dữ liệu khác nhau.
- B. Các hàm và thủ tục.
- C. Một tập hợp các phần tử có cùng kiểu dữ liệu.
- D. Địa chỉ bộ nhớ của các biến.
Câu 7: "Thuật toán" (algorithm) trong lập trình được hiểu là gì?
- A. Một dãy các bước hướng dẫn để giải quyết một vấn đề.
- B. Một ngôn ngữ lập trình cụ thể.
- C. Một công cụ để kiểm thử chương trình.
- D. Một loại biến đặc biệt.
Câu 8: "Gỡ lỗi" (debugging) là quá trình?
- A. Viết mã nguồn chương trình.
- B. Tìm và sửa lỗi trong chương trình.
- C. Biên dịch chương trình sang mã máy.
- D. Thiết kế giao diện người dùng.
Câu 9: "Biên dịch" (compilation) là quá trình chuyển đổi mã nguồn chương trình sang?
- A. Ngôn ngữ lập trình bậc cao khác.
- B. Mã giả (pseudocode).
- C. Mã máy (machine code) để máy tính hiểu được.
- D. Dạng văn bản dễ đọc hơn cho lập trình viên.
Câu 10: "Thông dịch" (interpretation) khác với biên dịch ở điểm nào?
- A. Thông dịch tạo ra mã máy trước khi thực thi.
- B. Thông dịch nhanh hơn biên dịch.
- C. Thông dịch chỉ dùng cho ngôn ngữ bậc thấp.
- D. Thông dịch thực thi mã nguồn từng dòng một, không cần biên dịch toàn bộ trước.
Câu 11: Trong lập trình hướng đối tượng (OOP), "đối tượng" (object) là gì?
- A. Một kiểu dữ liệu đặc biệt.
- B. Một thể hiện cụ thể của một lớp, bao gồm dữ liệu và phương thức.
- C. Một hàm số có thể tái sử dụng.
- D. Một cấu trúc điều khiển phức tạp.
Câu 12: "Lớp" (class) trong OOP được dùng để làm gì?
- A. Lưu trữ dữ liệu tạm thời.
- B. Thực hiện các phép toán số học.
- C. Định nghĩa khuôn mẫu cho các đối tượng.
- D. Quản lý bộ nhớ.
Câu 13: Nguyên tắc "Kế thừa" (inheritance) trong OOP cho phép?
- A. Một lớp con kế thừa các thuộc tính và phương thức từ lớp cha.
- B. Các đối tượng giao tiếp với nhau.
- C. Ẩn thông tin bên trong đối tượng.
- D. Đóng gói dữ liệu và phương thức vào một đơn vị.
Câu 14: "Đóng gói" (encapsulation) trong OOP nghĩa là?
- A. Tạo ra nhiều bản sao của đối tượng.
- B. Thay đổi kiểu dữ liệu của thuộc tính.
- C. Sắp xếp các đối tượng theo thứ tự.
- D. Gom nhóm dữ liệu và phương thức liên quan vào một đơn vị (lớp) và kiểm soát truy cập từ bên ngoài.
Câu 15: "Tính đa hình" (polymorphism) trong OOP cho phép?
- A. Tạo ra các lớp mới từ các lớp đã có.
- B. Các đối tượng thuộc các lớp khác nhau có thể phản ứng khác nhau với cùng một phương thức.
- C. Ẩn giấu dữ liệu bên trong đối tượng.
- D. Chia chương trình thành các mô-đun nhỏ.
Câu 16: Trong quản lý bộ nhớ, "rò rỉ bộ nhớ" (memory leak) xảy ra khi?
- A. Chương trình sử dụng quá nhiều bộ nhớ.
- B. Bộ nhớ bị hỏng vật lý.
- C. Bộ nhớ đã cấp phát không được giải phóng sau khi không còn sử dụng.
- D. Bộ nhớ được chia sẻ giữa các chương trình.
Câu 17: "Con trỏ" (pointer) trong lập trình là gì?
- A. Một biến lưu trữ địa chỉ bộ nhớ của một biến khác.
- B. Một kiểu dữ liệu đặc biệt dùng cho số thực.
- C. Một hàm dùng để nhập dữ liệu từ bàn phím.
- D. Một cấu trúc điều khiển vòng lặp.
Câu 18: "Ngôn ngữ lập trình bậc cao" (high-level programming language) có đặc điểm gì?
- A. Khó đọc và viết đối với người lập trình.
- B. Gần với ngôn ngữ tự nhiên, dễ đọc và viết hơn.
- C. Chỉ có thể chạy trên một loại máy tính cụ thể.
- D. Yêu cầu kiến thức sâu về phần cứng máy tính.
Câu 19: "Mã giả" (pseudocode) được sử dụng để làm gì?
- A. Thay thế ngôn ngữ lập trình thật.
- B. Biên dịch chương trình.
- C. Mô tả thuật toán một cách dễ hiểu, gần với ngôn ngữ tự nhiên.
- D. Kiểm tra lỗi cú pháp.
Câu 20: Trong biểu thức logic, toán tử "AND" trả về giá trị "true" khi nào?
- A. Khi một trong hai toán hạng là "true".
- B. Khi cả hai toán hạng là "false".
- C. Khi chỉ toán hạng đầu tiên là "true".
- D. Khi cả hai toán hạng đều là "true".
Câu 21: "IDE" (Integrated Development Environment) là gì?
- A. Một ngôn ngữ lập trình mới.
- B. Một phần mềm cung cấp các công cụ hỗ trợ lập trình như soạn thảo, biên dịch, gỡ lỗi.
- C. Một loại hệ điều hành.
- D. Một giao thức mạng.
Câu 22: "Hằng số" (constant) trong lập trình khác với biến ở điểm nào?
- A. Hằng số có thể thay đổi giá trị, biến thì không.
- B. Hằng số được lưu trữ trong bộ nhớ khác với biến.
- C. Hằng số có giá trị không thay đổi trong quá trình thực thi chương trình, biến thì có thể.
- D. Hằng số chỉ dùng cho số, biến chỉ dùng cho văn bản.
Câu 23: "Kiểu dữ liệu boolean" được sử dụng để biểu diễn loại giá trị nào?
- A. Giá trị logic đúng hoặc sai.
- B. Số nguyên âm và dương.
- C. Số thực có phần thập phân.
- D. Ký tự và chuỗi văn bản.
Câu 24: "Đệ quy" (recursion) là một kỹ thuật lập trình mà trong đó?
- A. Vòng lặp được thực hiện vô hạn lần.
- B. Chương trình tự động sửa lỗi.
- C. Các biến được khai báo tự động.
- D. Một hàm tự gọi chính nó để giải quyết bài toán nhỏ hơn.
Câu 25: "Kiểm thử đơn vị" (unit testing) là loại kiểm thử tập trung vào?
- A. Toàn bộ hệ thống phần mềm.
- B. Giao diện người dùng.
- C. Từng thành phần nhỏ (đơn vị) của chương trình.
- D. Hiệu năng của chương trình.
Câu 26: "Độ phức tạp thuật toán" (algorithm complexity) dùng để đánh giá điều gì?
- A. Mức độ dễ hiểu của thuật toán.
- B. Hiệu quả của thuật toán về mặt thời gian thực thi và sử dụng bộ nhớ.
- C. Kích thước mã nguồn của thuật toán.
- D. Số lượng lỗi trong thuật toán.
Câu 27: "Tính trừu tượng hóa" (abstraction) trong lập trình là gì?
- A. Làm cho chương trình trở nên phức tạp hơn.
- B. Sao chép mã nguồn từ nơi khác.
- C. Tối ưu hóa tốc độ chương trình.
- D. Ẩn đi các chi tiết phức tạp và chỉ tập trung vào các khía cạnh quan trọng.
Câu 28: "Phân tích bài toán" là bước đầu tiên trong quy trình?
- A. Giải quyết một bài toán lập trình.
- B. Kiểm thử chương trình.
- C. Viết tài liệu hướng dẫn sử dụng.
- D. Triển khai phần mềm.
Câu 29: "Lưu đồ thuật toán" (flowchart) dùng để?
- A. Biên dịch mã nguồn.
- B. Biểu diễn thuật toán bằng sơ đồ hình khối.
- C. Gỡ lỗi chương trình.
- D. Viết mã chương trình.
Câu 30: "Mã nguồn mở" (open source) nghĩa là?
- A. Mã nguồn được bảo mật tuyệt đối.
- B. Mã nguồn chỉ dành cho nhà phát triển.
- C. Mã nguồn được công khai và cho phép người dùng tự do sử dụng, sửa đổi và phân phối.
- D. Mã nguồn chỉ chạy trên hệ điều hành Linux.