wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Kiến thức về xử lý mảng 1 chiều trong C++

Total questions: 50

Worksheet time: 31mins

Name
Class
Date
1.

Khai báo một mảng có tên là 'numbers' gồm 5 phần tử kiểu int trong ngôn ngữ C++.

a)

int numbers[6];

b)

int numbers[] = {1, 2, 3, 4, 5};

c)

int numbers[5];

d)

int numbers[5];

2.

Làm thế nào để truy cập vào phần tử thứ 3 trong mảng 'numbers'?

a)

numbers[3]

b)

numbers[2]

c)

number[3]

d)

number[2]

3.

Viết đoạn code để thay đổi giá trị của phần tử thứ 2 trong mảng 'numbers' thành 10.

a)

numbers[2] = 10

b)

numbers[0] = 10

c)

numbers[1] = 10

d)

numbers[1] = 2

4.

Khai báo một mảng có tên là 'grades' gồm 10 phần tử kiểu float trong ngôn ngữ C++.

a)

float grades[10];

b)

float grades[10]

c)

float grades[] = new float[10];

d)

float[] grades = new float[10];

5.

Làm thế nào để truy cập vào phần tử thứ 7 trong mảng 'grades'?

a)

grades[6]

b)

grades[5]

c)

grades[1]

d)

grades[0]

6.

Viết đoạn code để thay đổi giá trị của phần tử thứ 5 trong mảng 'grades' thành 8.5.

a)

grades[5] = 8.5

b)

grades[6] = 8.5

c)

grades[4] = 8.5

d)

grades[3] = 8.5

7.

Viết đoạn code để tìm kiếm phần tử có giá trị 9.2 trong mảng 'grades'.

a)

grades.index(9.2)

b)

grades.locate(9.2)

c)

grades.search(9.2)

d)

grades.find(9.2)

8.

Khai báo một mảng có tên là 'names' gồm 3 phần tử kiểu string trong ngôn ngữ C++.

a)

string names[3];

b)

string names[] = {'name1', 'name2', 'name3'};

c)

string names[3] = {'name1', 'name2', 'name3'};

d)

string name[3];

9.

Phát biểu nào dưới đây về kiểu mảng là phù hợp?

a)

Là một tập hợp các số nguyên hay số thực

b)

Là tập hợp có 100 tối đa phần tử

c)

Là tập hợp các phần tử cùng kiểu

d)

Là tập hợp nhiều phần tử

10.

Để khai báo số phần tử của mảng trong C, người lập trình cần:

a)

khai báo một hằng số là số phần tử của mảng

b)

khai báo chỉ số bắt đầu và kết thúc của mảng

c)

khai báo chỉ số kết thúc của mảng

d)

không cần khai báo gì, hệ thống sẽ tự xác định

11.

Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?

a)

Dùng để truy cập đến một phần tử bất kì trong mảng

b)

Dùng để quản lí kích thước của mảng

c)

Dùng cho vòng lặp khi thao tác trên mảng

d)

Dùng để chỉ số lượng phần tử của mảng

12.

Để truy xuất tới phần tử đầu tiên của mảng 1 chiều a ta viết:

a)

a[1]

b)

a[0]

c)

a[i]

d)

a[]

13.

Để truy xuất tới phần tử cuối cùng của mảng 1 chiều a gồm n phần tử ta viết:

a)

a[n]

b)

a[n+1]

c)

a[100]

d)

a[n-1]

14.

Số phần tử của mảng là:

a)

Vô hạn.

b)

Có giới hạn.

c)

Có n phần tử.

d)

Có 100 phần tử.

15.

Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau:

int x[3]={4,2,6}; Nghĩa là:

a)

x[1]=4, x[2]=2, x[3]=6.

b)

x[0]=4, x[1]=2, x[2]=6;

c)

Khai báo không đúng.

d)

Kết quả khác.

16.

Lệnh nào được sử dụng để truy cập phần tử trong mảng trong ngôn ngữ lập trình C/C++?

a)

.

b)

:

c)

[

d)

