2017上半年计算机二级C语言备考练习题及答案

想提高计算机等级考试成绩平时就要多做练习,积累做题方法和技巧,提高做题速度。以下是小编为大家整理的2017上半年计算机二级C语言备考练习题及答案,欢迎学习!

2017上半年计算机二级C语言备考练习题及答案

  一、程序填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun·的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!

  二、程序修改题

下列给定程序中函数fun的功能是:在字符串的最前端加入n个s号,形成新串。并且覆盖原串。 字符串的长度最长允许为79。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

三、程序设计题

请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在a[o]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d E2]中,依此类推,把l00岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。

  注意:部分源程序在文件PROGl.C中。

请勿改动main函数和其他函数中的任何内容.仅在函数fun的.花括号中填入你编写的若干语句。

  参考答案:

  一、程序填空题

  【参考答案】

  【解题思路】

填空1:题目中要求从形参filename所指的文件中读入学生的数据,以此可以看出本空应该填写”rb”。

填空2:此处的if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写>。

填空3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写fwrite。

  二、程序修改题

  【参考答案】

(1)P=s;

(2)while(* P++);

  【解题思路】

(1)指针P应指向s,所以应改为P=s;。

(2)循环等待,当while循环执行一次,临时变量P应该指向字符串的下一位置,所以应改为while(*P++);。

  三、程序设计题