Đề 14 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Cơ sở lập trình

Đề 14 - Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

1. Đặc điểm nào sau đây KHÔNG phải là của ngôn ngữ lập trình hướng đối tượng?

A. Tính đóng gói (Encapsulation).
B. Tính kế thừa (Inheritance).
C. Tính đa hình (Polymorphism).
D. Tính tuần tự (Sequential).

2. Trong lập trình, biến (variable) được hiểu là gì?

A. 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 thực thi chương trình.
B. Một giá trị không đổi được gán cho một tên cụ thể trong chương trình.
C. Một loại dữ liệu đặc biệt chỉ dùng để lưu trữ văn bản.
D. Một lệnh điều khiển luồng thực thi của chương trình.

3. Trong ngữ cảnh quản lý bộ nhớ, 'memory leak′ (rò rỉ bộ nhớ) là gì?

A. Bộ nhớ bị hỏng do lỗi phần cứng.
B. Chương trình không giải phóng bộ nhớ đã cấp phát sau khi sử dụng xong, dẫn đến lãng phí bộ nhớ.
C. Bộ nhớ được sử dụng quá nhiều bởi hệ điều hành.
D. Lỗi do truy cập vào vùng nhớ ngoài phạm vi cho phép.

4. Bộ biên dịch (compiler) có vai trò gì trong quá trình phát triển phần mềm?

A. Chuyển đổi mã nguồn (source code) sang mã máy (machine code) để máy tính thực thi.
B. Kiểm tra lỗi cú pháp trong mã nguồn và báo cáo cho lập trình viên.
C. Quản lý bộ nhớ và tài nguyên hệ thống cho chương trình.
D. Cả ba đáp án trên.

5. Kiểu dữ liệu nào sau đây thường được sử dụng để biểu diễn số nguyên trong lập trình?

A. float
B. string
C. int
D. boolean

6. Mảng (array) là gì trong lập trình?

A. Một kiểu dữ liệu cơ bản chỉ lưu trữ một giá trị duy nhất.
B. Một cấu trúc dữ liệu dùng để lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu, được truy cập thông qua chỉ số.
C. Một tập hợp các hàm liên quan đến nhau.
D. Một phương pháp quản lý bộ nhớ động.

7. Stack (ngăn xếp) là cấu trúc dữ liệu hoạt động theo nguyên tắc nào?

A. FIFO (First In, First Out - Vào trước, ra trước).
B. LIFO (Last In, First Out - Vào sau, ra trước).
C. Sắp xếp theo thứ tự giá trị tăng dần.
D. Truy cập ngẫu nhiên (random access).

8. Kiểu dữ liệu 'boolean′ thường được sử dụng để biểu diễn giá trị nào?

A. Số nguyên.
B. Số thực.
C. Chuỗi ký tự.
D. Giá trị logic (đúng hoặc sai).

9. Giải thuật sắp xếp 'Bubble Sort′ hoạt động dựa trên nguyên tắc nào?

A. Chia mảng thành các phần nhỏ hơn và sắp xếp từng phần rồi trộn lại.
B. Chọn phần tử nhỏ nhất và đưa về đầu mảng ở mỗi bước.
C. So sánh các cặp phần tử liền kề và đổi chỗ nếu chúng không đúng thứ tự.
D. Sử dụng cây nhị phân để sắp xếp các phần tử.

10. Lỗi 'syntax error′ (lỗi cú pháp) xảy ra khi nào?

A. Khi chương trình chạy sai kết quả mong đợi.
B. Khi chương trình cố gắng truy cập vào vùng nhớ không hợp lệ.
C. Khi mã nguồn vi phạm quy tắc cú pháp của ngôn ngữ lập trình.
D. Khi thuật toán được sử dụng không hiệu quả.

11. Ngôn ngữ lập trình bậc cao (high-level programming language) có ưu điểm gì so với ngôn ngữ lập trình bậc thấp (low-level programming language)?

A. Thực thi nhanh hơn và hiệu quả hơn về mặt tài nguyên hệ thống.
B. Dễ đọc, dễ viết và dễ bảo trì hơn.
C. Truy cập trực tiếp vào phần cứng máy tính.
D. Kiểm soát bộ nhớ tốt hơn.

12. Kiểu dữ liệu trừu tượng (Abstract Data Type - ADT) là gì?

A. Một kiểu dữ liệu cơ bản như số nguyên hoặc số thực.
B. Một kiểu dữ liệu được định nghĩa bởi các phép toán (operations) trên dữ liệu đó, mà không quan tâm đến cách dữ liệu được lưu trữ cụ thể.
C. Một kiểu dữ liệu chỉ được sử dụng trong lập trình hướng đối tượng.
D. Một kiểu dữ liệu không thể thay đổi sau khi được khai báo.

