2010年全国计算机二级C语言改错题100题模拟库

需积分: 15 23 下载量 173 浏览量 更新于2024-11-11 收藏 68KB TXT 举报
本资源是针对2010年3月全国计算机等级考试二级C语言的上机模拟试题库,其中包含100道改错题。这些题目主要考察C语言的基础编程技能和对程序逻辑的理解。以下是部分内容的详细解析: 1. 题目1的"MODI1.CкfunĹǣn!"涉及一个名为`fun`的函数,该函数接受一个整数`n`作为参数,并计算其阶乘。函数开始时,结果变量`result`被初始化为1.0。需要注意的是,代码中存在两个错误标记的部分:第一个是判断`n`是否等于0的情况,应当在循环之前处理,因为阶乘在0或1时直接返回1;第二个错误是在`while`循环内部,`result`应乘以`n`而不是减1,因为`n--`会导致`n`在每次循环后递减,正确的操作是`result *= n`。在`main`函数中,用户输入`n`并调用`fun`函数,输出`n`的阶乘。 2. 第二个题目"MODI1.CкfunĹǣȡַַγµַȡԭַ"关注一个名为`fun`的字符串处理函数,它将输入的字符串`s`中的数字字符提取出来并移除非数字字符。函数遍历字符串,当遇到数字字符时将其追加到新的字符串`s[j]`中,并在遇到非数字字符时终止。在最后,`main`函数获取用户输入的字符串,调用`fun`函数后,输出处理后的字符串。错误可能在于字符串结束符`\0`的添加位置,应该在遍历结束后添加,确保不覆盖数字字符。 3. 第三个题目"MODI1.CеĺCreatlinkĹǴͷĵ"涉及链表操作,定义了一个结构体`NODE`表示节点,其中包含一个整型数据`data`和一个指向下一个节点的指针`next`。`Creatlink`函数用于创建一个长度为`n`的链表,每个节点的`data`值为`rand()%m`生成的随机数,且链接结构为从头节点到尾节点。在函数中,错误标记的地方可能涉及到内存分配和链表构建的顺序,例如,`malloc`的内存分配应放在循环外,以便正确初始化链表的头节点,之后再在循环中为每个新节点分配内存并连接到上一个节点。 通过这些题目,考生可以检验自己的C语言基础、循环控制、函数调用、字符串处理以及链表操作等能力,同时提高对算法设计和内存管理的理解。在实际解题过程中,除了纠正错误,还应理解并优化代码,确保程序的效率和可读性。