第27练 单元6 二维数组、字符串的应用《C语言程序设计》(高教版第2版)一课一练

| 2份
| 7页
| 25人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元6的第27练,内容涵盖单元6“考试系统”的数据存储的 6.3.2~6.3.3 二维数组、字符串的应用。 《C语言程序设计》(高教版第2版)一课一练 第27练 单元6 “考试系统”的数据存储 6.3.2~6.3.3 二维数组、字符串的应用 1、 单项选择题(本题共5小题) 1、对于 n 阶方阵(行列数均为 n 的二维数组),主对角线元素的下标特征是( ) A. 行下标等于列下标(i == j) B. 行下标加列下标等于 n(i + j = n) C. 行下标等于列下标加 1(i = j + 1) D. 行下标加列下标等于 n-2(i + j = n-2) 2、计算 5 个学生 5 门课程的每门课程总分时,正确的遍历方式是( ) A. 按行遍历,累加每行的所有元素 B. 按列遍历,累加每列的所有元素 C. 随机遍历数组元素并累加 D. 只累加数组的第一行和最后一行元素 3、手动统计字符串长度时,循环终止的判断条件是( ) A. 遇到空格字符 ' ' B. 遇到字符串结束符 '\0' C. 遇到回车符 ' ' D. 遍历到数组的最后一个元素 4、使用二维数组存储 5 个学生的 5 门课程成绩,并额外添加一列存储每个学生的平均分,该二维数组的列数应定义为( ) A. 5 B. 6 C. 7 D. 8 5、手动实现两个字符串连接时,存放第一个字符串的字符数组必须满足的条件是( ) A. 数组长度等于第二个字符串的长度 B. 数组长度足够容纳两个字符串的总有效字符数加 1(含 '\0') C. 数组必须是全局数组 D. 数组长度小于第二个字符串的长度 2、 判断题(本题共4题) 1、3 阶方阵的辅对角线元素下标满足行下标加列下标等于 3(i + j = 3)。( ) 2、手动统计字符串长度时,统计结果包含字符串结束符 '\0' 的长度。( ) 3、计算每个学生的平均分时,需要先累加该学生所在行的所有课程成绩,再除以课程门数。( ) 4、实现字符串连接时,可以直接将第二个字符串的数组名赋值给第一个字符串的数组名,比如str1 = str2;。( ) 3、 程序填空题(本题共1题) 1、题目描述:以下程序用于计算 3 阶方阵的主对角线和辅对角线元素之和,需补充缺失代码; #include <stdio.h> int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int sum_main = (1)____, sum_sub = 0; int i; for(i = 0; i < 3; i++) { // 累加主对角线元素 sum_main += (2)____; // 累加辅对角线元素 sum_sub += a[i][(3)____]; } printf("主对角线元素之和:%d ", sum_main); printf("辅对角线元素之和:%d ", sum_sub); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元6的第27练,内容涵盖单元6“考试系统”的数据存储的 6.3.2~6.3.3 二维数组、字符串的应用。 《C语言程序设计》(高教版第2版)一课一练 第27练 单元6 “考试系统”的数据存储 6.3.2~6.3.3 二维数组、字符串的应用 1、 单项选择题(本题共5小题) 1、对于 n 阶方阵(行列数均为 n 的二维数组),主对角线元素的下标特征是( ) A. 行下标等于列下标(i == j) B. 行下标加列下标等于 n(i + j = n) C. 行下标等于列下标加 1(i = j + 1) D. 行下标加列下标等于 n-2(i + j = n-2) 【答案】A 【解析】主对角线是从矩阵左上到右下的元素,每个元素的行下标和列下标完全相等,例如 3 阶方阵的主对角线元素为 a [0][0]、a [1][1]、a [2][2],符合 i==j 的特征。 2、计算 5 个学生 5 门课程的每门课程总分时,正确的遍历方式是( ) A. 按行遍历,累加每行的所有元素 B. 按列遍历,累加每列的所有元素 C. 随机遍历数组元素并累加 D. 只累加数组的第一行和最后一行元素 【答案】B 【解析】二维数组中每列代表一门课程的所有学生成绩,按列遍历并累加每列元素,才能得到对应课程的总分,符合成绩单数据的存储逻辑。 3、手动统计字符串长度时,循环终止的判断条件是( ) A. 遇到空格字符 ' ' B. 遇到字符串结束符 '\0' C. 遇到回车符 ' ' D. 遍历到数组的最后一个元素 【答案】B 【解析】C 语言规定 '\0' 是字符串的结束标志,手动统计长度时,只要遇到 '\0' 就说明已遍历完所有有效字符,此时计数器的值即为字符串的有效长度。 4、使用二维数组存储 5 个学生的 5 门课程成绩,并额外添加一列存储每个学生的平均分,该二维数组的列数应定义为( ) A. 5 B. 6 C. 7 D. 8 【答案】B 【解析】5 门课程需要 5 列,再添加 1 列存储平均分,因此总列数为 5+1=6,符合二维数组扩展列存储统计结果的需求。 5、手动实现两个字符串连接时,存放第一个字符串的字符数组必须满足的条件是( ) A. 数组长度等于第二个字符串的长度 B. 数组长度足够容纳两个字符串的总有效字符数加 1(含 '\0') C. 数组必须是全局数组 D. 数组长度小于第二个字符串的长度 【答案】B 【解析】字符串连接需要将第二个字符串的内容追加到第一个字符串末尾,因此第一个数组必须预留足够空间,避免内存溢出,额外的 1 个字节用于存储最终的 '\0' 结束符。 2、 判断题(本题共4题) 1、3 阶方阵的辅对角线元素下标满足行下标加列下标等于 3(i + j = 3)。( ) 【答案】× 【解析】C 语言数组下标从 0 开始,3 阶方阵的辅对角线元素为 a [0][2]、a [1][1]、a [2][0],下标和为 2,即 i + j = 3-1=2,而非 3。 2、手动统计字符串长度时,统计结果包含字符串结束符 '\0' 的长度。( ) 【答案】× 【解析】'\0' 是字符串的结束标志,不属于有效字符,手动统计长度时只计算 '\0' 之前的有效字符数,不包含 '\0' 本身。 3、计算每个学生的平均分时,需要先累加该学生所在行的所有课程成绩,再除以课程门数。( ) 【答案】√ 【解析】二维数组中每行对应一个学生的所有课程成绩,累加行内元素得到总分,除以课程门数即可得到该学生的平均分,符合成绩统计的逻辑。 4、实现字符串连接时,可以直接将第二个字符串的数组名赋值给第一个字符串的数组名,比如str1 = str2;。( ) 【答案】× 【解析】数组名是常量地址,不能被赋值,字符串连接需要找到第一个字符串的 '\0' 位置,逐个字符复制第二个字符串的内容到该位置开始的内存区域。 3、 程序填空题(本题共1题) 1、题目描述:以下程序用于计算 3 阶方阵的主对角线和辅对角线元素之和,需补充缺失代码; #include <stdio.h> int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int sum_main = (1)____, sum_sub = 0; int i; for(i = 0; i < 3; i++) { // 累加主对角线元素 sum_main += (2)____; // 累加辅对角线元素 sum_sub += a[i][(3)____]; } printf("主对角线元素之和:%d ", sum_main); printf("辅对角线元素之和:%d ", sum_sub); return 0; } 【答案】 (1)0 (2) a [i][i] (3) 2 - i 【解析】(1) 求和计数器初始化为 0 是累加类程序的标准规范,避免非零初始值导致求和结果出现偏差; (2) 主对角线元素的行下标与列下标相等,使用 a [i][i] 可以准确遍历 3 阶方阵的所有主对角线元素(a [0][0]、a [1][1]、a [2][2]); (3) 3 阶方阵的辅对角线元素列下标等于 2 - 行下标(满足 i+j=2),这样可以依次访问 a [0][2]、a [1][1]、a [2][0] 三个辅对角线元素,实现准确求和。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第27练 单元6 二维数组、字符串的应用《C语言程序设计》(高教版第2版)一课一练-第1页
1

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。