数组选择试题及答案高中
- 格式:docx
- 大小:37.08 KB
- 文档页数:4
数组选择试题及答案高中
一、选择题
1. 在C语言中,定义一个整型数组的语句是:
A. int a[5] = {0, 1, 2, 3, 4};
B. int a[] = {0, 1, 2, 3, 4};
C. int a[5] = {0};
D. int a = {0, 1, 2, 3, 4};
2. 下列关于数组的描述中,正确的是:
A. 数组的大小在定义时必须指定
B. 数组的大小在定义后可以改变
C. 数组的索引从0开始
D. 数组的索引从1开始
3. 以下代码的输出结果是什么?
```c
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int *p = arr;
printf("%d", *(p + 2));
return 0;
}
```
A. 1
B. 2
C. 3
D. 4
4. 假设有一个数组a[10],下列哪个表达式不能正确表示数组元素的值?
A. a[0]
B. a[9]
C. a[10]
D. a[5]
5. 在C语言中,数组元素的默认值是:
A. 0
B. 1
C. -1
D. 未定义
二、填空题
1. 定义一个长度为10的整型数组,数组的最后一个元素的下标是_________。
2. 在C语言中,数组名代表数组的_________。
3. 给定数组int arr[5] = {10, 20, 30, 40, 50}; 要访问数组的第三个元素,应该使用_________。
三、解答题
1. 编写一个C语言程序,实现将一个整型数组中的所有元素乘以2,并输出结果。
```c
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int i, n = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < n; i++) {
arr[i] *= 2;
printf("%d ", arr[i]);
}
return 0;
}
```
2. 说明数组在内存中的存储方式。
数组在内存中是连续存储的。当定义一个数组时,系统会为数组分配一块连续的内存空间,数组中的每个元素都按照顺序存储在这块内存中。数组的索引从0开始,每个元素的内存地址是数组首地址加上索引值乘以元素大小。
四、编程题
1. 编写一个C语言程序,实现以下功能:输入一个整数数组,输出数组中的最大值和最小值。
```c
#include
int main() {
int arr[] = {3, 5, 2, 8, 6};
int max = arr[0], min = arr[0];
int i, n = sizeof(arr) / sizeof(arr[0]);
for (i = 1; i < n; i++) {
if (arr[i] > max) max = arr[i];
if (arr[i] < min) min = arr[i]; }
printf("Max: %d, Min: %d\n", max, min);
return 0;
}
```
参考答案:
一、选择题
1. B
2. A, C
3. C
4. C
5. A
二、填空题
1. 9
2. 首地址
3. arr[2]
三、解答题
1. 程序已给出。
2. 数组在内存中是连续存储的。
四、编程题
1. 程序已给出。