WorksheetsCâu hỏi về mảng trong lập trình C
Total questions: 108
Worksheet time: 54mins
Mảng một chiều là gì?
Một tập hợp các phần tử cùng kiểu dữ liệu
Một dạng bảng gồm nhiều dòng và cột
Một kiểu dữ liệu không có kích thước cố định
Một kiểu dữ liệu chỉ chứa số nguyên
Cách khai báo mảng một chiều trong ngôn ngữ lập trình C là gì?
int arr[]
int arr[10]
int arr(10)
int arr{10}
Kích thước của mảng được xác định như thế nào?
Tại thời điểm khai báo
Trong quá trình chạy chương trình
Không cần xác định
Tùy thuộc vào giá trị của các phần tử
Để truy cập phần tử thứ i trong mảng, chỉ số i bắt đầu từ:
0
1
2
Tùy thuộc vào ngôn ngữ
Mảng hai chiều có thể được xem như là:
Một mảng chứa các mảng một chiều
Một mảng một chiều
Một danh sách liên kết
Một kiểu dữ liệu không có tổ chức
Cách khai báo mảng hai chiều trong ngôn ngữ lập trình C là gì?
int arr[10][20]
int arr(10,20)
int arr{10,20}
int arr[10,20]
Để truy cập phần tử ở hàng i và cột j trong mảng hai chiều, cú pháp là:
arr[i][j]
arr(i,j)
arr[i,j]
arr{ij}
Trong mảng một chiều, số lượng phần tử được xác định như thế nào?
Theo chỉ định của người lập trình
Theo giá trị của phần tử đầu tiên
Theo giá trị của phần tử cuối cùng
Không cần xác định
Trong mảng hai chiều, số hàng và số cột có thể khác nhau không?
Có
Không
Tùy thuộc vào ngôn ngữ lập trình
Chỉ trong một số trường hợp
Để tìm tổng các phần tử của mảng một chiều, ta cần sử dụng:
Vòng lặp
Câu lệnh điều kiện
Hàm
Biến tạm
Đâ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?
int arr[] = {1, 2, 3, 4, 5};
int arr[5] = {1, 2, 3, 4, 5};
int arr = {1, 2, 3, 4, 5};
int arr[5] = (1, 2, 3
Đâ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?
int arr[] = {1, 2, 3, 4, 5};
int arr[5] = {1, 2, 3, 4, 5};
int arr = {1, 2, 3, 4, 5};
int arr[5] = (1, 2, 3, 4, 5);
Mảng hai chiều có bao nhiêu chiều?
1 chiều
2 chiều
3 chiều
Không xác định
Nếu mảng int arr[3][4] thì có bao nhiêu phần tử?
7
12
3
4
Mảng có thể chứa các kiểu dữ liệu khác nhau không?
Có
Không
Tùy thuộc vào ngôn ngữ
Chỉ trong mảng một chiều
Để duyệt qua các phần tử của mảng hai chiều, ta thường sử dụng:
Vòng lặp lồng
Vòng lặp đơn
Câu lệnh điều kiện
Hàm đệ quy
Đâu là một ví dụ về mảng hai chiều trong C?
int arr[3][2] = {{1, 2}, {3, 4}, {5, 6}};
int arr[3][2] = {1, 2, 3, 4, 5, 6};
int arr[3] = {1, 2, 3};
int arr(3,2) = {{1,2}, {3,4}};
Trong ngôn ngữ lập trình, chỉ số mảng có thể là:
Một số nguyên
Một số thực
Một biến chuỗi
Không có quy định
Khi nào ta cần phải khai báo lại kích thước của mảng?
Khi số lượng phần tử thay đổi
Khi chương trình chạy
Không bao giờ
Khi mảng không đủ dung lượng
Mảng có thể được truyền vào hàm như thế nào?
Chỉ truyền một phần tử
Truyền toàn bộ mảng
Không thể truyền mảng
Truyền kích thước và phần tử
Mảng được sử dụng trong lập trình để:
Lưu trữ và xử lý dữ liệu
Tạo ra giao diện người dùng
Tạo ra các chức năng
Không có tác dụng gì
Để lấy địa chỉ của phần tử đầu tiên trong mảng một chiều, ta sử dụng:
&arr[0]
arr[0]
*arr
arr
Khi nào thì mảng hai chiều được gọi là ma trận?
Khi nó chứa số nguyên
Khi nó có ít nhất 2 hàng và 2 cột
Khi tất cả các phần tử đều giống nhau
K
Khi nào thì mảng hai chiều được gọi là ma trận?
Khi nó chứa số nguyên
Khi nó có ít nhất 2 hàng và 2 cột
Khi tất cả các phần tử đều giống nhau
Khi nó chứa các số thực
Khi nào cần sử dụng mảng động?
Khi số lượng phần tử không biết trước
Khi số lượng phần tử là cố định
Khi cần tối ưu bộ nhớ
Khi cần thực hiện các phép toán trên mảng
Mảng có thể chứa được bao nhiêu phần tử tối đa?
1
Tùy thuộc vào bộ nhớ
0
Không giới hạn
Đâu là ví dụ về cách duyệt mảng một chiều?
for (int i = 0; i < n; i++) { ... }
while (i < n) { ... }
do { ... } while (i < n);
Tất cả đều đúng
Nếu muốn tìm phần tử lớn nhất trong mảng, ta cần làm gì?
So sánh từng phần tử
Sắp xếp mảng
Tạo một mảng mới
Không cần làm gì
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:
arr[1][0]
arr[0][1]
arr[0][2]
arr[2][0]
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:
Khi khai báo mảng rỗng
Khi khai báo mảng với danh sách khởi tạo
Không bao giờ
Khi mảng có giá trị mặc định
Mỗi phần tử trong mảng hai chiều chiếm bao nhiêu không gian bộ nhớ?
1 byte
2 bytes
Tùy thuộc vào kiểu dữ liệu
Không xác định
Để chuyển đổi từ mảng hai chiều sang mảng một chiều, cần phải:
Sử dụng vòng lặp lồng nhau
Sử dụng một hàm đặc biệt
Không thể chuyển đổi
Tạo một mảng mới
Nếu một mảng được khai báo là int arr[5], phần tử arr[5] sẽ như thế nào?
Hợp lệ
Không hợp lệ
Là phần tử thứ 5
Có giá trị 0
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ó?
Chỉ truyền một phần tử
Truyền tham chiếu
] sẽ như thế nào?
Hợp lệ
Không hợp lệ
Là phần tử thứ 5
Có giá trị 0
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ó?
Chỉ truyền một phần tử
Truyền tham chiếu
Không có gì xảy ra
Sao chép toàn bộ mảng
Để tìm chỉ số của phần tử đầu tiên trong mảng có giá trị bằng x, ta nên:
Sử dụng vòng lặp
Sử dụng hàm
Không cần làm gì
Sắp xếp mảng
Mảng có thể chứa bao nhiêu kiểu dữ liệu khác nhau?
1
2
Nhiều hơn 1
Không giới hạn
Trong một mảng hai chiều, các phần tử có thể được lưu trữ theo thứ tự nào?
Theo hàng
Theo cột
Không quy định
Theo ngẫu nhiên
Để lấy tổng các phần tử trong mảng hai chiều, ta cần:
Vòng lặp lồng nhau
Hàm
Không cần gì
Tất cả đều đúng
Trong C, các phần tử của mảng có thể được khởi tạo như thế nào?
int arr[5] = {1, 2, 3, 4};
int arr[5] = {1, 2, 3};
int arr[5] = {0};
Tất cả đều đúng
Một mảng có thể chứa phần tử nào sau đây?
Đối tượng
Các kiểu dữ liệu nguyên thủy
Không thể chứa các kiểu dữ liệu khác nhau
Tất cả đều đúng
Trong ngôn ngữ lập trình C, phần tử đầu tiên của mảng có chỉ số là:
-1
0
1
Tùy thuộc vào ngôn ngữ
Để xác định chiều dài của một mảng một chiều, ta thường sử dụng:
Kích thước khai báo
Hàm strlen()
Tính bằng cách đếm số phần tử
Không cần xác định
Để truy cập phần tử cuối cùng trong mảng int arr[10], cú pháp là:
arr[10]
arr[9]
arr[0]
arr[-1]
Mảng một chiều có thể chứa:
Chỉ số nguyên
Chỉ số thực
Một kiểu dữ liệu
Tất cả đều đúng
Đâu là một ví dụ về việc truy cập phần tử trong mảng một chiều?
arr(3)
arr{3}
arr[3]
arr.3
có thể chứa:
Chỉ số nguyên
Chỉ số thực
Một kiểu dữ liệu
Tất cả đều đúng
Đâu là một ví dụ về việc truy cập phần tử trong mảng một chiều?
arr(3)
arr{3}
arr[3]
arr.3
Để tìm giá trị nhỏ nhất trong mảng một chiều, ta sử dụng:
Vòng lặp
Hàm sắp xếp
Hàm tìm kiếm
Không cần làm gì
Các phần tử trong mảng một chiều có thể được gán giá trị như thế nào?
Trong khi khai báo
Trong quá trình thực thi
Tất cả đều đúng
Không thể gán
Mảng một chiều được sử dụng phổ biến trong các ứng dụng nào?
Lưu trữ danh sách
Tính toán số liệu
Không gian bộ nhớ
Tất cả đều đúng
Số lượng phần tử tối đa trong mảng phụ thuộc vào:
Kiểu dữ liệu
Bộ nhớ
Cả A và B
Không xác định
Để truy cập tất cả phần tử trong mảng, thường dùng:
Chỉ số
Biến
Hàm
Tất cả đều đúng
Mảng hai chiều có thể dùng để lưu trữ dữ liệu nào?
Ma trận
Bảng điểm
Thông tin khách hàng
Tất cả đều đúng
Để lấy chiều dài của mảng hai chiều, ta thường sử dụng:
Kích thước của hàng
Kích thước của cột
Số lượng hàng * số lượng cột
Tất cả đều đúng
Nếu mảng được khai báo là float arr[3][4], mỗi phần tử chiếm bao nhiêu byte?
2 bytes
4 bytes
8 bytes
Tùy thuộc vào hệ thống
Mảng có thể chứa các phần tử nào trong C?
Số nguyên
Số thực
Ký tự
Tất cả đều đúng
Để 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?
Mảng một chiều
Mảng hai chiều
Không cần mảng
Danh sách liên kết
Khi nào cần sử dụng mảng ba chiều?
Khi cần nhiều dữ liệu hơn
Khi lưu trữ các ma trận phức tạp
Chỉ khi được yêu cầu
Không bao giờ
Khi nào cần sử dụng mảng ba chiều?
Khi cần nhiều dữ liệu hơn
Khi lưu trữ các ma trận phức tạp
Chỉ khi được yêu cầu
Không bao giờ
Phép toán nào sau đây không thể thực hiện trên mảng?
Truy cập
Cộng dồn
So sánh
Nhân với số
Để tìm số lượng phần tử trong mảng một chiều, ta cần:
Tính bằng cách đếm
Kiểm tra kích thước khai báo
Không cần làm gì
Sử dụng hàm đặc biệt
Khi nào ta nên sử dụng mảng thay vì biến đơn lẻ?
Khi cần lưu trữ nhiều giá trị cùng loại
Khi chỉ cần một giá trị
Khi dữ liệu không liên quan
Không bao giờ
Mảng có thể được khởi tạo bằng cách nào?
Khai báo và gán giá trị
Sử dụng vòng lặp
Sử dụng hàm
Tất cả đều đúng
Trong C, mảng có thể chứa các phần tử kiểu dữ liệu nào?
Chỉ số nguyên
Ký tự
Số thực
Tất cả đều đúng
Nếu một mảng được khai báo là char arr[5], phần tử arr[5] sẽ như thế nào?
Hợp lệ
Không hợp lệ
Là phần tử thứ 5
Có giá trị 0
Để xóa một phần tử trong mảng, ta thường:
Di chuyển các phần tử sau nó
Gán giá trị 0 cho nó
Không thể xóa
Thay thế bằng giá trị khác
Mảng một chiều có thể sử dụng để lưu trữ thông tin nào?
Điểm số
Tên sinh viên
Danh sách sản phẩm
Tất cả đều đúng
Để sao chép nội dung của một mảng vào mảng khác, ta cần:
Sử dụng vòng lặp
Hàm memcpy()
Không thể sao chép
Tất cả đều đúng
Trong mảng hai chiều, ta có thể lưu trữ dữ liệu theo cách nào?
Theo hàng
Theo cột
Theo ma trận
Tất cả đều đúng
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ì:
Nó giúp tránh lỗi
Nó làm chương trình chạy nhanh hơn
Nó không cần thiết
Nó làm tăng bộ nhớ
Để duyệt qua một mảng hai chiều, ta cần:
Hai vòng lặp
Một vòng lặp
Hàm
Câu lệnh điều kiện
Trong C, phần tử thứ hai của mảng hai chiều int arr[3][4] có chỉ số là:
arr[1][0]
arr[0][1]
arr[1][1]
arr[0][2]
Để tìm tổng các phần tử trong mảng hai chiều, công thức tổng quát là:
tổng = arr[i][j];
tổng += arr[i][j];
tổng = arr[i] + arr[j];
Không thể tính
Khi nào mảng một chiều cần phải được sắp xếp?
Khi tìm kiếm phần tử
Khi thêm phần tử
Khi xóa phần tử
Không cần sắp xếp
Nếu ta có mảng int arr[5] = {1, 2, 3, 4, 5};, phần tử thứ ba sẽ là:
2
3
4
5
Mảng có thể được khai báo với kích thước nào?
Kích thước cố định
Kích thước thay đổi
Tùy thuộc vào điều kiện
Tất cả đều đúng
Để khởi tạo một mảng có kích thước lớn trong C, ta thường:
Sử dụng mảng động
Sử dụng mảng tĩnh
Không cần khai báo
Tất cả đều đúng
Đâu là một cách sử dụng mảng không hợp lệ?
int arr[10];
int arr[-1];
int arr[0];
int arr[5];
Để truyền mảng vào hàm, ta khai báo như thế nào?
void func(int arr[]);
void func(int arr[10]);
void func(int arr[0]);
Tất cả đều đúng
Để truy cập phần tử ở hàng i và cột j trong mảng hai chiều, cú pháp là:
arr[i][j]
arr[j][i]
arr(i, j)
arr{i,j}
Tính năng nào sau đây không có trong mảng?
Duyệt qua phần tử
Thay đổi kích thước
Lưu trữ dữ liệu
Sắp xếp phần tử
Tính năng nào sau đây không có trong mảng?
Duyệt qua phần tử
Thay đổi kích thước
Lưu trữ dữ liệu
Sắp xếp phần tử
Mảng nào sau đây là hợp lệ trong ngôn ngữ C?
int arr[5];
int arr[];
int arr[-1];
int arr[0];
Để lấy địa chỉ của một phần tử trong mảng, ta dùng:
&arr[i]
arr[i]
arr[i+1]
*arr
Nếu một mảng có kích thước n, thì chỉ số lớn nhất có thể là:
n
n-1
n+1
Không xác định
Để tìm phần tử lớn nhất trong mảng, ta có thể sử dụng:
Vòng lặp và biến tạm
Phép so sánh
Cả A và B
Không cần làm gì
Trong mảng hai chiều, nếu int arr[3][4], tổng số phần tử là:
3
4
12
7
Mảng một chiều có thể được sử dụng để:
Lưu trữ điểm số
Lưu trữ tên sinh viên
Lưu trữ dữ liệu khác nhau
Tất cả đều đúng
Mảng có thể được khai báo với kích thước là một biến không?
Có
Không
Tùy thuộc vào ngôn ngữ
Không thể
Để truy cập tất cả phần tử trong mảng, ta thường sử dụng:
Vòng lặp
Điều kiện
Hàm
Không cần
Để thay đổi giá trị của một phần tử trong mảng, cú pháp là:
arr[i] = newValue;
arr[i] := newValue;
arr[i] = newValue[];
arr[i] <- newValue;
Nếu ta có mảng int arr[4] = {5, 10, 15, 20};, phần tử thứ hai có giá trị là:
10
15
20
5
Mảng có thể được khởi tạo cùng với các giá trị cụ thể như sau:
int arr[] = {1, 2, 3};
int arr[3] = {1, 2, 3};
Cả A và B
Không thể khởi tạo
Để tìm phần tử ở chỉ số thứ n trong mảng một chiều, cú pháp là:
arr[n]
arr(n)
arr[n-1]
arr{n}
ìm phần tử ở chỉ số thứ n trong mảng một chiều, cú pháp là:
arr[n]
arr(n)
arr[n-1]
arr{n}
Để duyệt qua một mảng hai chiều và in ra từng phần tử, ta sử dụng:
Một vòng lặp đơn
Hai vòng lặp lồng nhau
Một hàm
Không cần làm gì
Mảng một chiều có thể lưu trữ:
Danh sách số nguyên
Danh sách số thực
Danh sách ký tự
Tất cả đều đúng
Để khởi tạo một mảng hai chiều với kích thước 3x4, cú pháp là:
int arr[3][4];
int arr[4][3];
int arr[3, 4];
int arr[3] [4];
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ệ?
Lỗi biên
Truy cập giá trị ngẫu nhiên
Không có gì xảy ra
Tất cả đều đúng
Để lấy địa chỉ của mảng một chiều, ta sử dụng:
&arr
arr
*arr
Cả A và B
Trong một mảng hai chiều, phần tử arr[i][j] đại diện cho:
Hàng i, cột j
Hàng j, cột i
Hàng j, cột j
Không xác định
Để tìm vị trí của phần tử lớn nhất trong mảng, cần thực hiện:
Vòng lặp và so sánh
Sắp xếp mảng
Không cần thực hiện
Sử dụng hàm
Nếu mảng được khai báo là int arr[10];, kích thước tối đa của mảng là:
10
9
11
Không xác định
Để đếm số phần tử dương trong mảng, ta sử dụng:
Vòng lặp và biến đếm
Hàm
Cả A và B
Không cần làm gì
Nếu mảng int arr[4] = {1, 2, 3, 4};, tổng của các phần tử là:
10
15
8
4
Mảng có thể được sử dụng trong những trường hợp nào?
Lưu trữ dữ liệu
Thực hiện phép toán
Tổ chức thông tin
Tất cả đều đúng
