wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Tin học chương 2 C++

Total questions: 50

Worksheet time: 25mins

Name
Class
Date
1.

Trong C++, từ khóa dùng để khai báo lớp là:

a)

A. object

b)

B. class

c)

C. struct

d)

D. type

2.

Lớp (class) trong C++ là:

a)

A. Một biến

b)

B. Một khuôn mẫu để tạo đối tượng

c)

C. Một hàm

d)

D. Một kiểu dữ liệu nguyên thủy

3.

Đối tượng (object) được tạo ra từ:

a)

A. struct

b)

B. class

c)

C. function

d)

D. namespace

4.

Trong ví dụ lớp SinhVien, các thuộc tính gồm:

a)

A. inThongTin()

b)

B. ten, tuoi, nganhHoc, diemTB

c)

C. main()

d)

D. setTen()

5.

Trong C++, lớp kết thúc bằng:

a)

A. }

b)

B. } ;

c)

C. endclass

d)

D. stop

6.

Thuộc tính trong lớp còn gọi là:

a)

A. Function

b)

B. Method

c)

C. Attribute

d)

D. Object

7.

Phương thức (method) là:

a)

A. Biến trong class

b)

B. Hàm trong class

c)

C. Namespace

d)

D. Struct

8.

Thuộc tính trong C++ mặc định có phạm vi:

a)

A. public

b)

B. private

c)

C. protected

d)

D. global

9.

Phương thức getTen() trong lớp SinhVien là loại:

a)

A. Constructor

b)

B. Accessor

c)

C. Mutator

d)

D. Destructor

10.

Phương thức setDiemTB(double diemTB) là loại:

a)

A. Accessor

b)

B. Mutator

c)

C. Constructor

d)

D. Destructor

11.

public nghĩa là:

a)

A. Chỉ dùng trong class

b)

B. Có thể truy cập ở mọi nơi

c)

C. Chỉ trong lớp con

d)

D. Không dùng được

12.

private nghĩa là:

a)

A. Chỉ trong class

b)

B. Truy cập ở mọi nơi

c)

C. Truy cập từ lớp con

d)

D. Không tồn tại

13.

protected nghĩa là:

a)

A. Chỉ dùng trong class

b)

B. Truy cập ở lớp con

c)

C. Truy cập ở mọi nơi

d)

D. Không thể truy cập

14.

Trong lớp SinhVien, inThongTin() khai báo ở phần:

a)

A. private

b)

B. public

c)

C. protected

d)

D. static

15.

Tính đóng gói (Encapsulation) đạt được nhờ:

a)

A. Kế thừa

b)

B. Dùng private/protected

c)

C. Dùng pointer

d)

D. Dùng struct

16.

Hàm tạo (constructor) có đặc điểm:

a)

A. Cùng tên với class

b)

B. Có kiểu trả về

c)

C. Không thể overload

d)

D. Chạy thủ công

17.

Hàm hủy (destructor) trong C++ có tên bắt đầu bằng:

a)

A. new

b)

B. del

c)

C. ~

d)

D. void

18.

Lớp SinhVien có bao nhiêu constructor trong ví dụ?

a)

A. 0

b)

B. 1

c)

C. 2

d)

D. 3

19.

Hàm hủy trong lớp SinhVien:

a)

A. ~SinhVien()

b)

B. delete SinhVien()

c)

C. destroy SinhVien()

d)

D. free()

20.

Nếu không khai báo constructor, C++:

a)

A. Báo lỗi

b)

B. Tự tạo constructor mặc định

c)

C. Không cho tạo object

d)

D. Bắt buộc overload

21.

Chồng phương thức là:

a)

A. Dùng lại code

b)

B. Hai hàm cùng tên nhưng khác tham số

c)

C. Một hàm nhiều return

d)

D. Constructor gọi nhau

22.

Ví dụ tinhDienTich(int canh) và tinhDienTich(int dai, int rong) là:

a)

A. Override

b)

B. Overloading

c)

C. Abstract

d)

D. Virtual

23.

Trình biên dịch chọn hàm overload dựa vào:

a)

A. Tên hàm

b)

B. Kiểu và số tham số

c)

C. Vị trí

d)

D. Access modifier

24.

Overloading giúp:

a)

A. Tăng tốc độ chạy

b)

B. Linh hoạt khi gọi hàm

c)

C. Giảm số dòng code

d)

D. Tăng bảo mật

25.

Nếu không có overload phù hợp, C++ sẽ:

a)

A. Báo lỗi

b)

B. Tự ép kiểu

c)

C. Gọi hàm gần nhất

d)

D. Bỏ qua

26.

