内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第8卷,为知识训练卷,按《C语言程序设计知识》中“一维数组”范围和要求编写。具体内容为:(1)理解一维数组的定义及初始化。(2)掌握一维数组元素的引用。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第8卷 C语言程序设计知识——一维数组
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.下列语句中,正确的一维数组定义是( )
A.int[5] a;
B.int a[5];
C.int a(5);
D.array int a[5];
【答案】B
【解析】C语言中一维整型数组的定义形式为类型名 数组名[元素个数],因此int a[5]正确。
2.若定义int a[5];,数组a的有效下标范围是( )
A.0~4
B.1~5
C.0~5
D.1~4
【答案】A
【解析】C语言数组下标从0开始,含有5个元素的数组a有效下标为0、1、2、3、4。
3.下列语句执行后,a[0]的值是( )
int a[3] = {2, 4, 6};
A.6
B.0
C.4
D.2
【答案】D
【解析】数组初始化列表中的第一个数据赋给a[0],所以a[0]的值为2。
4.下列语句执行后,a[2]的值是( )
int a[5] = {1, 3};
A.3
B.随机值
C.0
D.1
【答案】C
【解析】部分初始化时,未列出的数组元素自动初始化为0,因此a[2]为0。
5.下列数组定义中,元素个数是4的是( )
A.int a[3] = {1, 2, 3, 4};
B.int a[0] = {1, 2, 3, 4};
C.int a[5] = {1, 2, 3, 4};
D.int a[] = {1, 2, 3, 4};
【答案】D
【解析】省略数组长度时,编译器根据初始化列表中的数据个数确定长度;列表有4个数据,所以a含4个元素。
6.执行下列程序后,输出结果是( )
int a[3] = {10, 20, 30};
printf("%d", a[1]);
A.1
B.30
C.20
D.10
【答案】C
【解析】a[1]表示数组的第二个元素,初始化值为20,所以输出20。
7.执行下列程序后,输出结果是( )
int a[4] = {1, 2, 3, 4};
a[2] = 9;
printf("%d", a[2]);
A.4
B.9
C.3
D.2
【答案】B
【解析】a[2]原来为3,赋值语句将它修改为9,随后输出9。
8.若定义int a[6];,最后一个元素是( )
A.a[6]
B.a[1]
C.a[-1]
D.a[5]
【答案】D
【解析】数组长度为6时,下标从0到5,最后一个元素是a[5];a[6]已越界。
9.执行下列程序后,sum的值是( )
int a[4] = {1, 2, 3, 4};
int i, sum = 0;
for (i = 0; i < 4; i++)
sum += a[i];
A.10
B.4
C.24
D.6
【答案】A
【解析】循环依次访问a[0]到a[3],sum=1+2+3+4=10。
10.下列语句中,能正确访问数组a第3个元素的是( )
A.a{2}
B.a[3]
C.a[2]
D.a(3)
【答案】C
【解析】数组第3个元素的下标为2,正确写法是a[2];a[3]表示第4个元素。
11.执行下列程序后,输出结果是( )
int a[3] = {5, 6, 7};
int i;
for (i = 0; i < 3; i++)
printf("%d", a[i]);
A.5670
B.567
C.012
D.765
【答案】B
【解析】i依次为0、1、2,分别输出a[0]、a[1]、a[2],结果为567。
12.若定义int a[4] = {1, 2, 3, 4};,执行a[0]++后,a[0]的值是( )
A.2
B.1
C.0
D.4
【答案】A
【解析】a[0]初值为1,执行自增后变为2。
13.下列关于一维数组的说法正确的是( )
A.数组长度必须为负数
B.同一数组的元素类型必须相同
C.数组元素不能被赋值
D.数组下标从1开始
【答案】B
【解析】C语言数组中的所有元素具有相同的数据类型,并且可以通过下标访问和赋值;下标从0开始。
14.执行下列程序后,max的值是( )
int a[4] = {3, 8, 2, 5};
int i, max = a[0];
for (i = 1; i < 4; i++)
if (a[i] > max) max = a[i];
A.8
B.3
C.5
D.2
【答案】A
【解析】从a[0]开始比较,8大于当前最大值3,之后2和5都不超过8,因此max为8。
15.若定义int a[3] = {1, 2, 3};,下列操作会发生数组越界的是( )
A.a[2] = 5;
B.a[0] = 5;
C.a[3] = 5;
D.a[1] = 5;
【答案】C
【解析】a[3]的有效下标为0、1、2,访问a[3]超出数组范围,属于越界访问。
16.执行下列程序后,输出结果是( )
int a[5] = {2, 4, 6, 8, 10};
printf("%d", a[4] - a[1]);
A.4
B.8
C.10
D.6
【答案】D
【解析】a[4]=10,a[1]=4,二者相减得到6。
17.执行下列程序后,输出结果是( )
int a[4] = {1, 2, 3, 4};
int i;
for (i = 3; i >= 0; i--)
printf("%d", a[i]);
A.4321
B.3210
C.1234
D.0123
【答案】A
【解析】i从3递减到0,依次访问a[3]、a[2]、a[1]、a[0],所以输出4321。
18.下列语句中,能把数组a的第一个元素修改为0的是( )
A.0 = a[0];
B.a = 0;
C.a[0] = 0;
D.a[1] = 0;
【答案】C
【解析】数组第一个元素的下标为0,给a[0]赋值0即可完成修改。
19.执行下列程序后,count的值是( )
int a[5] = {2, 5, 4, 7, 6};
int i, count = 0;
for (i = 0; i < 5; i++)
if (a[i] > 4) count++;
A.4
B.5
C.2
D.3
【答案】D
【解析】数组中大于4的元素是5、7、6,共3个,因此count为3。
20.执行下列语句后,a[3]的值是( )
int a[4] = {0};
A.1
B.0
C.3
D.随机值
【答案】B
【解析】使用一个0初始化数组时,a[0]为0,其余未列出的元素也会自动初始化为0,因此a[3]为0。
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int a[5] = {2, 4, 6, 8, 10};
int i, sum = 0;
for (i = 0; i < 5; i++) {
sum += a[i];
}
printf("%d %d
", a[2], sum);
return 0;
}
【答案】输出:6 30
【解析】a[2]是数组第三个元素,值为6;sum累加数组全部元素,2+4+6+8+10=30。
2.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int a[4] = {7, 3, 9, 5};
int i, max = a[0];
for (i = 1; i < 4; i++) {
if (a[i] > max)
max = a[i];
}
printf("%d
", max);
return 0;
}
【答案】输出:9
【解析】从a[0]开始比较,初始max为7;a[2]为9且大于当前max,更新max为9,之后没有更大元素。
三、案例分析题(共1题,共10分)
1.下面程序用于输出数组a的5个元素,但程序中有一处错误,请指出并改正。
#include <stdio.h>
int main( )
{
int a[5] = {1, 2, 3, 4, 5};
int i;
for (i = 0; i <= 5; i++) {
printf("%d", a[i]);
}
return 0;
}
【答案】将for (i = 0; i <= 5; i++)改为for (i = 0; i < 5; i++)。
【解析】数组a的有效下标是0到4。原条件允许i等于5,访问a[5]会越界;改为i<5后只访问a[0]到a[4],正好输出5个元素。
四、综合应用题(共1题,共10分)
1.编写程序:输入5个整数存入一维数组,求出其中的最大值并输出。
【答案】
#include <stdio.h>
int main( )
{
int a[5];
int i, max;
for (i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
max = a[0];
for (i = 1; i < 5; i++) {
if (a[i] > max)
max = a[i];
}
printf("%d
", max);
return 0;
}
【解析】程序先用下标0到4依次读入5个整数,再以a[0]为初始最大值,从a[1]开始比较并更新max,最后输出最大值。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第8卷,为知识训练卷,按《C语言程序设计知识》中“一维数组”范围和要求编写。具体内容为:(1)理解一维数组的定义及初始化。(2)掌握一维数组元素的引用。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第8卷 C语言程序设计知识——一维数组
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.下列语句中,正确的一维数组定义是( )
A.int[5] a;
B.int a[5];
C.int a(5);
D.array int a[5];
2.若定义int a[5];,数组a的有效下标范围是( )
A.0~4
B.1~5
C.0~5
D.1~4
3.下列语句执行后,a[0]的值是( )
int a[3] = {2, 4, 6};
A.6
B.0
C.4
D.2
4.下列语句执行后,a[2]的值是( )
int a[5] = {1, 3};
A.3
B.随机值
C.0
D.1
5.下列数组定义中,元素个数是4的是( )
A.int a[3] = {1, 2, 3, 4};
B.int a[0] = {1, 2, 3, 4};
C.int a[5] = {1, 2, 3, 4};
D.int a[] = {1, 2, 3, 4};
6.执行下列程序后,输出结果是( )
int a[3] = {10, 20, 30};
printf("%d", a[1]);
A.1
B.30
C.20
D.10
7.执行下列程序后,输出结果是( )
int a[4] = {1, 2, 3, 4};
a[2] = 9;
printf("%d", a[2]);
A.4
B.9
C.3
D.2
8.若定义int a[6];,最后一个元素是( )
A.a[6]
B.a[1]
C.a[-1]
D.a[5]
9.执行下列程序后,sum的值是( )
int a[4] = {1, 2, 3, 4};
int i, sum = 0;
for (i = 0; i < 4; i++)
sum += a[i];
A.10
B.4
C.24
D.6
10.下列语句中,能正确访问数组a第3个元素的是( )
A.a{2}
B.a[3]
C.a[2]
D.a(3)
11.执行下列程序后,输出结果是( )
int a[3] = {5, 6, 7};
int i;
for (i = 0; i < 3; i++)
printf("%d", a[i]);
A.5670
B.567
C.012
D.765
12.若定义int a[4] = {1, 2, 3, 4};,执行a[0]++后,a[0]的值是( )
A.2
B.1
C.0
D.4
13.下列关于一维数组的说法正确的是( )
A.数组长度必须为负数
B.同一数组的元素类型必须相同
C.数组元素不能被赋值
D.数组下标从1开始
14.执行下列程序后,max的值是( )
int a[4] = {3, 8, 2, 5};
int i, max = a[0];
for (i = 1; i < 4; i++)
if (a[i] > max) max = a[i];
A.8
B.3
C.5
D.2
15.若定义int a[3] = {1, 2, 3};,下列操作会发生数组越界的是( )
A.a[2] = 5;
B.a[0] = 5;
C.a[3] = 5;
D.a[1] = 5;
16.执行下列程序后,输出结果是( )
int a[5] = {2, 4, 6, 8, 10};
printf("%d", a[4] - a[1]);
A.4
B.8
C.10
D.6
17.执行下列程序后,输出结果是( )
int a[4] = {1, 2, 3, 4};
int i;
for (i = 3; i >= 0; i--)
printf("%d", a[i]);
A.4321
B.3210
C.1234
D.0123
18.下列语句中,能把数组a的第一个元素修改为0的是( )
A.0 = a[0];
B.a = 0;
C.a[0] = 0;
D.a[1] = 0;
19.执行下列程序后,count的值是( )
int a[5] = {2, 5, 4, 7, 6};
int i, count = 0;
for (i = 0; i < 5; i++)
if (a[i] > 4) count++;
A.4
B.5
C.2
D.3
20.执行下列语句后,a[3]的值是( )
int a[4] = {0};
A.1
B.0
C.3
D.随机值
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int a[5] = {2, 4, 6, 8, 10};
int i, sum = 0;
for (i = 0; i < 5; i++) {
sum += a[i];
}
printf("%d %d
", a[2], sum);
return 0;
}
2.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int a[4] = {7, 3, 9, 5};
int i, max = a[0];
for (i = 1; i < 4; i++) {
if (a[i] > max)
max = a[i];
}
printf("%d
", max);
return 0;
}
三、案例分析题(共1题,共10分)
1.下面程序用于输出数组a的5个元素,但程序中有一处错误,请指出并改正。
#include <stdio.h>
int main( )
{
int a[5] = {1, 2, 3, 4, 5};
int i;
for (i = 0; i <= 5; i++) {
printf("%d", a[i]);
}
return 0;
}
四、综合应用题(共1题,共10分)
1.编写程序:输入5个整数存入一维数组,求出其中的最大值并输出。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$