wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi về mảng trong lập trình C

Total questions: 108

Worksheet time: 54mins

Name
Class
Date
1.

Mảng một chiều là gì?

a)

Một tập hợp các phần tử cùng kiểu dữ liệu

b)

Một dạng bảng gồm nhiều dòng và cột

c)

Một kiểu dữ liệu không có kích thước cố định

d)

Một kiểu dữ liệu chỉ chứa số nguyên

2.

Cách khai báo mảng một chiều trong ngôn ngữ lập trình C là gì?

a)

int arr[]

b)

int arr[10]

c)

int arr(10)

d)

int arr{10}

3.

Kích thước của mảng được xác định như thế nào?

a)

Tại thời điểm khai báo

b)

Trong quá trình chạy chương trình

c)

Không cần xác định

d)

Tùy thuộc vào giá trị của các phần tử

4.

Để truy cập phần tử thứ i trong mảng, chỉ số i bắt đầu từ:

a)

0

b)

1

c)

2

d)

Tùy thuộc vào ngôn ngữ

5.

Mảng hai chiều có thể được xem như là:

a)

Một mảng chứa các mảng một chiều

b)

Một mảng một chiều

c)

Một danh sách liên kết

d)

Một kiểu dữ liệu không có tổ chức

6.

Cách khai báo mảng hai chiều trong ngôn ngữ lập trình C là gì?

a)

int arr[10][20]

b)

int arr(10,20)

c)

int arr{10,20}

d)

int arr[10,20]

7.

Để truy cập phần tử ở hàng i và cột j trong mảng hai chiều, cú pháp là:

a)

arr[i][j]

b)

arr(i,j)

c)

arr[i,j]

d)

arr{ij}

8.

Trong mảng một chiều, số lượng phần tử được xác định như thế nào?

a)

Theo chỉ định của người lập trình

b)

Theo giá trị của phần tử đầu tiên

c)

Theo giá trị của phần tử cuối cùng

d)

Không cần xác định

9.

Trong mảng hai chiều, số hàng và số cột có thể khác nhau không?

a)

b)

Không

c)

Tùy thuộc vào ngôn ngữ lập trình

d)

Chỉ trong một số trường hợp

10.

Để tìm tổng các phần tử của mảng một chiều, ta cần sử dụng:

a)

Vòng lặp

b)

Câu lệnh điều kiện

c)

Hàm

d)

Biến tạm

11.

Đâu là cách khởi tạo mảng một chiều với 5 phần tử là 1, 2, 3, 4, 5?

a)

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

b)

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

c)

int arr = {1, 2, 3, 4, 5};

d)

int arr[5] = (1, 2, 3

12.

Đâu là cách khởi tạo mảng một chiều với 5 phần tử là 1, 2, 3, 4, 5?

a)

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

b)

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

c)

int arr = {1, 2, 3, 4, 5};

d)

int arr[5] = (1, 2, 3, 4, 5);

13.

Mảng hai chiều có bao nhiêu chiều?

a)

1 chiều

b)

2 chiều

c)

3 chiều

d)

Không xác định

14.

Nếu mảng int arr[3][4] thì có bao nhiêu phần tử?

a)

7

b)

12

c)

3

d)

4

15.

Mảng có thể chứa các kiểu dữ liệu khác nhau không?

a)

b)

Không

c)

Tùy thuộc vào ngôn ngữ

d)

Chỉ trong mảng một chiều

16.

Để duyệt qua các phần tử của mảng hai chiều, ta thường sử dụng:

a)

Vòng lặp lồng

b)

Vòng lặp đơn

c)

Câu lệnh điều kiện

d)

Hàm đệ quy

17.

Đâu là một ví dụ về mảng hai chiều trong C?

a)

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

b)

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

c)

int arr[3] = {1, 2, 3};

d)

int arr(3,2) = {{1,2}, {3,4}};

18.

