Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cơ Sở Lập Trình - Đề 03 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 dòng lệnh thực thi một hành động cụ thể.
- B. Một vùng nhớ được đặt tên, dùng để lưu trữ dữ liệu có thể thay đổi trong quá trình chạy chương trình.
- C. Một giá trị không đổi được sử dụng trong chương trình.
- D. Tên của một chương trình máy tính.
Câu 2: Kiểu dữ liệu "boolean" thường được sử dụng để biểu diễn loại thông tin nào?
- A. Số nguyên.
- B. Số thực.
- C. Giá trị logic đúng hoặc sai.
- D. Ký tự chữ và số.
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. Thực hiện một khối lệnh nếu một điều kiện là đúng, và một khối lệnh khác nếu điều kiện sai.
- B. Lặp lại một khối lệnh một số lần cố định.
- C. Định nghĩa một tập hợp các biến.
- D. Thực hiện các phép toán số học.
Câu 4: Vòng lặp "FOR" thường được sử dụng khi nào?
- A. Khi cần lặp lại một khối lệnh cho đến khi một điều kiện sai.
- B. Khi biết trước số lần lặp lại khối lệnh.
- C. Khi cần lặp lại vô hạn lần một khối lệnh.
- D. Để khai báo biến cục bộ.
Câu 5: Hàm (function) trong lập trình có vai trò gì?
- A. Tăng tốc độ thực thi chương trình.
- B. Giảm thiểu sử dụng bộ nhớ.
- C. Làm cho chương trình khó đọc hơn.
- D. Tổ chức mã nguồn thành các khối độc lập, tái sử dụng được.
Câu 6: "Mảng" (array) là cấu trúc dữ liệu dùng để làm gì?
- A. Lưu trữ dữ liệu theo cấu trúc cây.
- B. Lưu trữ dữ liệu dạng hàng đợi.
- C. Lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu dưới một tên duy nhất.
- D. Đại diện cho mối quan hệ giữa các đối tượng.
Câu 7: "Thuật toán" (algorithm) trong lập trình là gì?
- A. Một dãy các bước hướng dẫn rõ ràng để giải quyết một vấn đề cụ thể.
- B. Một ngôn ngữ lập trình cụ thể.
- C. Một loại lỗi trong chương trình.
- D. Phần cứng máy tính dùng để chạy chương trình.
Câu 8: "Gỡ lỗi" (debugging) là quá trình làm gì trong lập trình?
- A. Tối ưu hóa hiệu suất chương trình.
- B. Tìm và sửa các lỗi trong mã nguồn chương trình.
- C. Viết tài liệu hướng dẫn sử dụng chương trình.
- D. Biên dịch mã nguồn thành mã máy.
Câu 9: Ngôn ngữ lập trình bậc cao (high-level language) có ưu điểm gì so với ngôn ngữ lập trình bậc thấp (low-level language)?
- A. Thực thi nhanh hơn trên phần cứng.
- B. Truy cập trực tiếp vào phần cứng máy tính.
- C. Dễ đọc, dễ viết và dễ bảo trì hơn.
- D. Sử dụng bộ nhớ hiệu quả hơn.
Câu 10: "Biên dịch" (compilation) là quá trình chuyển đổi mã nguồn chương trình sang dạng nào?
- A. Mã giả (pseudocode).
- B. Mã thông dịch (interpreted code).
- C. Mã HTML.
- D. Mã máy (machine code) mà máy tính có thể trực tiếp thực thi.
Câu 11: "Thông dịch" (interpretation) khác với "biên dịch" (compilation) ở điểm nào chính?
- A. Thông dịch tạo ra mã máy, biên dịch thì không.
- B. Thông dịch thực thi mã nguồn từng dòng lệnh một, còn biên dịch chuyển đổi toàn bộ mã nguồn trước khi thực thi.
- C. Biên dịch chậm hơn thông dịch.
- D. Chỉ có ngôn ngữ biên dịch mới có thể chạy trên nhiều hệ điều hành.
Câu 12: Trong lập trình hướng đối tượng (OOP), "đối tượng" (object) là gì?
- A. Một hàm trong chương trình.
- B. Một kiểu dữ liệu cơ bản.
- C. Một thể hiện cụ thể của một lớp (class), bao gồm dữ liệu (thuộc tính) và hành vi (phương thức).
- D. Một cấu trúc điều khiển luồng.
Câu 13: "Lớp" (class) trong lập trình hướng đối tượng (OOP) có vai trò gì?
- A. Khuôn mẫu hoặc bản thiết kế để tạo ra các đối tượng.
- B. Một đối tượng cụ thể trong chương trình.
- C. Một phương thức đặc biệt của đối tượng.
- D. Một biến toàn cục trong chương trình OOP.
Câu 14: "Kế thừa" (inheritance) là một khái niệm quan trọng trong OOP, nó cho phép làm gì?
- A. Ẩn thông tin bên trong đối tượng.
- B. Đóng gói dữ liệu và phương thức lại với nhau.
- C. Thực hiện nhiều hành động khác nhau dựa trên kiểu đối tượng.
- D. Tạo ra một lớp mới (lớp con) kế thừa các thuộc tính và phương thức từ một lớp đã có (lớp cha).
Câu 15: "Đa hình" (polymorphism) trong OOP nghĩa là gì?
- A. Khả năng một lớp có nhiều thuộc tính.
- B. Khả năng 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 hoặc toán tử.
- C. Khả năng tạo ra nhiều đối tượng từ một lớp.
- D. Khả năng một đối tượng có nhiều lớp cha.
Câu 16: "Trừu tượng hóa" (abstraction) trong OOP giúp ích gì cho việc lập trình?
- A. Tăng tính bảo mật cho dữ liệu.
- B. Giảm kích thước mã nguồn.
- C. Giấu đi các chi tiết phức tạp và chỉ hiển thị những thông tin cần thiết, giúp đơn giản hóa việc thiết kế và sử dụng đối tượng.
- D. Tăng tốc độ thực thi chương trình.
Câu 17: "Đóng gói" (encapsulation) trong OOP có mục đích chính là gì?
- A. Kết hợp dữ liệu (thuộc tính) và phương thức (hành vi) của đối tượng vào trong một đơn vị duy nhất (lớp), bảo vệ dữ liệu khỏi bị truy cập và sửa đổi trực tiếp từ bên ngoài.
- B. Tạo ra các đối tượng có kích thước nhỏ hơn.
- C. Cho phép kế thừa giữa các lớp.
- D. Thực hiện đa hình trong chương trình.
Câu 18: "Pseudocode" (mã giả) được sử dụng để làm gì trong quá trình phát triển phần mềm?
- A. Biên dịch mã nguồn thành mã máy.
- B. Mô tả thuật toán hoặc logic của chương trình một cách dễ hiểu, gần với ngôn ngữ tự nhiên, trước khi viết mã bằng ngôn ngữ lập trình cụ thể.
- C. Gỡ lỗi chương trình.
- D. Tối ưu hóa hiệu suất chương trình.
Câu 19: Lỗi "syntax error" (lỗi cú pháp) xảy ra khi nào?
- A. Khi chương trình cố gắng truy cập vào vùng nhớ không hợp lệ.
- B. Khi thuật toán của chương trình có lỗi logic.
- C. Khi mã nguồn chương trình không tuân thủ các quy tắc ngữ pháp của ngôn ngữ lập trình.
- D. Khi phần cứng máy tính gặp sự cố.
Câu 20: Lỗi "logic error" (lỗi logic) là loại lỗi gì?
- A. Lỗi do viết sai cú pháp ngôn ngữ.
- B. Lỗi do thiếu bộ nhớ để chạy chương trình.
- C. Lỗi do hệ điều hành không tương thích.
- D. Lỗi trong thuật toán hoặc cách tiếp cận giải quyết vấn đề của chương trình, khiến chương trình chạy không đúng như mong đợi mặc dù không có lỗi cú pháp.
Câu 21: "Variable scope" (phạm vi biến) xác định điều gì?
- A. Kiểu dữ liệu của biến.
- B. Vùng mã nguồn mà một biến có thể được truy cập và sử dụng.
- C. Kích thước bộ nhớ mà biến chiếm giữ.
- D. Tốc độ truy cập vào biến.
Câu 22: "Hằng số" (constant) khác với "biến" (variable) ở điểm nào?
- A. Hằng số được lưu trữ trong bộ nhớ nhanh hơn biến.
- B. Biến có thể có nhiều kiểu dữ liệu hơn hằng số.
- C. Giá trị của hằng số không thể thay đổi sau khi đã được khai báo và khởi tạo, trong khi giá trị của biến có thể thay đổi trong quá trình chạy chương trình.
- D. Chỉ có biến mới có thể được sử dụng trong biểu thức toán học.
Câu 23: "Toán tử gán" (assignment operator) trong lập trình thường được ký hiệu là gì?
Câu 24: Khi nào nên sử dụng cấu trúc dữ liệu "hàng đợi" (queue)?
- A. Khi cần truy cập ngẫu nhiên đến các phần tử.
- B. Khi cần sắp xếp dữ liệu.
- C. Khi cần tìm kiếm dữ liệu nhanh chóng.
- D. Khi cần xử lý các phần tử theo thứ tự đến trước - xử lý trước (First-In, First-Out - FIFO).
Câu 25: "Đệ quy" (recursion) là gì trong lập trình?
- A. Một loại vòng lặp vô hạn.
- B. Một kỹ thuật lập trình trong đó một hàm tự gọi chính nó để giải quyết một vấn đề.
- C. Một phương pháp tối ưu hóa mã nguồn.
- D. Một cách để khai báo biến toàn cục.
Câu 26: "Tham số" (parameter) của hàm có vai trò gì?
- A. Xác định kiểu dữ liệu trả về của hàm.
- B. Điều khiển luồng thực thi của chương trình.
- C. Truyền dữ liệu vào hàm để hàm có thể xử lý và thực hiện các thao tác dựa trên dữ liệu đó.
- D. Lưu trữ kết quả trả về của hàm.
Câu 27: "Giá trị trả về" (return value) của hàm là gì?
- A. Kết quả mà hàm tính toán được và trả lại cho nơi gọi hàm sau khi hàm thực thi xong.
- B. Tham số đầu vào của hàm.
- C. Tên của hàm.
- D. Địa chỉ bộ nhớ của hàm.
Câu 28: "Mã nguồn mở" (open source) là gì?
- A. Phần mềm chỉ chạy trên hệ điều hành Linux.
- B. Phần mềm được bán với giá rẻ.
- C. Phần mềm không có bản quyền.
- D. Phần mềm mà mã nguồn của nó được công khai cho phép mọi người xem xét, sử dụng, sửa đổi và phân phối lại.
Câu 29: Khi thiết kế giao diện người dùng (UI), yếu tố "khả năng sử dụng" (usability) quan trọng như thế nào?
- A. Không quan trọng bằng tính năng của phần mềm.
- B. Rất quan trọng, vì nó quyết định mức độ dễ dàng và hiệu quả người dùng có thể tương tác với phần mềm.
- C. Chỉ quan trọng đối với người dùng mới.
- D. Chỉ quan trọng đối với phần mềm thương mại.
Câu 30: Trong quản lý dự án phần mềm, phương pháp "Agile" chú trọng điều gì?
- A. Lập kế hoạch chi tiết và cố định từ đầu dự án.
- B. Tập trung vào tài liệu hóa đầy đủ mọi yêu cầu.
- C. Sự linh hoạt, khả năng thích ứng với thay đổi, làm việc theo từng giai đoạn ngắn (sprints) và liên tục nhận phản hồi từ khách hàng.
- D. Giảm thiểu sự tương tác với khách hàng trong quá trình phát triển.