全国计算机等级考试二级C语言题目解析

需积分: 1 0 下载量 93 浏览量 更新于2024-07-27 收藏 456KB DOC 举报
"历年全国计算机等级考试_二级C语言上机考试题库及答案.doc" 这篇文档涉及的是全国计算机等级考试中的二级C语言部分,主要包含了编程题和代码填充题。以下是对部分内容的详细解释和相关知识点: 1. 函数fun 的实现 这个函数的目的是找出结构体数组std中所有出生于指定年份的人员,并将这些人员的信息存储到另一个数组k中。在函数中,变量n用于记录满足条件的人员数量。 - 在`if(___1___==year)`处,我们需要填写一个条件,使得当人员的出生年份与指定年份相等时,条件为真。因此,正确的填空是`std[i].year`,因为std[i]代表数组中的第i个成员,而std[i].year是其出生年份。 - 在`k[n++]=___2___;`处,我们应该将当前满足条件的人员信息复制到k数组中。因此,正确填空是`std[i]`,这样k[n++]就会接收std[i]的值。 - 在`return(___3___);`处,函数需要返回满足条件的人员数量,所以正确填空是`n`。 2. 给定程序MODI12.C 这段代码是为了找到一个整数k的所有因子。函数IsPrime用于判断一个数是否为质数。如果n不是质数,它会返回0,表示存在因子。 - 在`IsPrime(int n)`函数中,`if!(n%i)`应该是检查n是否能被i整除,即n%i是否等于0。因此,正确填空是`n%i==0`,去掉否定符!。 3. 编程题目 - 提供的代码片段要求找出成绩最高的学生记录。首先,我们初始化`max`为数组a的第一个元素的成绩,`j`为0。然后遍历数组a,如果发现更高的成绩,更新`max`和`j`。最后,将最高分学生的记录通过形参指针传回。填空处应该填写`STU *s`,因为我们要返回的是一个结构体类型的指针。 4. 函数modify 的实现 这个函数的作用是将学生各科成绩乘以一个系数a。在函数的定义中,我们需要一个指向结构体的指针作为参数,所以填空处应填写`STU`,使函数原型为`void modify(STU *ss, float a)`。 总结一下,这个资料涵盖了C语言中基本的结构体操作、函数调用、条件判断、循环遍历、指针使用以及数组操作等知识点。同时,还涉及到如何处理和操作结构体数组,如查找特定条件的元素、找到最高分的学生记录以及对结构体数据进行修改。这些都是C语言编程基础的重要组成部分。