{

17.

Kích thước của một mảng trong ngôn ngữ lập trình C/C++ là bao nhiêu?

a)

Được xác định khi khai báo mảng

b)

Luôn là 10

c)

Tùy thuộc vào hệ thống máy tính sử dụng

d)

Không có giới hạn

18.

Cho một mảng số nguyên arr gồm 5 phần tử, với giá trị arr[0] = 2, arr[1] = 4, arr[2] = 6, arr[3] = 8, arr[4] = 10. Hãy thay đổi giá trị của phần tử đầu tiên trong mảng này thành 1.

a)

arr[1] = 1;

b)

arr[2] = 1;

c)

arr[0] = 1;

d)

arr[4] = 1;

19.

Cho một mảng số nguyên arr gồm 5 phần tử, với giá trị arr[0] = 1, arr[1] = 3, arr[2] = 5, arr[3] = 7, arr[4] = 9. Hãy in ra các phần tử trong mảng này, mỗi phần tử trên một dòng.

a)

for (i = 0; i < 5; i++) { cout << arr[i] << '\n'; }

b)

for (i = 1; i <= 5; i++) { cout << arr[i] << '\t'; }

c)

for (i = 0; i <= 4; i++) { cout << arr[i] << '\t'; }

d)

for (i = 1; i < 5; i++) { cout << arr[i] << '\n'; }

20.

Trong ngôn ngữ C/C++, một mảng được lưu trữ trong bộ nhớ theo cách nào sau đây?

a)

Liên tục nhau

b)

Ngẫu nhiên

c)

Theo thứ tự tăng dần

d)

Theo thứ tự giảm dần

21.

Chỉ thị nào sau đây là đúng khi dùng để khai báo một biến nguyên có tên là sum

a) sum: integer;

b) integer sum;

c) int sum;

d) sum int;

a)

a

b)

b

c)

c

d)

d

22.

Cho S, i và N>0 là các biến nguyên. Ðể tính S = N!, chọn câu nào :

a) S = 1; for (i = 1;i<=N;) S = S * (i++);

b) S = 0; for( i= 1;i<=N;++i) S = S * i;

c) S = 1; for( i = 1;i<=N;++i) S = S * N;

d) S= 1; for( i= 1;i<=N;++i) S = S + i;

a)

a

b)

b

c)

c

d)

d

23.

Khi chạy chương trình :

int S, i, j ;

void main()

{

S = 0;

for( i= 1;i<=3;++i)

for (j= 1;j<=4;++j) S= S + 1 ;

}

Giá trị sau cùng của S là :

a)

0

b)

12

c)

3

d)

4

24.

Which of the following is the correct way to declare an integer array having 20 elements?

a)
Array [] =Arr[20];
b)
int Arr[20];
c)
int[20] Arr;
d)
int Arr= new [20];
25.

Which of the following is the correct way to declare an Array "MyArr" which is a double array having 10 elements?

a)
Array [] =MyArr[10];
b)
double MyArr[10];
c)
double[10] MyArr;
d)
int MyArr= new [10];
26.
Which of the following statement Declare an array called ABC of 5 elements of type int and initialize all the elements to 100?
a)
int ABC[5]= {100,100,100,100,100};
b)
int ABC[ ]= {5,100};
c)
int ABC[5]= {5,100};
d)
int[5] ABC= {100,100,100,100,100};
27.

Cho biết lệnh sau có ý nghĩa gì?

#define MAX 1000

a)

Định nghĩa một hằng số MAX có giá trị 100

b)

Định nghĩa một biến số MAX có giá trị 100

c)

Khai báo thư viện MAX 100

d)

Định nghĩa một hằng số

28.

cout << "1\t2\t3\n";
Ký tự '\t' có ý nghĩa gì?

a)

Thêm một ký tự khoảng trắng tab

b)

Thêm một chuỗi ký tự khoảng trắng tab

c)

Chuyển sang dòng mới

d)

In chữ \t ra màn hình

29.

Mảng số nguyên a được khai báo có kích thước là 10. Nhận định nào sau đây là sai?

a)

