Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

C++ Quizz

Total questions: 64

Worksheet time: 32mins

Name
Class
Date
1.

Giá trị nào sẽ được in ra khi thực thi chương trình sau ?
main()
{
       char exf[]="Welcome To Viettel R&D";
       printf("%c\n",s[5]);
       printf("%s\n",&s[5]);
}

a)

Lỗi biên dịch.

b)

m
m

c)

o
come To Viettel R&D

d)

m
me To Viettel R&D.

2.

Giá trị nào sẽ được in ra khi thực thi chương trình sau.
main()
{
  printf("%d",-5/-4);
}

a)

-2.25

b)

-1.25

c)

-1

d)

1

3.

Kiểu dữ liệu nào là kiểu dữ liệu trừu tượng

a)

int

b)

double

c)

string

d)

class

4.

cin là một ...

a)

toán tử

b)

hàm

c)

đối tượng

d)

marco

5.

Khái niệm nào của lập trình hướng đối tượng chèn tham biến trong lời gọi hàm nếu nó không được chỉ định rõ?

a)

Call by value

b)

Call by reference

c)

Default argument

d)

call by pointer

6.

Lớp trừu tượng có thể tạo được bao nhiêu bản sao?

a)

1

b)

5

c)

13

d)

0

7.

Khái niệm nào có nghĩa là thêm một thành phần vào chương trình lúc chạy.

a)

data hiding

b)

data typing

c)

dynamic binding

d)

dynamic loading

8.

Hàm tạo (contructor) có chức năng

a)

tạo lớp mới

b)

tạo đối tượng mới

c)

tạo hàm mới

d)

khởi tạo đối tượng mới

9.

Khái niệm nào được sử dụng để triển khai liên kết muộn - late binding:

a)

Virtual function

b)

Operator function

c)

Const function

d)

Static function

10.

Khái niệm nào quyết định phương thức nào được gọi lúc chạy chương trình

a)

Data hiding

b)

dynamic typing

c)

dynamic biding

d)

dynamic loading

11.

Bản sao của một lớp còn được biết như là?

a)

friend function

b)

object

c)

member function

d)

member variables

12.

Đoạn mã nào khai báo một con trỏ trỏ tới một số tự nhiên ở địa chỉ 0x200 trong bộ nhớ:

a)

int *x;
    
*x = 0x200;

b)

int *x = &0x200;

c)

int *x = *0x200;

d)

int *x = 0x200;

13.

Có bao nhiêu đối tượng có thể được tạo từ một lớp trừu tượng?

a)

0

b)

1

c)

2

d)

4

14.

Chuỗi là mảng các ký tự. Chỉ số cuối cùng của mảng chứa chuỗi kết thúc:

a)

\n

b)

\t

c)

\0

d)

\1

15.

Chọn câu trả lời đúng nhất
int x=5, y=3, z; a=addition(x,y)

a)

Hàm addition được gọi bởi cơ chế truyền tham trị

b)

Hàm addition được gọi bởi cơ chế truyền tham chiếu

c)

null

d)

lỗi

16.

Đâu là lớp của đối tượng cout

a)

iostream

b)

istream

c)

ostream

d)

ifstream

17.

Lệnh continue làm gì.

a)

Tiếp tục chương trình nếu nó bị treo.

b)

Tiếp tục chương trình nếu nó đã bị break.

c)

Bỏ qua phần còn lại của vòng lặp trong lần lặp hiện tại.

d)

Thoát khỏi vòng lặp.

18.

Nếu sử dụng cùng một biến cho hai câu lệnh getline ?

a)

Biến lưu cả 2 giá trị đầu vào

b)

Lần lấy giá trị đầu vào thứ hai lỗi vì biến đã có giá trị

c)

Không thể sử dụng cùng một biến cho 2 lệnh getline

d)

đầu vào thứ 2 ghi đề lên đầu vào thứ nhất

19.

Đánh giá việc sử dụng ký tự dòng mới (\n) và endl trong lệnh cout.

a)

Cả hai cách như nhau.

b)

Giống nhau nhưng endl thực hiên viêc flush bộ đệm.

c)

endl không thể dùng với cout.

d)

\n không thể dùng với cout.

20.

Khái niệm nào có nghĩa đợi đến khi chương trình chạy để quyết định gọi hàm nào đó:

a)

Data hiding

b)

Dynamic casting

c)

Dynamic binding

d)

Dynamic loading

21.

Liên kế muộn được cài đặt trong C++ bằng cách nào?

a)

Sử dụng C++ tables

b)

Sử dụng Indexed Virtual Tables

c)

Sử dụng polymorphic tables.

d)

Virtual Tables

22.

Đối tượng cin thuộc lớp nào:

a)

iostream

b)

istream

c)

ostream

d)

ifstream

23.

C++ cho phép.

a)

Kiểm tra kiểu động.

b)

Hàm thành viên tĩnh có kiểu hằng.

c)

Kiểm tra kiểu tĩnh và động.

d)

Kiểm tra kiểu tĩnh.

24.

Không thể quá tải toán tử nào:

a)

[]

b)

->

c)

?:

d)

*

25.

Cách khai báo một hàm ảo thuần túy:

a)

virtual void Display(void){0};

b)

virtual void Display = 0;

c)

virtual void Display(void) = 0;

d)

void Display(void) = 0;

26.

Phát biểu đúng về hàm trong C++.

a)

C++ cho phép định nghĩa hàm có tham số là hằng số.

b)

Không thể thay đổi tham số của hàm có khai báo hằng số.

c)

C++ cho phép định nghĩa hàm có tham số là hằng số và không thể thay đổi tham số của hàm có khai báo hằng số.

d)

Không thể sử dụng hằng trong đinh nghĩa hàm.

27.

Thuật toán tìm ra đường dẫn ngắn nhất trong đồ thị.

a)

Quick Sort.

b)

Binary Search.

c)

Phương pháp tìm kiếm Dijkstra.

d)

Thuật toán Greedy.

28.

Kết quả nào đúng khi thực hiện giải thuật sau?
 a[]= {-3, -3, 15, -3}; n= 4; x= -3:
int FindX(int a[], int n, int x)
{int i;
for (i= n-1; i>= 0; i--) if (a[i]==x) return (i);
return (-1);
}

a)

5

b)

9

c)

3

d)

4

29.

Trong phép duyệt cây nhị phân có 24 nút theo thứ tự sau, nút gốc có thứ tự duyệt.

a)

1

b)

2

c)

23

d)

24

30.

Phương pháp truy hồi.

a)

Dùng đệ quy để thay thế bất kỳ T(m) với m < n vào phía phải của phương trình cho đến khi tất cả T(m) với m > 1 được thay thế bởi biểu thức của các T(1) hoặc T(0).

b)

Ta đoán một nghiệm f(n) và dùng chứng minh quy nạp để chứng tỏ rằng T(n) ≤ f(n) với mọi n.

c)

Lấy một đơn vị thời gian và thời gian để chia bài toán kích thước n thành các bài toán con kích thước.

d)

Ta đoán một nghiệm f(n) và dùng chứng minh quy nạp để chứng tỏ rằng T(n) ≤ f(n) với mọi n.

31.

Thời gian trong độ phức tạp thuật toán đo bằng ?

a)

miniseconds

b)

Đếm phép toán chính.

c)

Đếm số lượng câu lệnh.

d)

Dung lượng của thuật toán

32.

Những trường hợp nào không tồn tại trong lý thuyết độ phức tạp của thuật toán?

a)

Tốt nhất

b)

Xấu nhất

c)

Trung bình

d)

Null

33.

Trường hợp xấu nhất xảy ra trong thuật toán tìm kiếm tuyến tính khi.

a)

Dữ liệu tìm kiếm ở khoảng giữa mảng.

b)

Dữ liệu tìm kiếm không có trong mảng.

c)

Dữ liệu tìm kiếm ở phần tử cuối cùng của mảng.

d)

Dữ liệu tìm kiếm ở phần tử cuối của mảng hoặc không có dữ liệu tìm kiếm trong mảng.

34.

Độ phức tạp của thuật toán tìm kiếm tuyến tính:

a)

O(n)

b)

O(log n)

c)

O(n^2)

d)

O(n log n)

35.

Độ phức tạp của thuật toán tìm kiếm nhị phân:

a)

O(n)

b)

O(log n)

c)

O(n^2)

d)

O(n log n)

36.