Tạo đối tượng SinhVien a("A", 20, "CNTT", 8.5); nghĩa là:

a)

A. Cấp phát động

b)

B. Cấp phát trên stack

c)

C. Không cấp phát bộ nhớ

d)

D. Không hợp lệ

27.

Tạo đối tượng bằng new:

a)

A. SinhVien a;

b)

B. SinhVien* p = new SinhVien();

c)

C. SinhVien b();

d)

D. class SinhVien sv;

28.

Giải phóng bộ nhớ object trên heap dùng:

a)

A. free()

b)

B. delete

c)

C. exit()

d)

D. return

29.

Truy cập method bằng con trỏ:

a)

A. obj.method()

b)

B. ptr.method()

c)

C. ptr->method()

d)

D. class.method()

30.

Dùng danh sách khởi tạo:

a)

A. SinhVien sv = new SinhVien();

b)

B. SinhVien sv("A", 20, "CNTT", 8.5);

c)

C. SinhVien sv->inThongTin();

d)

D. void SinhVien();

31.

Trong ví dụ, a.inThongTin(); in ra:

a)

A. Giá trị thuộc tính của a

b)

B. Địa chỉ a

c)

C. Constructor

d)

D. Destructor

32.

Phương thức setTen("Nguyen Van B") sẽ:

a)

A. Đặt lại tên

b)

B. Xóa tên

c)

C. In tên

d)

D. Không tác động

33.

Khi gọi getDiemTB(), trả về:

a)

A. Một biến string

b)

B. Một biến double

c)

C. Một con trỏ

d)

D. Một hàm

34.

this->ten trong constructor nghĩa là:

a)

A. Tên lớp

b)

B. Biến toàn cục

c)

C. Thuộc tính của object hiện tại

d)

D. Namespace

35.

Destructor gọi khi:

a)

A. Chạy main()

b)

B. Object bị hủy

c)

C. Constructor kết thúc

d)

D. Khai báo biến

36.

Thuộc tính liên kết với phương thức như thế nào?

a)

A. Thuộc tính là dữ liệu, phương thức thao tác trên dữ liệu

b)

B. Ngược lại

c)

C. Không liên quan

d)

D. Tách biệt hoàn toàn

37.

get/set method còn gọi là:

a)

A. Constructor

b)

B. Accessor/Mutator

c)

C. Virtual

d)

D. Inline

38.

Khi không muốn class bị truy cập từ ngoài, ta dùng:

a)

A. public

b)

B. private

c)

C. protected

d)

D. friend

39.

Tại sao dùng inThongTin()?

a)

A. Đóng gói in dữ liệu

b)

B. Gọi main()

c)

C. Thay constructor

d)

D. Thay destructor

40.

Một class có thể có nhiều constructor không?

a)

A. Có

b)

B. Không

c)

C. Chỉ một

d)

D. Tùy compiler

41.

Lỗi quên ; sau định nghĩa class → C++ báo lỗi:

a)

A. Link error

b)

B. Compilation error

c)

C. Runtime error

d)

D. Không báo lỗi

42.

Không khai báo destructor →

a)

A. Compiler tự sinh

b)

B. Báo lỗi

c)

C. Không thể chạy

d)

D. Không tạo object được

43.

Gọi hàm private từ ngoài class →

a)

A. Thành công

b)

B. Báo lỗi truy cập

c)

C. Chạy nhưng sai

d)

D. Tự động public

44.

Quên khai báo namespace std → lỗi khi dùng:

a)

A. class

b)

B. std::string

c)

C. return

d)

D. private

45.

Truy cập object chưa khởi tạo →

a)

A. Báo lỗi runtime

b)

B. Báo lỗi compile

c)

C. Chạy bình thường

d)

D. Không vấn đề

46.

Đặc điểm chính của class so với struct trong C++:

a)

A. Không khác

b)

B. struct mặc định public, class mặc định private

c)

C. struct không có hàm

d)

D. class không có biến

47.

Một phương thức có thể gọi phương thức khác trong cùng class không?

a)

A. Có

b)

B. Không

c)

C. Chỉ protected

d)

D. Chỉ friend

48.

Hàm tạo có thể được khai báo ở:

a)

A. private, public, protected

b)

B. Chỉ public

c)

C. Chỉ private

d)

D. Chỉ protected

49.

Lợi ích của class trong C++:

a)

A. Dễ tái sử dụng

b)

B. Khó bảo trì

c)

C. Không cần đóng gói

d)

D. Giảm tốc độ

50.

Mỗi object của class có:

a)

A. Dữ liệu và hành vi riêng

b)

B. Dữ liệu chung duy nhất

c)

C. Hành vi toàn cục

d)

D. Không có dữ liệu