第19卷 二维数组的定义和使用 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》

2025-10-29
| 2份
| 17页
| 94人阅读
| 1人下载

内容正文:

编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第19卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (十)二维数组的定义和使用 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第19卷 二维数组的定义和使用 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.以下程序段的输出结果是(   )    int a[3][3]={1,2,3,4,5,6,7,8,9}; int i,j,s=0; for(i=0;i<3;i++) for(j=i+1;j<3;j++) s+=a[i][j]; printf("%d ",s); A.11 B.12 C.13 D.14 【答案】A 2.下列二维数组初始化语句中,正确的是(   ) A.int a[][3]={8,0,7,0,3,1,2,5}; B.int a[][]={{9,3,1},{8,4,2},{3,5,7}}; C.flota a[2][3]={{1,2},{3,4},{5,6}}; D.float a[3][]={{1,2,3},{4,5,6},{7,8,9}}; 【答案】A 3.若有说明int a[5][4],则对数组元素正确引用的是(   ) A.a[3+1][2*2]; B.a(2+1)(0); C.a[2+2,3]; D.a[2*2][3]; 【答案】D 4.以下执行程序段后,m的值为(   ) int a[2][3]={{1,2,3},{4,5,6}};int m,*p; p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4)); A.15 B.14 C.13 D.12 【答案】A 5.执行以下程序段的输出结果是(   ) int a[6][6],i,j,sum=0; for(i=1;i<6;i++) for(j= 1;j<6;j++)a[i][j]=(i+j)/2; for(i=1;i<6;i++) {for(j=1;j<6;j++)sum+=a[i][j];} printf("%2d",sum); A.69 B.150 C.70 D.68 【答案】A 6.执行以下程序段的输出结果是(   )     int i,sum=0; int b[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};     for(i=0;i<4;i++)sum=sum+b[i][1];printf("%d",sum); A.30 B.31 C.32 D.33 【答案】C 7.执行以下程序段的输出结果是(   ) int i,j,a[5][5]; for(i=1;i<5;i++) {a[i][i]=1; a[i][1]=1; } for(i=3;i<5;i++) for(j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(j=1;j<=4;j++) printf("%d",a[4][j]); A.1331 B.1441 C.1551 D.1313 【答案】A 8.执行以下程序段后的输出结果是(   ) int a[ ][4]={1,2,3,4,5,6,7,8,9},i,j,s=0; for (i=1;i<2;i++) for(j=0;j<=i;j++) s+=a[i][j];printf("%d ",s%2); A.0 B.-1 C.1 D.有有语法错误 【答案】C 9.执行以下程序段的输出结果是(   ) int i,t[][4]={9,8,7,6,5,4,3,2,1},sum=0; for(i=0;i<2;i++)sum+=t[2-i][i];printf("%d",sum); A.5 B.8 C.15 D.7 【答案】A 10.执行以下程序段的输出结果是(   ) int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=0; for(i=0;i<4;i++){ printf("%d ",m[k][i]); } A.5 8 3 6 B.1472 C.4 7 2 5 D.1 4 7 2 【答案】D 11.执行以下程序段的输出结果是(   ) char w[][10]={"ABCD","EFGH","IJLK","MNOP"},k; for(k=1;k<3;k++) printf("%s-",w[k]); A.ABCD-EFGH-IJLK- B.EFGH-IJLK C.EGGHIJLK D.EFGH-IJLK- 【答案】D 12.执行以下程序段的输出结果是(   ) int n[4][4],i,j; for(i=0;i<4;i++) for(j=0;j<4;j++) n[i][j]=i+j; for(i=0;i<3;i++) for(j=0;j<3;j++) n[i+1][j+1]+=n[i][j];printf("%d ",n[i][j]); A.10 B.12 C.16 D.18 【答案】B 13.以下程序段的功能是(   ) int num[4][4]={{1,2,3,4},{5,6,7,8}, {9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=1;j<=i;j++) printf("%4c",' '); for(j=j-1;j<4;j++) printf("%4d",num[i][j]); printf(" ");} A.输出数组num右上半角 B.输出数组num左上半角 C.输出数组num右下半角 D.输出数组num左下半角 【答案】A 14.执行以下程序段的输出结果是(   ) int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0; for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1]; printf("%d ",s); A.28 B.29 C.30 D.32 【答案】C 15.执行以下程序段的输出结果是(   ) int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0; for(i=0;i<3;i++) sum+=a[i][2-i]; printf("%d",sum); A.21 B.17 C.8 D.47 【答案】A 16.执行以下程序段的输出结果是(   ) int k,a[3][3]={1,2,3,4,5,6,7,8,9};     for(k=0;k<3;k++)         printf("%d",a[k][2-k]); A.357 B.369 C.159 D.147 【答案】A 17.执行以下程序段时输入:2 4 6<回车>,则输出结果是(   )     int x[3][2]={0},i;     for(i=0;i<3;i++)     scanf("%d",x[i]);     printf("%3d%3d%3d ",x[0][0],x[0][1],x[1][0]); A.2 0 4 B.2 0 0 C.2 4 0 D.2 4 6 【答案】A 18.执行以下程序段的输出结果是(   )     int i,t[ ][3]={9,8,7,6,5,4,3,2,1};     for(i=0;i<3;i++)     printf("%d,",t[2-i][i]); A.7,5,3, B.3,6,9 C.7,5,1, D.3,5,7, 【答案】D 19.若有定义:int a[2][3];,则以下选项中对a数组元素正确引用的是(   ) A.a[2][!1] B.a[2][3] C.a[0][3] D.a[1>2][!1] 【答案】D 20.若有定义语句:int m[ ][3]={1,2,3,4,5,6,7}; 则与该语句等价的是(   ) A.int m[ ][3]={{1,2,3},{4,5,6},{7}}; B.int m[ ][3]={{1,2},{3,4},{5,6,7}}; C.int m[ ][3]={{1,2,3},{4,5},{6,7}}; D.int m[ ][3]={{1},{2,3,4},{5,6,7}}; 【答案】A 二、程序设计题(本大题共4小题,每题10分,共40分) 21.请设计一个程序,实现以下功能: (1)定义一个二维整型数组 matrix[3][4],并通过用户输入为数组的每个元素赋值。 (2)计算数组中所有元素的平均值,并输出结果。 【答案】#include <stdio.h> int main() {     int matrix[3][4];     // 输入元素值     printf("请输入二维数组matrix[3][4]的元素值: ");     for (int i = 0; i < 3; i++) {         for (int j = 0; j < 4; j++) {             scanf("%d", &matrix[i][j]);         }     }     int sum = 0;     int count = 0;     // 计算总和     for (int i = 0; i < 3; i++) {         for (int j = 0; j < 4; j++) {             sum += matrix[i][j];             count++;         }     }     // 计算平均值     double average = (double) sum / count;     printf("平均值: %.2f ", average);     return 0; } 【详解】程序首先定义了一个二维整型数组 matrix[3][4]。 接下来,通过嵌套的循环结构,使用 scanf 函数分别为二维数组的每个元素赋值。 然后,定义了两个变量 sum 和 count,用于计算数组中所有元素的总和和元素的个数。通过再次使用嵌套的循环结构遍历二维数组,累加每个元素值至 sum 中,并递增计数器 count 的值。 最后,利用总和 sum 和元素个数 count 计算平均值,并使用 printf 函数输出结果,保留两位小数。 22.求一个3*3矩阵对角线元素之和 【答案】#include"stdio.h" main(){     float a[3][3],sum=0;     int i,j;     for(i=0;i<3;i++)//外循环     {for(j=0;j<3;j++)//内循环     scanf("%f",&a[i][j]);//键入数据值     }     for(i=0;i<3;i++)     {sum=sum+a[i][i];}//对角线i=i     printf("对角线之和%6.2f",sum);     return 0;             } 23.用户输入二维数组的阶数(假设为方阵)和各个元素,计算主对角线和副对角线元素之和(如果是奇数阶矩阵,中间元素只加一次)并输出。 【答案】#include <stdio.h> int main() {     int n;     printf("请输入二维数组的阶数(方阵): ");     scanf("%d", &n);     int arr[n][n];     printf("请输入 %d 行 %d 列的整数: ", n, n);     for (int i = 0; i < n; i++) {         for (int j = 0; j < n; j++) {             scanf("%d", &arr[i][j]);         }     }     int sum = 0;     for (int i = 0; i < n; i++) {         sum += arr[i][i];         sum += arr[i][n - 1 - i];     }     if (n % 2 == 1) {         int mid = n / 2;         sum -= arr[mid][mid];     }     printf("对角线元素之和为: %d ", sum);     return 0; } 24.用户输入二维数组的行数和列数以及各个元素,找出每行的最大值并输出。 【答案】#include <stdio.h> int main() {     int rows, cols;     printf("请输入二维数组的行数和列数: ");     scanf("%d %d", &rows, &cols);     int arr[rows][cols];     printf("请输入 %d 行 %d 列的整数: ", rows, cols);     for (int i = 0; i < rows; i++) {         for (int j = 0; j < cols; j++) {             scanf("%d", &arr[i][j]);         }     }     for (int i = 0; i < rows; i++) {         int max = arr[i][0];         for (int j = 1; j < cols; j++) {             if (arr[i][j] > max) {                 max = arr[i][j];             }         }         printf("第 %d 行的最大值是: %d ", i + 1, max);     }     return 0; } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第19卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (十)二维数组的定义和使用 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第19卷 二维数组的定义和使用 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.以下程序段的输出结果是(   )    int a[3][3]={1,2,3,4,5,6,7,8,9}; int i,j,s=0; for(i=0;i<3;i++) for(j=i+1;j<3;j++) s+=a[i][j]; printf("%d ",s); A.11 B.12 C.13 D.14 2.下列二维数组初始化语句中,正确的是(   ) A.int a[][3]={8,0,7,0,3,1,2,5}; B.int a[][]={{9,3,1},{8,4,2},{3,5,7}}; C.flota a[2][3]={{1,2},{3,4},{5,6}}; D.float a[3][]={{1,2,3},{4,5,6},{7,8,9}}; 3.若有说明int a[5][4],则对数组元素正确引用的是(   ) A.a[3+1][2*2]; B.a(2+1)(0); C.a[2+2,3]; D.a[2*2][3]; 4.以下执行程序段后,m的值为(   ) int a[2][3]={{1,2,3},{4,5,6}};int m,*p; p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4)); A.15 B.14 C.13 D.12 5.执行以下程序段的输出结果是(   ) int a[6][6],i,j,sum=0; for(i=1;i<6;i++) for(j= 1;j<6;j++)a[i][j]=(i+j)/2; for(i=1;i<6;i++) {for(j=1;j<6;j++)sum+=a[i][j];} printf("%2d",sum); A.69 B.150 C.70 D.68 6.执行以下程序段的输出结果是(   )     int i,sum=0; int b[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};     for(i=0;i<4;i++)sum=sum+b[i][1];printf("%d",sum); A.30 B.31 C.32 D.33 7.执行以下程序段的输出结果是(   ) int i,j,a[5][5]; for(i=1;i<5;i++) {a[i][i]=1; a[i][1]=1; } for(i=3;i<5;i++) for(j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(j=1;j<=4;j++) printf("%d",a[4][j]); A.1331 B.1441 C.1551 D.1313 8.执行以下程序段后的输出结果是(   ) int a[ ][4]={1,2,3,4,5,6,7,8,9},i,j,s=0; for (i=1;i<2;i++) for(j=0;j<=i;j++) s+=a[i][j];printf("%d ",s%2); A.0 B.-1 C.1 D.有有语法错误 9.执行以下程序段的输出结果是(   ) int i,t[][4]={9,8,7,6,5,4,3,2,1},sum=0; for(i=0;i<2;i++)sum+=t[2-i][i];printf("%d",sum); A.5 B.8 C.15 D.7 10.执行以下程序段的输出结果是(   ) int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=0; for(i=0;i<4;i++){ printf("%d ",m[k][i]); } A.5 8 3 6 B.1472 C.4 7 2 5 D.1 4 7 2 11.执行以下程序段的输出结果是(   ) char w[][10]={"ABCD","EFGH","IJLK","MNOP"},k; for(k=1;k<3;k++) printf("%s-",w[k]); A.ABCD-EFGH-IJLK- B.EFGH-IJLK C.EGGHIJLK D.EFGH-IJLK- 12.执行以下程序段的输出结果是(   ) int n[4][4],i,j; for(i=0;i<4;i++) for(j=0;j<4;j++) n[i][j]=i+j; for(i=0;i<3;i++) for(j=0;j<3;j++) n[i+1][j+1]+=n[i][j];printf("%d ",n[i][j]); A.10 B.12 C.16 D.18 13.以下程序段的功能是(   ) int num[4][4]={{1,2,3,4},{5,6,7,8}, {9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=1;j<=i;j++) printf("%4c",' '); for(j=j-1;j<4;j++) printf("%4d",num[i][j]); printf(" ");} A.输出数组num右上半角 B.输出数组num左上半角 C.输出数组num右下半角 D.输出数组num左下半角 14.执行以下程序段的输出结果是(   ) int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0; for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1]; printf("%d ",s); A.28 B.29 C.30 D.32 15.执行以下程序段的输出结果是(   ) int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0; for(i=0;i<3;i++) sum+=a[i][2-i]; printf("%d",sum); A.21 B.17 C.8 D.47 16.执行以下程序段的输出结果是(   ) int k,a[3][3]={1,2,3,4,5,6,7,8,9};     for(k=0;k<3;k++)         printf("%d",a[k][2-k]); A.357 B.369 C.159 D.147 17.执行以下程序段时输入:2 4 6<回车>,则输出结果是(   )     int x[3][2]={0},i;     for(i=0;i<3;i++)     scanf("%d",x[i]);     printf("%3d%3d%3d ",x[0][0],x[0][1],x[1][0]); A.2 0 4 B.2 0 0 C.2 4 0 D.2 4 6 18.执行以下程序段的输出结果是(   )     int i,t[ ][3]={9,8,7,6,5,4,3,2,1};     for(i=0;i<3;i++)     printf("%d,",t[2-i][i]); A.7,5,3, B.3,6,9 C.7,5,1, D.3,5,7, 19.若有定义:int a[2][3];,则以下选项中对a数组元素正确引用的是(   ) A.a[2][!1] B.a[2][3] C.a[0][3] D.a[1>2][!1] 20.若有定义语句:int m[ ][3]={1,2,3,4,5,6,7}; 则与该语句等价的是(   ) A.int m[ ][3]={{1,2,3},{4,5,6},{7}}; B.int m[ ][3]={{1,2},{3,4},{5,6,7}}; C.int m[ ][3]={{1,2,3},{4,5},{6,7}}; D.int m[ ][3]={{1},{2,3,4},{5,6,7}}; 二、程序设计题(本大题共4小题,每题10分,共40分) 21.请设计一个程序,实现以下功能: (1)定义一个二维整型数组 matrix[3][4],并通过用户输入为数组的每个元素赋值。 (2)计算数组中所有元素的平均值,并输出结果。 22.求一个3*3矩阵对角线元素之和 23.用户输入二维数组的阶数(假设为方阵)和各个元素,计算主对角线和副对角线元素之和(如果是奇数阶矩阵,中间元素只加一次)并输出。 24.用户输入二维数组的行数和列数以及各个元素,找出每行的最大值并输出。 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

第19卷 二维数组的定义和使用 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
1
第19卷 二维数组的定义和使用 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
2
第19卷 二维数组的定义和使用 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。