2011年二级C语言上机题库精选与解题技巧

需积分: 10 11 下载量 108 浏览量 更新于2024-07-31 收藏 611KB DOC 举报
本资源提供的是2011年全国计算机二级C语言上机考试的复习资料,包含50套精选题目,主要测试考生对C语言基础及算法理解的应用能力。以下是两个具体的题目示例: 1. **程序填空题 - 寻找并替换数组中的中间数:** 函数`fun`的目的是在给定的9个正整数数组中找到升序排列后的中间数,然后用这个中间数替换所有小于它的数。函数首先复制输入数组,接着通过两层循环找到中间元素的位置。当找到不相等的索引`k`时,将较小的元素`b[i]`与`b[k]`交换。最后,返回找到的中间数。 代码中缺失的部分为: - `___1___`: 应填入`b[k]`,因为需要将较大的值存储回原位置。 - `___2___`: 应填入`i`,因为在找到中间元素后,其索引为`i`。 - `___3___`: 应填入`<`,判断条件是如果`x[i]`小于`mid`,则用`mid`替换。 2. **矩阵生成函数 - 填充二维数组的数值规律:** 函数`fun`负责创建一个`N×N`的矩阵,其中数值规律是递增的:最外层元素为1,第二层为2,依此类推。这里`a`参数应该是指向二维数组的指针。代码中缺失的部分为如何初始化矩阵元素,应填入递增的数值。 示例代码: ```c void fun(int (*a)[N]) { int i, j; for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { a[i][j] = i + 1; // 递增填充数值,从1开始 } } } ``` 这两个题目着重考察了C语言的基本语法(如指针、数组操作、条件语句),以及数组排序和二维数组的遍历。考生在复习时需熟悉C语言的数据结构、控制结构和基本算法,才能顺利解答这些题目。上机考试可能还会涉及输入输出、错误处理、时间和空间复杂度分析等方面,因此,完整掌握这些知识点对于通过考试至关重要。