Độ phức tạp của thuật toán sắp xếp nổi bọt:

a)

O(n)

b)

O(log n)

c)

O(n^2)

d)

O(n log n)

37.

Độ phức tạp của thuật toán sắp xếp hòa trộn

a)

O(n)

b)

O(log n)

c)

O( n^2)

d)

O(n log n)

38.

Thao tác xử lý từng phần tử trong danh sách liệt kê được gọi là?

a)

Sắp xếp

b)

Hòa trộn

c)

Tìm kiếm

d)

Duyệt

39.

Điều nào sau đây không phải là một hạn chế của thuật toán tìm kiếm nhị phân:

a)

Phải sử dụng mảng đã được sắp xếp

b)

Sử dụng mảng đã được sắp xếp tốn kém khi có nhu cầu thêm hay xóa dữ liệu từ mảng.

c)

Phải có cơ chê truy cập trực tiếp phần tử ở giữa

d)

Thuật toán không hiệu quả khi số lượng các phần tử lớn hơn 1000

40.

Thuật ngữ "push" and "pop" liên quan đến.

a)

Array

b)

link list

c)

stack

d)

record

41.

Cấu trúc dữ liệu nào cho phép xóa dữ liệu ở đầu và chèn dữ liệu ở đuôi?

a)

stack

b)

queue

c)

deques

d)

binary search tree

42.

Thuật toán sắp xếp nào thuộc dạng "chia để trị".

a)

Sắp xếp nổi bọt.

b)

Sắp xếp chèn.

c)

Sắp xếp nhanh (quick sort).

d)

Sắp xếp lựa chọn.

43.

Cấu trúc nào tuyến tính:

a)

cây

b)

tệp

c)

mảng

d)

bản ghi (record)

44.

Hai số đo chính cho hiệu quả của thuật toán là:

a)

Bộ xử lý, bộ nhớ

b)

Độ phức tạp;dung lượng

c)

Thời gian và không gian

d)

Dữ liệu, không gian

45.

Thời gian quyết định tính hiệu quả của một thuật toán được đo bằng?

a)

Thời gian tính theo microsecond.

b)

Phép toán chính

c)

Số lượng câu lệnh

d)

Đếm dung lượng của thuật toán

46.

Yếu tố không gian quyết định tính hiệu quả của một thuật toán được đo bằng.

a)

Đếm dung lượng bộ nhớ tối đa dùng bởi thuật toán.

b)

Dung lương bộ nhớ tối thiểu dùng bởi thuật toán.

c)

Dung lương bộ nhớ trung bình dùng bởi thuật toán.

d)

Đếm dung lương đĩa tối đa dùng bởi thuật toán.

47.

Cấu trúc dữ liệu nào không phải là cấu trúc dữ liệu tuyến tính ?

a)

Mảng

b)

danh sách liệt kê

c)

mảng, danh sách liệt kê

d)

đồ thị

48.

Danh sách liệt kê là cấu trúc dữ liệu phù hợp nhất với.

a)

Tập hợp dữ liệu cố định. (mảng)

b)

Kích thước của dữ liệu và cấu trúc dữ liệu thường xuyên thay đổi.

c)

Kích thước của cấu trúc dữ liệu thay đổi.

d)

Kích thước cảu dữ liệu thay đổi.

49.

Địa chỉ của phần tử đầu tiên của mảng được gọi là:

a)

Địa chỉ sàn

b)

Địa chỉ trần

c)

Địa chỉ đầu tiên

d)

Địa chỉ cơ sở

50.

Địa chỉ bộ nhớ của phần tử thứ năm của mảng được tính toán theo công thức:

a)

Array[5] = Base(Array) + 5

b)

Array[5] = Base(Array[5]) + 5

c)

Array[5] = Base(Array) - 5

d)

Array[5] = Base(Array) + 4

51.

Điều kiện cần thiết cho thuật toán tìm kiếm nhị phân là gi?

a)

Danh sách dữ liệu phải được lưu trong bộ nhớ

b)

Có cơ chế truy cập trực tiếp đến phần tử ở giữa trong danh sách bất kỳ sếp

c)

Phải có cơ chê xóa hoặc chèn dữ liệu trong danh sách dữ liệu.

d)

Danh sách dữ liệu phải được sắp xếp

