第28练 第6章 二维数组程序举例《C语言程序设计》(电子工业出版社)一课一练
|
2份
|
7页
|
40人阅读
|
0人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第28练,内容涵盖第6章数组的6.2.4 二维数组程序举例。
《C语言程序设计》(电子工业出版社)一课一练 第28练
第6章 数组
6.2.4 二维数组程序举例
1、 单项选择题(本题共4小题)
1、下列关于二维数组元素引用的写法中,合法的是( )
A. a (1,2)
B. a [1,2]
C. a [1][2]
D. a [2]
【答案】C
【解析】二维数组元素的引用格式为 “数组名 [行下标][列下标]”,选项 A 用圆括号、选项 B 用逗号分隔下标均不符合语法规则,选项 D 是一维数组的引用方式。
2、对 3×4 的二维数组进行遍历,需要执行的元素比较或访问次数是( )
A. 7 次
B. 4 次
C. 3 次
D. 12 次
【答案】D
【解析】3×4 的二维数组总共有 3×4=12 个元素,遍历操作需要访问每一个元素,因此总次数为 12 次。
3、编写程序求二维数组最大值时,最大值变量的初始值最合适的设置是( )
A. 0
B. 数组的第一个元素值
C. 100
D. -100
【答案】B
【解析】如果初始值设为固定数值,当数组所有元素都大于或小于该固定值时,会导致最大值计算错误;将初始值设为数组第一个元素,能适配所有输入情况,保证结果准确。
4、定义int a[3][4];,该二维数组的最后一个元素是( )
A. a [2][3]
B. a [3][4]
C. a [3][3]
D. a [2][4]
【答案】A
【解析】二维数组的行和列下标均从 0 开始,3 行的下标范围是 0~2,4 列的下标范围是 0~3,因此最后一个元素的下标为 [2][3]。
2、 判断题(本题共3题)
1、二维数组的行下标和列下标都是从 1 开始计数的。( )
【答案】×
【解析】C 语言中二维数组的行下标和列下标均从 0 开始,例如 3×4 矩阵的行下标范围是 0~2,列下标范围是 0~3。
2、求 3×4 矩阵的最大值时,只需要遍历矩阵的第一行元素即可得到结果。( )
【答案】×
【解析】最大值可能出现在矩阵的任意位置,必须遍历矩阵的所有元素,才能确保找到真正的最大值。
3、在查找二维数组最大值的程序中,每次更新最大值变量时,需要同步更新记录行号和列号的变量。( )
【答案】√
【解析】如果只更新最大值而不更新行号和列号,最终无法准确记录最大值所在的位置,导致结果信息不完整。
3、 填空题(本题共2题)
1、二维数组元素的引用格式为____[行下标][列下标]。
【答案】数组名
【解析】数组名用于标识具体的二维数组,行下标和列下标共同确定数组中某一个元素的唯一位置,这是二维数组元素引用的标准格式。
2、在求二维数组最大值的程序中,当发现当前元素大于记录的最大值时,除了更新最大值变量,还需要更新____。
【答案】记录最大值所在行号和列号的变量
【解析】只有同步更新行号和列号变量,才能准确追踪最大值的位置,最终输出完整的最大值及其所在行列的信息。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int mat[3][4] = {{5,2,8,3}, {1,9,4,6}, {7,0,12,10}};
int max = mat[0][0], row=0, col=0;
for(int i=0; i<3; i++) {
for(int j=0; j<4; j++) {
if(mat[i][j] > max) {
max = mat[i][j];
row = i;
col = j;
}
}
}
printf("最大值:%d,所在行:%d,所在列:%d", max, row+1, col+1);
return 0;
}
【答案】
程序运行结果:
最大值:12,所在行:3,所在列:3
【解析】
程序先将矩阵第一个元素赋值给最大值变量,通过双层循环遍历所有元素,每次发现更大的元素时,更新最大值及对应的行号、列号。最终找到最大值 12,其下标为 [2][2],转换为日常从 1 开始的计数方式后,行和列均为 3。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第28练,内容涵盖第6章数组的6.2.4 二维数组程序举例。
《C语言程序设计》(电子工业出版社)一课一练 第28练
第6章 数组
6.2.4 二维数组程序举例
1、 单项选择题(本题共4小题)
1、下列关于二维数组元素引用的写法中,合法的是( )
A. a (1,2)
B. a [1,2]
C. a [1][2]
D. a [2]
2、对 3×4 的二维数组进行遍历,需要执行的元素比较或访问次数是( )
A. 7 次
B. 4 次
C. 3 次
D. 12 次
3、编写程序求二维数组最大值时,最大值变量的初始值最合适的设置是( )
A. 0
B. 数组的第一个元素值
C. 100
D. -100
4、定义int a[3][4];,该二维数组的最后一个元素是( )
A. a [2][3]
B. a [3][4]
C. a [3][3]
D. a [2][4]
2、 判断题(本题共3题)
1、二维数组的行下标和列下标都是从 1 开始计数的。( )
2、求 3×4 矩阵的最大值时,只需要遍历矩阵的第一行元素即可得到结果。( )
3、在查找二维数组最大值的程序中,每次更新最大值变量时,需要同步更新记录行号和列号的变量。( )
3、 填空题(本题共2题)
1、二维数组元素的引用格式为____[行下标][列下标]。
2、在求二维数组最大值的程序中,当发现当前元素大于记录的最大值时,除了更新最大值变量,还需要更新____。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int mat[3][4] = {{5,2,8,3}, {1,9,4,6}, {7,0,12,10}};
int max = mat[0][0], row=0, col=0;
for(int i=0; i<3; i++) {
for(int j=0; j<4; j++) {
if(mat[i][j] > max) {
max = mat[i][j];
row = i;
col = j;
}
}
}
printf("最大值:%d,所在行:%d,所在列:%d", max, row+1, col+1);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$