wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Câu hỏi về lập trình C++

Total questions: 61

Worksheet time: 31mins

Name
Class
Date
1.

Kiểu dữ liệu nào được sử dụng để lưu trữ số nguyên trong C++?

a)

float

b)

int

c)

char

d)

double

2.

Đâu là toán tử gán trong C++?

a)

==

b)

=

c)

!=

d)

+=

3.

Câu lệnh 'cin >> x;' làm gì?

a)

Xuất một giá trị ra màn hình

b)

Gán một hằng số

c)

Lấy đầu vào từ người dùng

d)

Khai báo một hàm

4.

Kiểu dữ liệu nào có thể lưu trữ chuỗi trong C++?

a)

string

b)

char[]

c)

Cả a và b

d)

int

5.

Cấu trúc điều khiển nào được sử dụng cho lựa chọn nhiều?

a)

if

b)

for

c)

switch

d)

while

6.

Vòng lặp nào kiểm tra điều kiện sau khi thực hiện ít nhất một lần?

a)

while

b)

for

c)

do-while

d)

switch

7.

Cú pháp đúng để khai báo một mảng 10 số nguyên là gì?

a)

int arr[10];

b)

int[10] arr;

c)

arr int[10];

d)

array arr(10);

8.

Toán tử * làm gì trong con trỏ?

a)

Nhân

b)

Khai báo biến

c)

Truy cập giá trị tại con trỏ

d)

Gán giá trị

9.

Từ khóa nào được sử dụng để cấp phát bộ nhớ động trong C++?

a)

malloc

b)

new

c)

alloc

d)

pointer

10.

Từ khóa nào được sử dụng để giải phóng bộ nhớ đã cấp phát bởi new?

a)

free

b)

release

c)

delete

d)

dispose

11.

Cấu trúc nào cho phép nhiều kiểu trong cùng một không gian bộ nhớ?

a)

struct

b)

array

c)

union

d)

class

12.

Con trỏ thông minh nào đảm bảo một khối bộ nhớ chỉ có một chủ sở hữu?

a)

shared_ptr

b)

weak_ptr

c)

unique_ptr

d)

con trỏ thô

13.

Hàm đệ quy là hàm gì?

a)

Gọi hàm khác

b)

Gọi chính nó

c)

Thoát chương trình

d)

Không nhận tham số

14.

Điều gì đúng về mẫu hàm trong C++?

a)

Phải được khai báo trước main

b)

Không thể sử dụng với char

c)

Cho phép hàm với nhiều kiểu dữ liệu

d)

Không thể sử dụng với mảng

15.

'using namespace std;' có tác dụng gì?

a)

Truy cập tất cả các hàm trong main

b)

Truy cập trực tiếp các phần tử thư viện chuẩn

c)

Nhập iostream

d)

Không có tác dụng

16.

Container nào lưu trữ dữ liệu theo cặp khóa-giá trị?

a)

vector

b)

list

c)

map

d)

queue

17.

Thư viện nào bao gồm hàm sort()?

a)

string

b)

iostream

c)

algorithm

d)

utility

18.

Hàm nào trả về một iterator đến đầu của một container?

a)

end()

b)

first()

c)

front()

d)

begin()

19.

Từ khóa nào được sử dụng để định nghĩa một lớp cơ sở?

a)

class

b)

base

c)

parent

d)

struct

20.

Đâu là một constructor trong C++?

a)

Có kiểu trả về void

b)

Cùng tên với lớp

c)

Không có tham số

d)

Không thể bị quá tải

21.

Mục đích của một hàm ảo là gì?

a)

Kế thừa dữ liệu

b)

Cho phép đa hình thời gian chạy

c)

Tránh lỗi biên dịch

d)

Sử dụng STL

22.

'~ClassName()' đại diện cho điều gì trong C++?

a)

Constructor

b)

Destructor

c)

Overloader

d)

Hàm bạn

23.

Toán tử nào có thể bị quá tải?

a)

++

b)

.

c)

::

d)

sizeof

24.

Đóng gói trong OOP có nghĩa là gì?

a)

Che giấu chi tiết thực hiện

b)

Kế thừa đa cấp

c)

Đa hình

d)

Giao diện

25.

Đối tượng nào được sử dụng để ghi văn bản vào tệp?

a)

ofstream

b)

ifstream

c)

fstream

d)

printf

26.

Cách chỉ định chế độ nhị phân trong xử lý tệp là gì?

a)

textmode

b)

binarymode

c)

ios::binary

d)

ios::text

27.

Hàm nào đọc một dòng văn bản từ tệp?

a)

getline()

b)

scanf()

c)

gets()

d)

get()

28.

Chỉ thị nào định nghĩa một macro trong C++?

a)

define

b)

macro

c)

const

d)

#define

29.

Đối tượng nào đảm bảo đồng bộ trong đa luồng?

a)

mutex

b)

queue

c)

array

d)

thread

30.

Mục đích của biểu thức lambda là gì?

a)

Tạo luồng mới

b)

