第9卷 二维数组 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》

2026-08-13
| 2份
| 14页
| 7人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 二维数组
使用场景 中职复习
学年 2027-2028
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 173 KB
发布时间 2026-08-13
更新时间 2026-08-13
作者 xy06893
品牌系列 学易金卷·考纲百套卷
审核时间 2026-08-13
下载链接 https://m.zxxk.com/soft/59181744.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

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

资源预览图

第9卷 二维数组 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》
1
第9卷 二维数组 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》
2
第9卷 二维数组 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。