13. Kiểu dữ liệu 'string′ được sử dụng để lưu trữ loại dữ liệu nào?

A. Số nguyên.
B. Số thực.
C. Chuỗi ký tự (văn bản).
D. Giá trị logic.

14. Biến toàn cục (global variable) là gì?

A. Biến chỉ được sử dụng trong một hàm cụ thể.
B. Biến được khai báo bên ngoài tất cả các hàm và có thể được truy cập từ bất kỳ đâu trong chương trình.
C. Biến dùng để lưu trữ dữ liệu toàn bộ chương trình.
D. Biến chỉ được khai báo một lần duy nhất trong chương trình.

15. Thủ tục (procedure) và hàm (function) khác nhau cơ bản ở điểm nào?

A. Thủ tục trả về giá trị, hàm thì không.
B. Hàm trả về giá trị, thủ tục thì không (hoặc trả về void).
C. Thủ tục có phạm vi hoạt động cục bộ, hàm thì toàn cục.
D. Hàm được gọi trực tiếp từ chương trình chính, thủ tục thì không.

16. Trong lập trình, 'syntax′ (cú pháp) đề cập đến điều gì?

A. Ý nghĩa của các lệnh trong ngôn ngữ lập trình.
B. Quy tắc viết mã đúng đắn trong một ngôn ngữ lập trình.
C. Hiệu suất thực thi của chương trình.
D. Cấu trúc dữ liệu được sử dụng trong chương trình.

17. Trong lập trình hướng đối tượng, 'class′ (lớp) là gì?

A. Một thể hiện cụ thể của một đối tượng.
B. Một khuôn mẫu hoặc bản thiết kế cho các đối tượng.
C. Một hàm đặc biệt dùng để khởi tạo đối tượng.
D. Một biến toàn cục dùng chung cho tất cả các đối tượng.

18. Độ phức tạp thời gian (time complexity) của một thuật toán dùng để đánh giá điều gì?

A. Lượng bộ nhớ mà thuật toán sử dụng.
B. Thời gian thực tế chạy thuật toán trên một máy tính cụ thể.
C. Sự tăng trưởng của thời gian thực thi thuật toán theo kích thước đầu vào.
D. Độ khó hiểu của mã nguồn thuật toán.

19. Trong lập trình hướng đối tượng, 'inheritance′ (kế thừa) nghĩa là gì?

A. Khả năng một đối tượng chứa nhiều đối tượng khác bên trong.
B. Khả năng một lớp (class) con kế thừa các thuộc tính và phương thức từ lớp cha.
C. Khả năng một đối tượng tự thay đổi trạng thái của mình.
D. Khả năng các đối tượng giao tiếp với nhau thông qua thông điệp.

20. Toán tử '%' trong nhiều ngôn ngữ lập trình thường dùng để làm gì?

A. Tính phần trăm của một số.
B. Chia lấy phần nguyên.
C. Chia lấy phần dư.
D. Lũy thừa.

21. Sự khác biệt chính giữa biên dịch (compilation) và thông dịch (interpretation) là gì?

A. 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.
B. Thông dịch tạo ra mã máy thực thi trực tiếp, biên dịch thực thi mã nguồn từng dòng một.
C. Biên dịch nhanh hơn thông dịch về tốc độ thực thi.
D. Đáp án 1 và 3 đúng.

22. Queue (hàng đợi) là cấu trúc dữ liệu hoạt động theo nguyên tắc nào?

A. LIFO (Last In, First Out - Vào sau, ra trước).
B. FIFO (First In, First Out - Vào trước, ra trước).
C. Sắp xếp theo thứ tự giá trị giảm dần.
D. Truy cập tuần tự (sequential access).

23. Vòng lặp 'for′ thường được sử dụng khi nào?

A. Khi muốn lặp lại một khối lệnh một số lần biết trước.
B. Khi muốn lặp lại một khối lệnh cho đến khi một điều kiện sai.
C. Khi muốn thực hiện một khối lệnh duy nhất một lần.
D. Khi muốn khai báo biến cục bộ.

24. Trong lập trình, 'debug′ nghĩa là gì?

A. Viết tài liệu hướng dẫn sử dụng chương trình.
B. Kiểm thử và sửa lỗi (bugs) trong chương trình.
C. Tối ưu hóa hiệu suất của chương trình.
D. Biên dịch mã nguồn thành mã máy.

25. Con trỏ (pointer) trong C∕C++ là gì?

A. Một biến lưu trữ giá trị trực tiếp của một biến khác.
B. Một biến lưu trữ địa chỉ bộ nhớ của một biến khác.
C. Một kiểu dữ liệu đặc biệt dùng để lưu trữ chuỗi ký tự.
D. Một hàm dùng để quản lý bộ nhớ.

26. Mục đích chính của việc sử dụng chú thích (comment) trong mã nguồn là gì?

