[Cánh diều] Trắc nghiệm Tin học 11 KHMT bài 2 Mảng hai chiều

[Cánh diều] Trắc nghiệm Tin học 11 KHMT bài 2 Mảng hai chiều

1. Cho mảng `int grades[3][3];`. Nếu ta muốn gán giá trị 90 cho học sinh thứ 3 (chỉ số 2) trong bài kiểm tra thứ 2 (chỉ số 1), câu lệnh nào là đúng?
2. Phát biểu nào sau đây là đúng về việc truy cập phần tử trong mảng hai chiều?
3. Khi duyệt mảng hai chiều theo kiểu cột-major (ví dụ: Fortran), vòng lặp ngoài sẽ biểu diễn cái gì?
4. Ý nghĩa của việc khai báo `const int ROWS = 5; const int COLS = 10; int my_array[ROWS][COLS];` là gì?
5. Nếu một mảng hai chiều có `N` hàng và `M` cột, thì tổng số phần tử trong mảng là bao nhiêu?
6. Cho mảng hai chiều `float data[3][2];`. Giá trị của `data[2][1]` sẽ được lưu trữ ở đâu trong bộ nhớ (so với `data[0][0]`)?
7. Tại sao khi truyền mảng hai chiều làm tham số cho một hàm trong C/C++, ta thường cần chỉ định số cột?
8. Khi khai báo mảng hai chiều `char letters[2][3];`, kích thước bộ nhớ mà mảng này chiếm dụng (giả sử char chiếm 1 byte) là bao nhiêu?
9. Nếu ta muốn tìm phần tử có giá trị lớn nhất trong một mảng hai chiều, bước đầu tiên thường là gì?
10. Trong khai báo mảng hai chiều `int arr[3][4];`, số 3 đại diện cho điều gì theo quy ước chung?
11. Cho mảng `int data[N][M]`. Nếu `N` là 5 và `M` là 3, thì chỉ số hàng hợp lệ sẽ nằm trong khoảng nào?
12. Nếu một mảng hai chiều có 3 hàng và 2 cột, thì số lượng phần tử của mảng là bao nhiêu?
13. Trong ngôn ngữ lập trình C/C++, mảng hai chiều thường được lưu trữ trong bộ nhớ theo kiểu nào?
14. Trong các phát biểu sau, phát biểu nào KHÔNG đúng về mảng hai chiều?
15. Cho đoạn mã sau: `int grid[2][2] = {{1, 2}, {3, 4}}; int sum = 0; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { sum += grid[i][j]; } }`. Giá trị cuối cùng của `sum` là bao nhiêu?
16. Nếu ta có một ma trận vuông kích thước NxN, thì tổng số phần tử của nó là bao nhiêu?
17. Cho khai báo `int matrix[2][3];`. Làm thế nào để truy cập phần tử ở hàng thứ nhất (chỉ số 0) và cột thứ hai (chỉ số 1)?
18. Khai báo nào sau đây KHÔNG hợp lệ cho mảng hai chiều trong C/C++?
19. Đâu là cách hiệu quả nhất để khởi tạo một mảng hai chiều với tất cả các phần tử bằng 0?
20. Đâu là một ứng dụng phổ biến của mảng hai chiều trong thực tế?
21. Đâu là cách khai báo đúng cho một mảng hai chiều lưu trữ số nguyên với 5 hàng và 10 cột?
22. Khi khởi tạo một mảng hai chiều `int A[2][2] = {{1, 2}, {3, 4}};`, phần tử nào sẽ có giá trị là 4?
23. Đâu là cách khai báo và khởi tạo mảng hai chiều `int matrix[3][2]` với các giá trị `{{1, 2}, {3, 4}, {5, 6}}` một cách đầy đủ nhất?
24. Nếu muốn tính tổng tất cả các phần tử của mảng hai chiều `int board[4][4]`, ta cần sử dụng cấu trúc lặp nào là hiệu quả nhất?
25. Khi duyệt qua tất cả các phần tử của mảng hai chiều bằng vòng lặp lồng nhau, vòng lặp ngoài thường đại diện cho cái gì?