内容正文:
编写说明:《软件与应用技术考纲百套卷》依据山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。
本试卷是《软件与应用技术考纲百套卷》的第8卷,按知识模块1 C语言程序设计知识,4.数组的五点范围要求编写。其五点要求是:
(1)理解一维数组的定义及初始化。
(2)掌握一维数组元素的引用。
(3)理解二维数组的定义及初始化。
(4)掌握二维数组元素的引用。
(5)了解字符数组的定义及引用。
山东省《软件与应用技术考纲百套卷》 第8卷
知识模块1 C语言程序设计知识
4.数组 知识点训练卷
一、单项选择题(本大题共20小题,每题3分,共60分)
1. 若有定义:`int a[2][4];`, 则引用数组元素正确的是( )
A. `a[0][3]`
B. `a[0][4]`
C. `a[2][4]`
D. `a[2][2+1]`
2. 若有说明:`int a[3][4]={0};`, 则下列正确的叙述是( )
A. 只有元素 `a[0][0]` 可得到初值0
B. 此说明语句不正确
C. 数组 `a` 中各元素都可得到初值,但其值不一定为0
D. 数组 `a` 中每个元素均可得到初值0
3.字符数组的初始化是为了:( )
A. 保证数组的大小
B. 赋值给数组的元素
C. 确定数组的索引范围
D. 确保数组中的字符顺序
4.关于二维数组的定义,以下哪个选项描述正确?( )
A. 二维数组的行数和列数必须是相同的
B. 二维数组的行数和列数可以不同
C. 二维数组的行数和列数必须是整数
D. 二维数组的行数和列数必须是常量
5.在C语言中,以下对二维数组的引用说法正确的是:( )
A. 引用二维数组元素时只需提供一个下标
B. 引用二维数组元素时需要提供两个下标
C. 引用二维数组元素时需要提供三个下标
D. 引用二维数组元素时需要使用指针
6. 在定义 `int m[][3]={1,2,3,4,5,6};` 后,`m[1][0]` 的值是( )
A. 4
B. 1
C. 2
D. 5
7. 在定义 `int n[5][6]` 后第10个元素是( )
A. `n[2][5]`
B. `n[2][4]`
C. `n[1][3]`
D. `n[1][4]`
8. 假定一个 `int` 型变量占用两个字节,若有定义:`int x[2][5];` 则 数 组 `x` 在内存中所占字节数是( )
A. 3
B. 6
C. 10
D. 20
9. 下列描述中不正确的是( )
A. 字符型数组中可以存放字符串
B. 可以对字符串进行整体输入、输出
C. 可以对整型数组进行整体输入、输出
D. 不能在赋值语句中通过赋值运算符”=”对字符型数组进行整体赋值
10. 判断两个字符串是否相等,应用 ( )
A. if(a==b)
B. if(a=b)
C. if(strcmp(a,b))
D. if(!strcmp(a,b))
11. 以下程序的输出结果正确的是( )
main() {
char a[3][4];
strcpy(a[0],"you");
strcpy(a[1],"me");
a[0][3]='&';
printf("%s",a);
}
A. you&me
B. you
C. me
D. &
12. 以下 `printf` 语句的输出结果是( )
printf("%s
","ab c\od");
A. ab c
B. ab
C. d
D. ab cd
13. 设有定义:`char a[10]="ABCD";` 则 `a[4]` 的值是( )
A. "ABCD"
B. 'D'
C. '\0'
D. 不确定
14. 有以下程序,
main() {
char a[20],b[20],c[20];
scanf("%s%s",a,b);
gets(c);
printf("%s%s%s",a,b,c);
}
程序运行时,从第一列开始输入,`this is a dog!` 回车则输出的结果是( )
A. thisisadog!
B. thisis a
C. thisisa dog!
D. thisis a dog!
15. 语句 `strcat(strcpy(strl,str2),str3);` 的功能是( )
A. 将字符串 `strl` 复制到字符串 `str2` 中后 再连接到字符串