2013年9月全国计算机二级C语言程序设计模拟试卷解析:填空与改错

版权申诉
0 下载量 17 浏览量 更新于2024-09-09 收藏 18KB DOCX 举报
本资源是一份2013年9月全国计算机二级C语言程序设计的上机模拟考试试卷,主要考察了C语言编程基础。考试内容包括两部分:填空题和改错题。 **一、填空题** 这部分题目要求考生完善`main`函数,该函数的功能是计算每个学生科目的平均分并将其存储在`bb`数组中。题目给出一个包含三名学生各科目成绩的二维数组`score`,考生需要编写表达式或语句来实现累加和平均值的计算。具体填空部分如下: 1. 初始化数组`bb`,将每个元素设为0,可以使用`bb[i]=0`或`*(bb+i)=0`来完成。 ```c for (i = 0; i < N; i++) { bb[i] = 0; // 或 *bb + i = 0; } ``` 2. 在循环内累加每个学生的各科成绩到对应的`bb`数组元素中,可以通过`bb[i]+=score[i][j]`、`bb[i]=b[i]+score[i][j]`或`bb[i]=score[i][j]+bb[i]`实现。 ```c for (i = 0; i < N; i++) { for (j = 0; j < M; j++) { bb[i] += score[i][j]; // 或者其他累加方式 } bb[i] /= M; // 平均值除以科目数 } ``` **二、改错题** 题目给出了一个名为`fun`的函数,其功能是计算一个整数m对应的公式y值。该函数存在两个错误,需要考生找出并修复。首先,函数返回类型应改为`double`,因为结果可能不是整数。其次,循环条件的更新应放在循环体内部,以正确计算从100到m的增量。修改后的代码如下: ```c double fun(int m) { // 将int改为double double y = 0.0, d; int i; for (i = 100; i <= m; i += 100) { // 将逗号改为右括号 d = (double) i * (double) i; y += 1.0 / d; } return y; } main() { int n = 2000; printf("\nThe result is %lf\n", fun(n)); // 正确调用函数 } ``` 通过这份试卷,考生可以检验和提升对C语言基本语法、数据结构以及循环控制的理解,同时还能锻炼程序调试和优化的能力。