Trong ngôn ngữ lập trình, chỉ số mảng có thể là:

a)

Một số nguyên

b)

Một số thực

c)

Một biến chuỗi

d)

Không có quy định

19.

Khi nào ta cần phải khai báo lại kích thước của mảng?

a)

Khi số lượng phần tử thay đổi

b)

Khi chương trình chạy

c)

Không bao giờ

d)

Khi mảng không đủ dung lượng

20.

Mảng có thể được truyền vào hàm như thế nào?

a)

Chỉ truyền một phần tử

b)

Truyền toàn bộ mảng

c)

Không thể truyền mảng

d)

Truyền kích thước và phần tử

21.

Mảng được sử dụng trong lập trình để:

a)

Lưu trữ và xử lý dữ liệu

b)

Tạo ra giao diện người dùng

c)

Tạo ra các chức năng

d)

Không có tác dụng gì

22.

Để lấy địa chỉ của phần tử đầu tiên trong mảng một chiều, ta sử dụng:

a)

&arr[0]

b)

arr[0]

c)

*arr

d)

arr

23.

Khi nào thì mảng hai chiều được gọi là ma trận?

a)

Khi nó chứa số nguyên

b)

Khi nó có ít nhất 2 hàng và 2 cột

c)

Khi tất cả các phần tử đều giống nhau

d)

K

24.

Khi nào thì mảng hai chiều được gọi là ma trận?

a)

Khi nó chứa số nguyên

b)

Khi nó có ít nhất 2 hàng và 2 cột

c)

Khi tất cả các phần tử đều giống nhau

d)

Khi nó chứa các số thực

25.

Khi nào cần sử dụng mảng động?

a)

Khi số lượng phần tử không biết trước

b)

Khi số lượng phần tử là cố định

c)

Khi cần tối ưu bộ nhớ

d)

Khi cần thực hiện các phép toán trên mảng

26.

Mảng có thể chứa được bao nhiêu phần tử tối đa?

a)

1

b)

Tùy thuộc vào bộ nhớ

c)

0

d)

Không giới hạn

27.

Đâu là ví dụ về cách duyệt mảng một chiều?

a)

for (int i = 0; i < n; i++) { ... }

b)

while (i < n) { ... }

c)

do { ... } while (i < n);

d)

Tất cả đều đúng

28.

Nếu muốn tìm phần tử lớn nhất trong mảng, ta cần làm gì?

a)

So sánh từng phần tử

b)

Sắp xếp mảng

c)

Tạo một mảng mới

d)

Không cần làm gì

29.

Trong mảng hai chiều, phần tử thứ hai của hàng đầu tiên được truy cập bằng cú pháp:

a)

arr[1][0]

b)

arr[0][1]

c)

arr[0][2]

d)

arr[2][0]

30.

Mảng có thể được khởi tạo mà không chỉ định kích thước, điều này xảy ra khi:

a)

Khi khai báo mảng rỗng

b)

Khi khai báo mảng với danh sách khởi tạo

c)

Không bao giờ

d)

Khi mảng có giá trị mặc định

31.

Mỗi phần tử trong mảng hai chiều chiếm bao nhiêu không gian bộ nhớ?

a)

1 byte

b)

2 bytes

c)

Tùy thuộc vào kiểu dữ liệu

d)

Không xác định

32.

Để chuyển đổi từ mảng hai chiều sang mảng một chiều, cần phải:

a)

Sử dụng vòng lặp lồng nhau

b)

Sử dụng một hàm đặc biệt

c)

Không thể chuyển đổi

d)

Tạo một mảng mới

33.

Nếu một mảng được khai báo là int arr[5], phần tử arr[5] sẽ như thế nào?

a)

Hợp lệ

b)

Không hợp lệ

c)

Là phần tử thứ 5

d)

Có giá trị 0

34.

Khi truyền mảng vào hàm, điều gì xảy ra với các phần tử của nó?

a)