52.

Điều nào sau đây không phải là một hạn chế của thuật toán tìm kiếm nhị phân:

a)

Phải sử dụng mảng đã được sắp xếp

b)

Sử dụng mảng đã được sắp xếp tốn kém khi có nhu cầu thêm hay xóa dữ liệu từ mảng. P

c)

hải có cơ chê truy cập trực tiếp phần tử ở giữa

d)

Thuật toán không hiệu quả khi số lượng các phần tử lớn hơn 1000

53.

Cấu trúc dữ liệu nào không liên quan đến ngăn xếp?

a)

FIFO

b)

Binary tree

c)

Push-down list.

d)

Đồ thị

54.

Kết quả nào đúng khi thực hiện giải thuật sau?
long lt(int n) {
      if (n==0) return 1;
      else return (2*lt(n-1);
}

a)

lt(12) = 2010

b)

lt(12) = 1024

c)

lt(7) = 720

d)

lt(6) = 64

55.

Nút có khóa lớn nhất trong cây nhị phân tìm kiếm khác rỗng là.

a)

Nút con bên phải nhất.

b)

Nút con bên trái.

c)

Nút gốc.

d)

Nút gốc và nút con bên trái

56.

Nút có khóa nhỏ nhất trong cây nhị phân tìm kiếm khác rỗng là.

a)

Nút gốc.

b)

Nút gốc và nút con bên trái

c)

Nút con bên phải.

d)

Nút con bên trái nhất.

57.

Cây nhị phân khác rỗng là cây.

a)

Mỗi nút  đều có hai nút con.

b)

Các nút đều có nút con.

c)

Mỗi nút có không quá hai nút con.

d)

Các nút đều có nút cha.

58.

Đồ thị vô hướng G có chu trình Euler khi và chỉ khi.

a)

G liên thông và mọi đỉnh thuộc G có bậc chẵn.

b)

Mọi đỉnh thuộc G có bậc chẵn.

c)

G có chu trình Hamilton.

d)

G là liên thông.

59.

Đồ thị G là liên thông khi và chỉ khi.

a)

G là đồ thị có hướng.

b)

G là đồ thị vô hướng.

c)

Có đường đi giữa hai đỉnh bất kỳ thuộc G.

d)

G có đường đi Euler.

60.

Chọn phát biểu đúng trong các phát biểu dưới đây: bằng cách chạy thử 1 thuật toán với 1 bộ dữ liệu, ta có thể? đúng

a)

Khẳng định thuật toán đúng nếu nó cho kết quả đúng.

b)

Khẳng định thuật toán sai nếu cho kết quả sai

c)

Khẳng định thuật toán tốt nếu nó cho kết quả nhanh

d)

Khẳng định thuật toán hiệu quả nếu nó cho kết quả

61.

Trong giải thuật, bài toán liệt kê là ?

a)

Bài toán yêu cầu đưa ra danh sách các cấu hình.

b)

Bài toán phân tích đối tượng thành nhiều thành phần.

c)

Bài toán tính số tổ hợp chập k của n theo công thức truy hồi

d)

Bài toán tính số chỉnh hợp

62.

Thời gian thực hiện chương trình là:

a)

Một hàm của kích thước dữ liệu vào và ký hiệu T(n) trong đó n là kích thước  của dữ liệu vào

b)

Một hàm của độ dài dữ liệu vào, ký hiệu N(x) trong đó x là độ dài của dữ liệu vào

c)

Thời gian ngắn nhất để thực hiện chương trình đối với mọi dữ liệu vào có cùng kích thước n

d)

Thời gian thực hiện chương trình trong trường hợp nhanh nhất trên dữ liệu vào có kích thước n

63.

Khi nói đến độ phức tạp của giải thuật là ta muốn nói đến .

a)

Kết quả sau khi thực hiện chương trình.

b)

Hiệu quả của thời gian thực hiện của chương trình.

c)

Các bước tính toán trong quá trình thực hiện chương trình.

d)

Cách thức thực hiện chương trình

64.

Thời gian thực hiện của một chuỗi tuần tự các lệnh được xác định bằng:

a)

Qui tắc cộng

b)

Qui tắc trừ

c)

Quy tắc nhân

d)

Quy tác tổng quát