Mảng a có thể chứa các phần tử là số nguyên và ký tự

b)

Mảng a có kích thước tối đa là 11 phần tử

c)

Chỉ số của các phần tử thuộc [0;9]

d)

Mảng a có thể có hoặc không có giá trị khởi tạo

30.

Cho khai báo sau: int mang[5] = {2, 4, 6, 8, 10};

Nhận định nào sau đây là sai?

a)

Giá trị của mang[4] là 10

b)

10 nằm ở vị trí cuối cùng trong danh sách

c)

mang[5] có giá trị là 10

d)

Mảng có thể chứa ít hơn 5 phần tử

31.

system("cls"); có chức năng là gì?

a)

Xóa toàn bộ màn hình Console

b)

In dòng chữ "cls" lên màn hình Console

c)

Tạm dừng chương trình để chờ người dùng thao tác tiếp

d)

Thoát khỏi chương trình

32.

Điều kiện lặp (stt < 0 || stt > soMenu) nằm trong hàm ChonMenu có ý nghĩa là gì?

a)

Nếu người dùng nhập giá trị âm hoặc lớn hơn soMenu thì sẽ yêu cầu nhập lại đến khi nào mà giá trị nhập thuộc [0;soMenu]

b)

Nếu người dùng nhập giá trị âm hoặc lớn hơn soMenu thì sẽ yêu cầu nhập lại đến khi nào mà giá trị nhập thuộc (0;soMenu)

c)

Nếu người dùng nhập giá trị lớn hoặc bằng 0 VÀ nhỏ hơn hoặc bằng soMenu thì sẽ yêu cầu nhập lại đến khi nào mà giá trị nhập là số âm hoặc lớn hơn SoMenu

d)

Nếu người dùng nhập giá trị âm hoặc lớn hơn soMenu thì dừng lại

33.

Tại sao cần phải lưu trữ số phần tử hiện có trong mảng bên cạnh kích thước mảng?

a)

Mảng có thể có số lượng các phần tử ít hơn kích thước khai báo nên cần phải có biến lưu số phần tử để dễ kiểm soát

b)

Số phần tử có trong mảng và kích thước mảng khi khai báo là một nên không cần lưu

c)

Số phần tử có trong mảng là giá trị bất biến, có thể lớn hơn kích thước khai báo mảng

d)

Kích thước khai báo mảng là giá trị có thể thay đổi được, cũng giống như số phần tử hiện có trong mảng

34.

Tại sao trước tham số n trong hàm XuLyMenu và ChayChuongTrinh phải có thêm dấu &? Nếu không có dấu & này, chương trình sẽ gặp vấn đề gì?

4 lines
35.

Trong hàm int ChuaX(DaySo a, int n, int x). n và x là gì?

a)

n là giá trị cần tìm trong mảng

b)

n là số lượng phần tử hiện có trong mảng, x là giá trị cần tìm

c)

x là số lượng phần tử có trong mảng

d)

n là kích thước của mảng, x là giá trị cần tìm

36.

Tại sao đa số lệnh lặp từng phần tử trong mảng lại sử dụng:

for (int i = 0; i < n; i++)

a)

Vì nó cho phép lặp hết các phần tử hiện có trong mảng

b)

Vì nó cho phép lặp hết các phần tử trong mảng

c)

Vì nó thực hiện nhanh và không gặp lỗi

d)

Vì nó đơn giản và chính xác

37.

Quan sát hình bên và cho biết ý nghĩa của kq

a)

kq = 0 nghĩa là tìm thấy x trong mảng. kq = 1 nghĩa là không tìm thấy x trong mảng

b)

kq = 1 nghĩa là tìm thấy x trong mảng. kq = 0 nghĩa là không tìm thấy x trong mảng

c)

kq luôn bằng 0

d)

kq luôn bằng 1

38.

Quan sát hình bên và cho biết thế nào được gọi là mảng tăng?

a)

Các phần tử đứng sau luôn lớn hơn các phần tử đứng trước trong mảng

b)

Các phần tử đứng trước luôn lớn hơn các phần tử đứng sau trong mảng