Chỉ truyền một phần tử

b)

Truyền tham chiếu

35.

] sẽ như thế nào?

a)

Hợp lệ

b)

Không hợp lệ

c)

Là phần tử thứ 5

d)

Có giá trị 0

36.

Khi truyền mảng vào hàm, điều gì xảy ra với các phần tử của nó?

a)

Chỉ truyền một phần tử

b)

Truyền tham chiếu

c)

Không có gì xảy ra

d)

Sao chép toàn bộ mảng

37.

Để tìm chỉ số của phần tử đầu tiên trong mảng có giá trị bằng x, ta nên:

a)

Sử dụng vòng lặp

b)

Sử dụng hàm

c)

Không cần làm gì

d)

Sắp xếp mảng

38.

Mảng có thể chứa bao nhiêu kiểu dữ liệu khác nhau?

a)

1

b)

2

c)

Nhiều hơn 1

d)

Không giới hạn

39.

Trong một mảng hai chiều, các phần tử có thể được lưu trữ theo thứ tự nào?

a)

Theo hàng

b)

Theo cột

c)

Không quy định

d)

Theo ngẫu nhiên

40.

Để lấy tổng các phần tử trong mảng hai chiều, ta cần:

a)

Vòng lặp lồng nhau

b)

Hàm

c)

Không cần gì

d)

Tất cả đều đúng

41.

Trong C, các phần tử của mảng có thể được khởi tạo như thế nào?

a)

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

b)

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

c)

int arr[5] = {0};

d)

Tất cả đều đúng

42.

Một mảng có thể chứa phần tử nào sau đây?

a)

Đối tượng

b)

Các kiểu dữ liệu nguyên thủy

c)

Không thể chứa các kiểu dữ liệu khác nhau

d)

Tất cả đều đúng

43.

Trong ngôn ngữ lập trình C, phần tử đầu tiên của mảng có chỉ số là:

a)

-1

b)

0

c)

1

d)

Tùy thuộc vào ngôn ngữ

44.

Để xác định chiều dài của một mảng một chiều, ta thường sử dụng:

a)

Kích thước khai báo

b)

Hàm strlen()

c)

Tính bằng cách đếm số phần tử

d)

Không cần xác định

45.

Để truy cập phần tử cuối cùng trong mảng int arr[10], cú pháp là:

a)

arr[10]

b)

arr[9]

c)

arr[0]

d)

arr[-1]

46.

Mảng một chiều có thể chứa:

a)

Chỉ số nguyên

b)

Chỉ số thực

c)

Một kiểu dữ liệu

d)

Tất cả đều đúng

47.

Đâu là một ví dụ về việc truy cập phần tử trong mảng một chiều?

a)

arr(3)

b)

arr{3}

c)

arr[3]

d)

arr.3

48.

có thể chứa:

a)

Chỉ số nguyên

b)

Chỉ số thực

c)

Một kiểu dữ liệu

d)

Tất cả đều đúng

49.

Đâu là một ví dụ về việc truy cập phần tử trong mảng một chiều?

a)

arr(3)

b)

arr{3}

c)

arr[3]

d)

arr.3

50.

Để tìm giá trị nhỏ nhất trong mảng một chiều, ta sử dụng:

a)

Vòng lặp

b)

Hàm sắp xếp

c)

Hàm tìm kiếm

d)

Không cần làm gì

51.

Các phần tử trong mảng một chiều có thể được gán giá trị như thế nào?

a)

Trong khi khai báo

b)

Trong quá trình thực thi

c)

Tất cả đều đúng

d)

Không thể gán

52.

Mảng một chiều được sử dụng phổ biến trong các ứng dụng nào?

a)

Lưu trữ danh sách

b)

Tính toán số liệu

c)

Không gian bộ nhớ

d)

Tất cả đều đúng

53.

Số lượng phần tử tối đa trong mảng phụ thuộc vào:

a)