A. Để tăng tốc độ thực thi chương trình.
B. Để trình biên dịch bỏ qua các dòng mã đó.
C. Để giải thích mã nguồn, giúp người khác (và chính mình sau này) dễ hiểu code hơn.
D. Để mã hóa mã nguồn, bảo vệ bản quyền.

27. Đệ quy (recursion) là gì?

A. Một kỹ thuật lặp đi lặp lại một khối lệnh bằng vòng lặp.
B. Một hàm tự gọi chính nó trong định nghĩa của nó.
C. Một cách tổ chức dữ liệu theo cấu trúc cây.
D. Một phương pháp sắp xếp dữ liệu hiệu quả.

28. Trong lập trình, thuật toán (algorithm) là gì?

A. Một ngôn ngữ lập trình cụ thể.
B. Một công cụ để debug chương trình.
C. Một tập hợp các bước hữu hạn, rõ ràng để giải quyết một vấn đề cụ thể.
D. Một loại biến đặc biệt dùng để lưu trữ dữ liệu tạm thời.

29. Mục đích của việc sử dụng hàm (function) trong lập trình là gì?

A. Để làm cho chương trình chạy chậm hơn.
B. Để chia nhỏ chương trình thành các khối mã nhỏ hơn, dễ quản lý và tái sử dụng.
C. Để tăng độ phức tạp của chương trình.
D. Để giới hạn phạm vi sử dụng của biến.

30. Cấu trúc điều khiển 'if-else′ được sử dụng để làm gì?

A. Lặp lại một khối lệnh nhiều lần.
B. Thực hiện một khối lệnh dựa trên một điều kiện đúng hoặc sai.
C. Khai báo biến và kiểu dữ liệu.
D. Định nghĩa hàm và thủ tục.

1 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

1. Đặc điểm nào sau đây KHÔNG phải là của ngôn ngữ lập trình hướng đối tượng?

2 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

2. Trong lập trình, biến (variable) được hiểu là gì?

3 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

3. Trong ngữ cảnh quản lý bộ nhớ, `memory leak′ (rò rỉ bộ nhớ) là gì?

4 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

4. Bộ biên dịch (compiler) có vai trò gì trong quá trình phát triển phần mềm?

5 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

5. Kiểu dữ liệu nào sau đây thường được sử dụng để biểu diễn số nguyên trong lập trình?

6 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

6. Mảng (array) là gì trong lập trình?

7 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

7. Stack (ngăn xếp) là cấu trúc dữ liệu hoạt động theo nguyên tắc nào?

8 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

8. Kiểu dữ liệu `boolean′ thường được sử dụng để biểu diễn giá trị nào?

9 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

9. Giải thuật sắp xếp `Bubble Sort′ hoạt động dựa trên nguyên tắc nào?

10 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

10. Lỗi `syntax error′ (lỗi cú pháp) xảy ra khi nào?

11 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

11. Ngôn ngữ lập trình bậc cao (high-level programming language) có ưu điểm gì so với ngôn ngữ lập trình bậc thấp (low-level programming language)?

12 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

12. Kiểu dữ liệu trừu tượng (Abstract Data Type - ADT) là gì?

13 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

13. Kiểu dữ liệu `string′ được sử dụng để lưu trữ loại dữ liệu nào?

14 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

14. Biến toàn cục (global variable) là gì?

15 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

15. Thủ tục (procedure) và hàm (function) khác nhau cơ bản ở điểm nào?

16 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

16. Trong lập trình, `syntax′ (cú pháp) đề cập đến điều gì?

17 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

17. Trong lập trình hướng đối tượng, `class′ (lớp) là gì?

18 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

18. Độ phức tạp thời gian (time complexity) của một thuật toán dùng để đánh giá điều gì?

19 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

19. Trong lập trình hướng đối tượng, `inheritance′ (kế thừa) nghĩa là gì?

20 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

20. Toán tử `%` trong nhiều ngôn ngữ lập trình thường dùng để làm gì?

21 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

21. Sự khác biệt chính giữa biên dịch (compilation) và thông dịch (interpretation) là gì?

22 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

22. Queue (hàng đợi) là cấu trúc dữ liệu hoạt động theo nguyên tắc nào?

23 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

23. Vòng lặp `for′ thường được sử dụng khi nào?

24 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

24. Trong lập trình, `debug′ nghĩa là gì?

25 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

25. Con trỏ (pointer) trong C∕C++ là gì?

26 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

26. Mục đích chính của việc sử dụng chú thích (comment) trong mã nguồn là gì?

27 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

27. Đệ quy (recursion) là gì?

28 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

28. Trong lập trình, thuật toán (algorithm) là gì?

29 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

29. Mục đích của việc sử dụng hàm (function) trong lập trình là gì?

30 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 14

30. Cấu trúc điều khiển `if-else′ được sử dụng để làm gì?