c)

Các phần tử đứng sau lớn hơn phần tử đứng trước 1 đơn vị

d)

Các phần tử đứng sau luôn lớn hơn hoặc bằng các phần tử đứng trước trong mảng

39.

Quan sát hình bên và cho biết thế nào là kỹ thuật thử - sai?

a)

Giả sử phần tử đầu tiên là lớn nhất, nếu sau phần tử đầu tiên mà có các phần tử nhỏ hơn thì phần tử nhỏ hơn nó sẽ là phần tử lớn nhất

b)

Giả sử phần tử đầu tiên là lớn nhất, nếu sau phần tử đầu tiên mà có các phần tử lớn hơn thì phần tử lớn hơn nó sẽ là phần tử lớn nhất

c)

Giả sử phần tử đầu tiên là lớn nhất, sau đó cập nhật giá trị lớn nhất bằng các phần tử đứng sau

d)

Giả sử phần tử đầu tiên là lớn nhất, sau đó cập nhật giá trị lớn nhất bằng các phần tử đứng sau nhỏ hơn nó

40.

Giả sử mảng số nguyên a có chứa các số nguyên có giá trị giống nhau. Nhận định nào sau đây là sai?

a)

Không có phần tử nào là lớn nhất và nhỏ nhất

b)

Phần tử lớn nhất cũng chính là phần tử nhỏ nhất

c)

Phần tử lớn nhất và phần tử nhỏ nhất đều chính là các phần tử trong mảng

d)

Có thể lấy giá trị ở vị trí đầu tiên là phần tử lớn nhất, có thể lấy giá trị ở vị trí cuối cùng là phần tử nhỏ nhất

41.

Quan sát hình bên và cho biết hàm này có kết quả là gì?

a)

Vị trí của x có trong DaySo a

b)

Số lượng phần tử giống như x có trong DaySo a

c)

Vị trí đầu tiên x xuất hiện trong DaySo a

d)

Vị trí cuối cùng x xuất hiện trong DaySo a

42.

int x = 10;

int y = 20;

HoanVi(x, y);

y += y;

x += y;

cout << y;

// cho biết y có giá trị là bao nhiêu khi xuất ra màn hình Console

(a)  

43.

Quan sát hình bên và cho biết tại sao phải khởi tạo biến sum = 0?

a)

Vì chỉ có khởi tạo thì mới có thể thực hiện được toán tử +=

b)

Vì tổng DaySo a luôn bằng 0

c)

Vì tổng DaySo a luôn lớn hơn 0

d)

Vì toán tử += thay đổi giá trị của a[i] nên sum bằng 0 để không làm thay đổi a[i]

44.

Từ 1 đến 100 có bao nhiêu số nguyên tố?

a)

100

b)

25

c)

26

d)

10

45.

int n = 10;

cout << LaSoNT(n);

// Cho biết kết quả xuất trên màn hình Console

(a)  

46.

Quan sát hình bên và cho biết hàm này là hàm gì?

a)

Hoán đổi vị trí của biến tam, x và y

b)

Hoán đổi giá trị của x và y cho nhau

c)

Gán y cho x

d)

Gán x cho tam, y cho x và y cho tam

47.

Hình bên cho thấy một đặc điểm nào của mảng một chiều?

a)

Các phần tử trong mảng nằm liền kề nhau trong bộ nhớ

b)

Các phần tử trong mảng có chỉ số bắt đầu từ 200

c)

Chỉ số của mảng bắt đầu tử 0

d)

Các phần tử trong mảng có thể chứa các giá trị thuộc các kiểu dữ liệu khác nhau

48.

Tổng của 2023 số tự nhiên đầu tiên?

(a)  

49.

Cho biết toán tử nào phù hợp với phép toán ở hình?

int ketQua = 1;

for (int i = 1; i <= 10; i++)

ketQua (a)   i;

50.

Cho biết toán tử nào phù hợp với phép toán ở hình?

int ketQua = 0;

for (int i = 1; i <= 2023; i++)

ketQua (a)   i;