Kiểu dữ liệu

b)

Bộ nhớ

c)

Cả A và B

d)

Không xác định

54.

Để truy cập tất cả phần tử trong mảng, thường dùng:

a)

Chỉ số

b)

Biến

c)

Hàm

d)

Tất cả đều đúng

55.

Mảng hai chiều có thể dùng để lưu trữ dữ liệu nào?

a)

Ma trận

b)

Bảng điểm

c)

Thông tin khách hàng

d)

Tất cả đều đúng

56.

Để lấy chiều dài của mảng hai chiều, ta thường sử dụng:

a)

Kích thước của hàng

b)

Kích thước của cột

c)

Số lượng hàng * số lượng cột

d)

Tất cả đều đúng

57.

Nếu mảng được khai báo là float arr[3][4], mỗi phần tử chiếm bao nhiêu byte?

a)

2 bytes

b)

4 bytes

c)

8 bytes

d)

Tùy thuộc vào hệ thống

58.

Mảng có thể chứa các phần tử nào trong C?

a)

Số nguyên

b)

Số thực

c)

Ký tự

d)

Tất cả đều đúng

59.

Để lưu trữ thông tin sinh viên trong một lớp, mảng nào là thích hợp nhất?

a)

Mảng một chiều

b)

Mảng hai chiều

c)

Không cần mảng

d)

Danh sách liên kết

60.

Khi nào cần sử dụng mảng ba chiều?

a)

Khi cần nhiều dữ liệu hơn

b)

Khi lưu trữ các ma trận phức tạp

c)

Chỉ khi được yêu cầu

d)

Không bao giờ

61.

Khi nào cần sử dụng mảng ba chiều?

a)

Khi cần nhiều dữ liệu hơn

b)

Khi lưu trữ các ma trận phức tạp

c)

Chỉ khi được yêu cầu

d)

Không bao giờ

62.

Phép toán nào sau đây không thể thực hiện trên mảng?

a)

Truy cập

b)

Cộng dồn

c)

So sánh

d)

Nhân với số

63.

Để tìm số lượng phần tử trong mảng một chiều, ta cần:

a)

Tính bằng cách đếm

b)

Kiểm tra kích thước khai báo

c)

Không cần làm gì

d)

Sử dụng hàm đặc biệt

64.

Khi nào ta nên sử dụng mảng thay vì biến đơn lẻ?

a)

Khi cần lưu trữ nhiều giá trị cùng loại

b)

Khi chỉ cần một giá trị

c)

Khi dữ liệu không liên quan

d)

Không bao giờ

65.

Mảng có thể được khởi tạo bằng cách nào?

a)

Khai báo và gán giá trị

b)

Sử dụng vòng lặp

c)

Sử dụng hàm

d)

Tất cả đều đúng

66.

Trong C, mảng có thể chứa các phần tử kiểu dữ liệu nào?

a)

Chỉ số nguyên

b)

Ký tự

c)

Số thực

d)

Tất cả đều đúng

67.

Nếu một mảng được khai báo là char arr[5], phần tử arr[5] sẽ như thế nào?

a)

Hợp lệ

b)

Không hợp lệ

c)

Là phần tử thứ 5

d)

Có giá trị 0

68.

Để xóa một phần tử trong mảng, ta thường:

a)

Di chuyển các phần tử sau nó

b)

Gán giá trị 0 cho nó

c)

Không thể xóa

d)

Thay thế bằng giá trị khác

69.

Mảng một chiều có thể sử dụng để lưu trữ thông tin nào?

a)

Điểm số

b)

Tên sinh viên

c)

Danh sách sản phẩm

d)

Tất cả đều đúng

70.

Để sao chép nội dung của một mảng vào mảng khác, ta cần:

a)

Sử dụng vòng lặp

b)

Hàm memcpy()

c)

Không thể sao chép

d)

Tất cả đều đúng

71.

