内容正文:
编写说明:《软件与应用技术考纲百套卷》依据山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。
本试卷是《软件与应用技术考纲百套卷》的第7卷,按知识模块1 C语言程序设计知识,4.数组的五点范围要求编写。其五点要求是:
(1)理解一维数组的定义及初始化。
(2)掌握一维数组元素的引用。
(3)理解二维数组的定义及初始化。
(4)掌握二维数组元素的引用。
(5)了解字符数组的定义及引用。
山东省《软件与应用技术考纲百套卷》 第7卷
知识模块1 C语言程序设计知识
4.数组 知识点训练卷
一、单项选择题(本大题共20小题,每题3分,共60分)
1. 以下对一维数组的定义不正确的是( )
A. `double x[5]={2.0,4.0,6.0,8.0,10.0};`
B. `int y[5]={0,1,3,5,7,9};`
C. `int a[]={1,2,3,4,5};`
D. `int a[5]={0};`
2. 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )
A. 整型常量
B. 整型表达式
C. 整型常量或整型常量表达式
D. 任何类型的表达式
3. 以下对一维整型数组 `a` 的正确说明是( )
A. `int a(10);`
B. `int n=10,a[n];`
C. `int n;`
D. `#define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n];`
4. 若有说明:`int a[10];` 则对 `a` 数组元素的正确引用是( )
A. `a[10]`
B. `a[3.5]`
C. `a(5)`
D. `a[10-10]`
5. 若有如下定义,则 `b` 的值是( )
`int a[10]={1,2,3,4,5,6,7,8,9,10},b=a[5];`
A. 5
B. 6
C. 8
D. 9
6. 对以下说明语句的正确理解是( )
`int a[10]={6,7,8,9,10};`
A. 将5个初值依次赋给 `a[1]` 至 `a[5]`
B. 将5个初值依次赋给 `a[0]` 至 `a[4]`
C. 将5个初值依次赋给 `a[6]` 至 `a[10]`
D. 因为数组长度与初值的个数不相同,所以此语句不正确
7. 以下程序段给数组所有的元素输入数据,请选择正确答案填入( )
#include<stdio.h>
main() {
int a[10],i=0;
while(i<10)
scanf("%d", );
}
A. `a+(i++)`
B. `&a[i]`
C. `a+i`
D. `&a[10]`
8. 执行下面的程序段后,变量 `k` 的值为( )
int k=3, s[2];
s[0]=k; k=s[1]*10;
A. 不定值
B. 33
C. 30
D. 10
9. 以下程序的输出结果是( )
main() {
int i, a[10];
for(i=9;i>=0;i--)
a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A. 258
B. 741
C. 852
D. 369
10.在C语言中,以下对一维数组初始化说法正确的是:( )
A. 只能在定义数组时进行初始化,之后无法更改
B. 可以在定义数组时进行初始化,也可以在后续代码中进行赋值
C. 只能在后续代码中进行赋值,不能在定义数组时进行初始化
D. 一维数组无法进行初始化
11.C语言中的一维数组初始化必须满足的条件是:( )
A. 初始化值的个数不能超过数组的大小
B. 初始化值的个数必须与数组的大小相同
C. 初始化值的个数可以少于或等于数组的大小
D. 不需要满足任何条件,初始化个数没有限制
12.数组int a[2][2]={0,1,2,3}中数组如果a[0][0]是第一个元素则第二个元素是( )
A.a[0][0] B.a[0][1] C.a[1][0] D.a[1][1]
13.在C语言中,以下哪个选项是正确的二维数组的初始化方式?( )
A. int arr[2][2] = {1, 2, 3, 4};
B. int arr[2][2] = {1, 2}, {3, 4};
C. int arr[2][2] = {{1, 2}, {3, 4}