Tạo hàm ẩn danh

c)

Truy cập con trỏ

d)

Tạo lớp

31.

Kết quả của đoạn mã sau là gì?

a)

8

b)

53

c)

Lỗi

d)

5 3

32.

Kết quả của biểu thức này là gì?

a)

10

b)

11

c)

9

d)

Lỗi

33.

Chọn cú pháp đúng để khai báo một con trỏ đến một số nguyên:

a)

int *p;

b)

int p*;

c)

*int p;

d)

pointer p;

34.

Chọn cú pháp đúng để khai báo một con trỏ đến một số nguyên:

a)

int *p;

b)

int p*;

c)

*int p;

d)

pointer p;

35.

Vòng lặp này in ra gì?

a)

0 1 2

b)

1 2 3

c)

0 1 2 3

d)

1 2 3 4

36.

Xác định lỗi trong mã này:

a)

x chưa được khởi tạo

b)

Thiếu dấu chấm phẩy

c)

cout không được định nghĩa

d)

main phải trả về void

37.

Cái gì được in ra?

a)

2

b)

4

c)

6

d)

1

38.

Hàm này trả về gì?

a)

Địa chỉ của x

b)

Giá trị 5

c)

Lỗi biên dịch

d)

Giá trị ngẫu nhiên

39.

Điều gì xảy ra nếu bạn quên `delete` sau `new`?

a)

Rò rỉ bộ nhớ

b)

Lỗi biên dịch

c)

Sụp đổ thời gian chạy

d)

Giá trị được đặt lại

40.

Kết quả là gì?

a)

7

b)

địa chỉ của x

c)

Lỗi

d)

Không xác định

41.

Mã này in ra gì?

a)

10

b)

20

c)

a

d)

Lỗi

42.

Cái gì được in ra?

a)

3

b)

5

c)

6

d)

Lỗi

43.

Chọn khai báo mẫu hàm hợp lệ:

a)

template T max(T a, T b);

b)

function(T a, T b);

c)

template(T) max(a,b);

d)

template

44.

Cái gì được in ra?

a)

5

b)

10

c)

0

d)

Lỗi

45.

Câu nào là đúng về STL `vector`?

a)

v là một mảng động

b)

v phải có kích thước cố định

c)

Không thể sử dụng push_back

d)

Không hỗ trợ lặp

46.

Mã này in ra gì?

a)

one

b)

1

c)

Lỗi

d)

null

47.

Dòng nào định nghĩa một lớp?

a)

class MyClass {}

b)

def MyClass

c)

MyClass()

d)

structure MyClass

48.

Cái gì đúng về các hàm khởi tạo?

a)

Được gọi khi đối tượng được tạo

b)

Không thể bị quá tải

c)

Được gọi thủ công

d)

Có kiểu trả về

49.

Mã này sẽ làm gì?

a)

In ra Base

b)

In ra Derived

c)

Lỗi

d)

Không có gì

50.

Cái gì được in ra?

a)

A

b)

B

c)

AB

d)

Lỗi

51.

Tính năng của việc nạp chồng toán tử là gì?

a)

Hành vi + tùy chỉnh

b)

Thay đổi cú pháp ngôn ngữ

c)

Định nghĩa lại từ khóa

d)

Tạo macro

52.

Cái gì đúng về unique_ptr?

a)

Chỉ có một chủ sở hữu

b)

Nhiều chủ sở hữu

c)

Không an toàn về kiểu

d)

Cần delete

53.

Con trỏ thông minh nào cho phép nhiều quyền sở hữu?

a)

unique_ptr

b)

shared_ptr

c)

con trỏ thô

d)

static_ptr

54.

Điều gì xảy ra khi tham chiếu cuối cùng của shared_ptr bị hủy?

a)

Bộ nhớ được giải phóng

b)

Rò rỉ bộ nhớ

c)

Sụp đổ

d)

Lỗi

55.

Con trỏ thông minh nào tránh được tham chiếu vòng?

a)

shared_ptr

b)

unique_ptr

c)

weak_ptr

d)

thô

56.

Làm thế nào để giải tham chiếu một con trỏ thông minh?

a)

p->

b)

p.get()

c)

*p

d)

&p

57.

Mã này làm gì?

a)

Ghi Hello vào tệp

b)

Đọc từ tệp

c)

Xóa tệp

d)

Chỉ biên dịch

58.

`ifstream` được sử dụng để làm gì?

a)

Đầu vào từ người dùng

b)

Đọc từ tệp

c)

Đầu ra ra màn hình

d)

Ghi vào tệp

59.

Cờ nào mở tệp ở chế độ nhị phân?

a)

ios::binary

b)

ios::text

c)

ios::in

d)

ios::append

60.

Làm thế nào để kiểm tra xem một tệp có mở không?

a)

is_open()

b)

good()

c)

open()

d)

valid()

61.

seekg() làm gì?

a)

Di chuyển con trỏ lấy

b)

Xóa bộ đệm

c)

Lưu tệp

d)

Trả về kích thước