Trong mảng hai chiều, ta có thể lưu trữ dữ liệu theo cách nào?

a)

Theo hàng

b)

Theo cột

c)

Theo ma trận

d)

Tất cả đều đúng

72.

Khi sử dụng mảng, việc kiểm tra các chỉ số có hợp lệ không là rất quan trọng vì:

a)

Nó giúp tránh lỗi

b)

Nó làm chương trình chạy nhanh hơn

c)

Nó không cần thiết

d)

Nó làm tăng bộ nhớ

73.

Để duyệt qua một mảng hai chiều, ta cần:

a)

Hai vòng lặp

b)

Một vòng lặp

c)

Hàm

d)

Câu lệnh điều kiện

74.

Trong C, phần tử thứ hai của mảng hai chiều int arr[3][4] có chỉ số là:

a)

arr[1][0]

b)

arr[0][1]

c)

arr[1][1]

d)

arr[0][2]

75.

Để tìm tổng các phần tử trong mảng hai chiều, công thức tổng quát là:

a)

tổng = arr[i][j];

b)

tổng += arr[i][j];

c)

tổng = arr[i] + arr[j];

d)

Không thể tính

76.

Khi nào mảng một chiều cần phải được sắp xếp?

a)

Khi tìm kiếm phần tử

b)

Khi thêm phần tử

c)

Khi xóa phần tử

d)

Không cần sắp xếp

77.

Nếu ta có mảng int arr[5] = {1, 2, 3, 4, 5};, phần tử thứ ba sẽ là:

a)

2

b)

3

c)

4

d)

5

78.

Mảng có thể được khai báo với kích thước nào?

a)

Kích thước cố định

b)

Kích thước thay đổi

c)

Tùy thuộc vào điều kiện

d)

Tất cả đều đúng

79.

Để khởi tạo một mảng có kích thước lớn trong C, ta thường:

a)

Sử dụng mảng động

b)

Sử dụng mảng tĩnh

c)

Không cần khai báo

d)

Tất cả đều đúng

80.

Đâu là một cách sử dụng mảng không hợp lệ?

a)

int arr[10];

b)

int arr[-1];

c)

int arr[0];

d)

int arr[5];

81.

Để truyền mảng vào hàm, ta khai báo như thế nào?

a)

void func(int arr[]);

b)

void func(int arr[10]);

c)

void func(int arr[0]);

d)

Tất cả đều đúng

82.

Để truy cập phần tử ở hàng i và cột j trong mảng hai chiều, cú pháp là:

a)

arr[i][j]

b)

arr[j][i]

c)

arr(i, j)

d)

arr{i,j}

83.

Tính năng nào sau đây không có trong mảng?

a)

Duyệt qua phần tử

b)

Thay đổi kích thước

c)

Lưu trữ dữ liệu

d)

Sắp xếp phần tử

84.

Tính năng nào sau đây không có trong mảng?

a)

Duyệt qua phần tử

b)

Thay đổi kích thước

c)

Lưu trữ dữ liệu

d)

Sắp xếp phần tử

85.

Mảng nào sau đây là hợp lệ trong ngôn ngữ C?

a)

int arr[5];

b)

int arr[];

c)

int arr[-1];

d)

int arr[0];

86.

Để lấy địa chỉ của một phần tử trong mảng, ta dùng:

a)

&arr[i]

b)

arr[i]

c)

arr[i+1]

d)

*arr

87.

Nếu một mảng có kích thước n, thì chỉ số lớn nhất có thể là:

a)

n

b)

n-1

c)

n+1

d)

Không xác định

88.

Để tìm phần tử lớn nhất trong mảng, ta có thể sử dụng:

a)

Vòng lặp và biến tạm

b)

Phép so sánh

c)

Cả A và B

d)

Không cần làm gì

89.

Trong mảng hai chiều, nếu int arr[3][4], tổng số phần tử là:

a)

3

b)

4

c)

12

d)

7

