200+ câu Trắc nghiệm Lập trình căn bản có đáp án - Phần 2
30 câu hỏi
Khái niệm ‘đệ quy’ (recursion) trong lập trình ám chỉ điều gì?
Một hàm tự gọi lại chính nó để giải quyết một bài toán
Một vòng lặp vô hạn
Một cấu trúc dữ liệu phức tạp
Một cách để chia sẻ biến giữa các hàm
Chọn đáp án A
Khái niệm ‘mảng’ (array) trong lập trình đề cập đến cấu trúc dữ liệu nào?
Một tập hợp các phần tử cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ và có thể truy cập bằng chỉ số
Một danh sách các hàm có thể gọi
Một cấu trúc chỉ để lưu trữ các chuỗi ký tự
Một tập hợp các biến không có mối liên hệ với nhau
Chọn đáp án A
Trong lập trình, ‘truy cập theo tham chiếu’ (pass by reference) khác với ‘truy cập theo giá trị’ (pass by value) ở điểm nào?
Truy cập theo tham chiếu truyền địa chỉ bộ nhớ của biến, cho phép hàm thay đổi giá trị gốc, còn theo giá trị truyền bản sao của biến, không ảnh hưởng giá trị gốc
Truy cập theo tham chiếu chỉ dùng cho các biến số nguyên
Truy cập theo giá trị có hiệu suất cao hơn
Cả hai đều truyền bản sao của biến
Chọn đáp án A
Khái niệm ‘kiểu dữ liệu boolean’ (boolean data type) chỉ có thể nhận những giá trị nào?
True hoặc False (Đúng hoặc Sai)
Một số nguyên
Một ký tự
Một chuỗi văn bản
Chọn đáp án A
Đâu là mục đích chính của việc sử dụng ‘kiểu dữ liệu’ (data type) trong lập trình?
Xác định loại giá trị mà một biến có thể lưu trữ và các phép toán có thể thực hiện trên giá trị đó
Quyết định tốc độ xử lý của chương trình
Tự động sửa lỗi cú pháp trong mã
Quản lý bộ nhớ một cách ngẫu nhiên
Chọn đáp án A
Khái niệm ‘cấu trúc dữ liệu’ (data structure) dùng để làm gì trong lập trình?
Tổ chức và lưu trữ dữ liệu một cách hiệu quả để có thể truy cập và thao tác dễ dàng
Xác định giao diện người dùng của ứng dụng
Quản lý các tiến trình chạy song song
Kiểm tra tính bảo mật của hệ thống
Chọn đáp án A
Khái niệm ‘đóng gói’ (encapsulation) trong OOP có mục đích chính là gì?
Gom dữ liệu (thuộc tính) và phương thức xử lý dữ liệu đó vào trong một đơn vị duy nhất (đối tượng) và kiểm soát truy cập vào dữ liệu
Tạo ra nhiều bản sao của cùng một đối tượng
Ngăn chặn việc sử dụng biến toàn cục
Xác định thứ tự thực thi của các đối tượng
Chọn đáp án A
Trong lập trình, ‘mã giả’ (pseudocode) là gì?
Một mô tả không chính thức, cấp cao về cách hoạt động của một thuật toán hoặc chương trình, sử dụng cấu trúc tương tự ngôn ngữ lập trình nhưng không tuân thủ cú pháp nghiêm ngặt
Mã nguồn của một chương trình đã biên dịch
Một lỗi cú pháp trong mã nguồn
Một ngôn ngữ lập trình mới
Chọn đáp án A
Trong lập trình, ‘biến cục bộ’ (local variable) có phạm vi hoạt động như thế nào?
Chỉ có thể truy cập bên trong khối mã (ví dụ: hàm, vòng lặp) nơi nó được khai báo
Có thể truy cập từ bất kỳ đâu trong chương trình
Chỉ có thể truy cập từ các hàm khác
Tồn tại vĩnh viễn ngay cả sau khi chương trình kết thúc
Chọn đáp án A
Trong lập trình, ‘cấu trúc điều kiện’ (conditional statement) như ‘if-else’ có vai trò gì?
Cho phép chương trình đưa ra quyết định và thực thi các khối mã khác nhau dựa trên kết quả của một điều kiện logic
Đảm bảo tất cả các lệnh trong chương trình được thực thi theo thứ tự
Tạo ra các biến cục bộ chỉ tồn tại trong một phạm vi nhất định
Khởi tạo giá trị ban đầu cho tất cả các biến
Chọn đáp án A
Khái niệm ‘IDE’ (Integrated Development Environment) là gì?
Một loại hệ điều hành
Một môi trường phần mềm cung cấp các công cụ cần thiết cho việc phát triển phần mềm, bao gồm trình soạn thảo mã, trình biên dịch/thông dịch và trình gỡ lỗi.Phần mềm
Một giao thức mạng
Một thuật toán tìm kiếm
Chọn đáp án B
Trong C++, ‘const’ keyword được sử dụng để làm gì?
Biến đổi một biến thành một biến toàn cục
Đảm bảo giá trị của biến hoặc đối tượng không thể thay đổi sau khi được khởi tạo
Cấp phát bộ nhớ động
Định nghĩa một hàm ảo
Chọn đáp án B
Trong lập trình, ‘biến’ (variable) có vai trò gì?
Lưu trữ các câu lệnh thực thi
Chứa dữ liệu có thể thay đổi trong quá trình chạy chương trình
Định nghĩa cấu trúc của chương trình
Xác định luồng điều khiển của chương trình
Chọn đáp án B
Trong JavaScript, cách nào sau đây là cách khai báo một biến?
variable myVar;
let myVar;
var myVar;
const myVar;
Chọn đáp án B
Cấu trúc dữ liệu nào cho phép truy cập phần tử theo chỉ số (index) với thời gian truy cập O(1) nếu chỉ số biết trước?
Danh sách liên kết (Linked List)
Ngăn xếp (Stack)
Hàng đợi (Queue)
Mảng (Array)
Chọn đáp án D
Cấu trúc dữ liệu ‘cây’ (tree) có đặc điểm gì nổi bật?
Các phần tử được sắp xếp theo thứ tự tuyến tính
Mỗi nút có thể có nhiều nút cha
Có một nút gốc và các nút con, không có chu trình
Chỉ sử dụng cho việc lưu trữ dữ liệu dạng bảng
Chọn đáp án C
Ngôn ngữ lập trình nào là ngôn ngữ biên dịch (compiled language) điển hình?
Python
JavaScript
C++
PHP
Chọn đáp án C
Trong lập trình, ‘variable scope’ (phạm vi của biến) xác định điều gì?
Kiểu dữ liệu của biến
Vùng trong chương trình nơi biến có thể được truy cập và sử dụng
Giá trị ban đầu của biến
Cách biến được lưu trữ trong bộ nhớ
Chọn đáp án B
Khái niệm ‘type casting’ (chuyển đổi kiểu) trong lập trình là gì?
Việc thay đổi tên của một biến
Quá trình chuyển đổi một giá trị từ kiểu dữ liệu này sang một kiểu dữ liệu khác
Việc định nghĩa một hàm mới
Việc tạo ra một vòng lặp mới
Chọn đáp án B
Khái niệm ‘abstraction’ (trừu tượng hóa) trong OOP giúp giải quyết vấn đề gì?
Giảm số lượng biến trong chương trình
Che giấu các chi tiết phức tạp và chỉ hiển thị các chức năng cần thiết
Tăng tốc độ thực thi của chương trình
Tạo ra nhiều đối tượng từ một lớp
Chọn đáp án B
Kiểu dữ liệu nào thường được sử dụng để biểu diễn các ký tự đơn lẻ, ví dụ ‘A’, ‘b’, ‘7’?
Integer (Số nguyên)
Float (Số thực)
Boolean (Logic)
Character (Ký tự)
Chọn đáp án D
Trong ngôn ngữ C++, câu lệnh nào sau đây được sử dụng để giải phóng bộ nhớ đã được cấp phát động bằng ‘new’?
free()
delete
release()
dispose()
Chọn đáp án B
Trong ngôn ngữ lập trình C++, câu lệnh nào sau đây được sử dụng để cấp phát động bộ nhớ cho một đối tượng?
malloc()
new
calloc()
delete
Chọn đáp án B
Trong lập trình, ‘vòng lặp for’ thường được sử dụng khi nào?
Khi số lần lặp là không xác định
Khi cần thực hiện một khối lệnh một số lần xác định trước
Khi chỉ có một điều kiện duy nhất để lặp
Khi cần truy cập các phần tử của danh sách liên kết
Chọn đáp án B
Trong thuật toán, ‘space complexity’ (độ phức tạp không gian) đo lường điều gì?
Số lượng phép toán mà thuật toán thực hiện
Thời gian thực thi của thuật toán
Lượng bộ nhớ mà thuật toán yêu cầu để hoạt động
Độ phức tạp của cấu trúc dữ liệu
Chọn đáp án C
Giả sử bạn có một hàm ‘calculate(int a, int b)’ thực hiện phép cộng. Nếu bạn gọi ‘calculate(5, 3)’, giá trị trả về sẽ là bao nhiêu?
5
3
8
Lỗi biên dịch
Chọn đáp án C
Trong lập trình, ‘conditional statement’ (câu lệnh điều kiện) như ‘if-else’ dùng để làm gì?
Lặp lại một khối mã nhiều lần
Chọn một trong nhiều khối mã để thực thi dựa trên một điều kiện logic
Định nghĩa một biến mới
Gọi một hàm từ thư viện
Chọn đáp án B
Trong ngôn ngữ Python, từ khóa nào được sử dụng để định nghĩa một hàm?
func
define
def
function
Chọn đáp án C
Trong các câu lệnh điều kiện, ‘else if’ được sử dụng khi nào?
Để thực thi mã khi điều kiện ban đầu là sai
Để kiểm tra một điều kiện bổ sung khi điều kiện trước đó đã sai
Để kết thúc một chuỗi các câu lệnh điều kiện
Để lặp lại một khối mã
Chọn đáp án B
Khái niệm ‘debug’ trong lập trình có nghĩa là gì?
Viết mã nguồn mới
Tối ưu hóa hiệu suất chương trình
Tìm và sửa lỗi (bug) trong chương trình
Thiết kế giao diện người dùng
Chọn đáp án C








