计算机二级C语言上机题库与解答

需积分: 10 1 下载量 144 浏览量 更新于2024-07-24 收藏 1.14MB DOC 举报
“此资源包含2013年9月计算机二级C语言的上机题库,包括填空题和改错题,旨在帮助考生备考。” 计算机二级C语言考试中的上机部分主要考察考生的实际编程能力和对C语言的理解。在提供的部分内容中,我们可以看到两道典型的题目类型:填空题和改错题。 首先,我们分析填空题。题目要求编写一个函数`fun`,以计算斐波纳契数列。斐波纳契数列的定义是每个数是前两个数的和,起始为0和1。在给定的代码中,`fun`函数需要根据输入的整数`n`返回斐波纳契数列的第`n`项。正确填充后的代码应该是: ```c intfun(intn) { if(n==0 || n==1) return n; // 根据斐波纳契数列的初始值 else return fun(n-1) + fun(n-2); // 递归调用,计算当前项 } ``` 接下来是改错题。题目中给出的`fun`函数用于比较两个字符串`a`和`b`的字符并创建新的字符串`c`,包含ASCII值较大或相等的字符。错误的地方在于循环条件和字符比较的逻辑。修正后的代码应为: ```c voidfun(char*p, char*q, char*c) { int k = 0; // 初始化索引k为0 while(*p != '\0' && *q != '\0') // 检查两个字符串是否结束 { if(*p >= *q) c[k] = *p; else c[k] = *q; p++; q++; k++; } } ``` 在这个修正后的版本中,我们修复了索引变量`k`的初始化,并修改了循环条件,确保在两个字符串都未结束时才继续比较。这样,`fun`函数就能正确地组合出新字符串`c`。 通过解决这些题目,考生可以加深对C语言递归、字符串处理以及条件判断的理解,这些都是二级C语言考试的重点内容。考生应该多做此类练习,以提高编程技能和应对考试的能力。