90.

Mảng một chiều có thể được sử dụng để:

a)

Lưu trữ điểm số

b)

Lưu trữ tên sinh viên

c)

Lưu trữ dữ liệu khác nhau

d)

Tất cả đều đúng

91.

Mảng có thể được khai báo với kích thước là một biến không?

a)

b)

Không

c)

Tùy thuộc vào ngôn ngữ

d)

Không thể

92.

Để truy cập tất cả phần tử trong mảng, ta thường sử dụng:

a)

Vòng lặp

b)

Điều kiện

c)

Hàm

d)

Không cần

93.

Để thay đổi giá trị của một phần tử trong mảng, cú pháp là:

a)

arr[i] = newValue;

b)

arr[i] := newValue;

c)

arr[i] = newValue[];

d)

arr[i] <- newValue;

94.

Nếu ta có mảng int arr[4] = {5, 10, 15, 20};, phần tử thứ hai có giá trị là:

a)

10

b)

15

c)

20

d)

5

95.

Mảng có thể được khởi tạo cùng với các giá trị cụ thể như sau:

a)

int arr[] = {1, 2, 3};

b)

int arr[3] = {1, 2, 3};

c)

Cả A và B

d)

Không thể khởi tạo

96.

Để tìm phần tử ở chỉ số thứ n trong mảng một chiều, cú pháp là:

a)

arr[n]

b)

arr(n)

c)

arr[n-1]

d)

arr{n}

97.

ìm phần tử ở chỉ số thứ n trong mảng một chiều, cú pháp là:

a)

arr[n]

b)

arr(n)

c)

arr[n-1]

d)

arr{n}

98.

Để duyệt qua một mảng hai chiều và in ra từng phần tử, ta sử dụng:

a)

Một vòng lặp đơn

b)

Hai vòng lặp lồng nhau

c)

Một hàm

d)

Không cần làm gì

99.

Mảng một chiều có thể lưu trữ:

a)

Danh sách số nguyên

b)

Danh sách số thực

c)

Danh sách ký tự

d)

Tất cả đều đúng

100.

Để khởi tạo một mảng hai chiều với kích thước 3x4, cú pháp là:

a)

int arr[3][4];

b)

int arr[4][3];

c)

int arr[3, 4];

d)

int arr[3] [4];

101.

Khi sử dụng mảng trong C, điều gì có thể xảy ra nếu ta truy cập chỉ số không hợp lệ?

a)

Lỗi biên

b)

Truy cập giá trị ngẫu nhiên

c)

Không có gì xảy ra

d)

Tất cả đều đúng

102.

Để lấy địa chỉ của mảng một chiều, ta sử dụng:

a)

&arr

b)

arr

c)

*arr

d)

Cả A và B

103.

Trong một mảng hai chiều, phần tử arr[i][j] đại diện cho:

a)

Hàng i, cột j

b)

Hàng j, cột i

c)

Hàng j, cột j

d)

Không xác định

104.

Để tìm vị trí của phần tử lớn nhất trong mảng, cần thực hiện:

a)

Vòng lặp và so sánh

b)

Sắp xếp mảng

c)

Không cần thực hiện

d)

Sử dụng hàm

105.

Nếu mảng được khai báo là int arr[10];, kích thước tối đa của mảng là:

a)

10

b)

9

c)

11

d)

Không xác định

106.

Để đếm số phần tử dương trong mảng, ta sử dụng:

a)

Vòng lặp và biến đếm

b)

Hàm

c)

Cả A và B

d)

Không cần làm gì

107.

Nếu mảng int arr[4] = {1, 2, 3, 4};, tổng của các phần tử là:

a)

10

b)

15

c)

8

d)

4

108.

Mảng có thể được sử dụng trong những trường hợp nào?

a)

Lưu trữ dữ liệu

b)

Thực hiện phép toán

c)

Tổ chức thông tin

d)

Tất cả đều đúng