2010年全国计算机等级考试二级C语言上机题库解析

需积分: 0 1 下载量 161 浏览量 更新于2024-07-28 1 收藏 1021KB DOC 举报
"这篇资源包含了2010年9月份全国计算机等级考试二级C语言科目的上机试题,主要涉及程序填空题的练习,帮助考生备考。试题包含50套题目,涵盖不同类型的C语言编程问题。" 在这份资料中,我们可以看到两道具体的程序填空题,它们旨在测试考生对C语言基本语法、函数调用以及逻辑控制的理解。 第一题是一个关于函数调用的问题。题目要求考生完善`fun`函数,使其根据传入的整数参数`i`调用不同的函数并返回结果。根据题目给出的输出示例,`fun`应该在`i==1`时返回`f1(x)`的结果,在`i==2`时返回`f2(x, y)`的结果。因此,填空部分应该是: ```c double fun(int i, double x, double y) { if (i == 1) return f1(x); // 第一处填空:填入f1(x) else return f2(x, y); // 第二处填空:填入f2(x, y) } ``` 第二题则涉及到字符串处理和字符计数。函数`fun`需要找出字符串中出现频率最高的字母(不区分大小写)并统计其出现次数。首先,使用一个长度为26的整型数组`k`来存储每个字母出现的次数,然后通过`isalpha`和`tolower`函数将字符转换为小写。在遍历字符串时,将当前字符转换为小写并更新对应数组元素的计数。完成遍历后,遍历数组`k`找到最大值,从而得到最高频字母及其出现次数。因此,填空部分应该是: ```c ch = tolower(*s); // 将当前字符转换为小写 n = k[ch - 'a']++; // 更新计数,这里假设'a'对应的数组下标为0 ``` 这两题体现了C语言考试中常见的一些考点,包括函数的使用、条件判断、字符串处理、字符操作等。通过解决这些题目,考生可以提升自己的C语言编程技能,更好地准备考试。