2010年3月计算机二级C语言考题精华与数据结构详解

需积分: 9 0 下载量 183 浏览量 更新于2024-09-26 收藏 95KB DOC 举报
本资源是一份针对2010年3月全国计算机等级考试二级C语言的考前冲刺试卷,包含14道选择题,主要考察了计算机编程基础知识、数据结构与算法、线性表、二叉树、查找算法、排序算法、结构化程序设计以及C语言的关键字和常量等核心知识点。 1. 算法的基本特征:算法应具有完整性、可行性、有穷性和确定性,其中“拥有足够的情报”并不是一个标准的算法特征,可能指的是需要输入或假设某些已知条件。 2. 数据结构类型:题目涉及线性结构(如线性表、队列、栈)和非线性结构(如树),线性表虽然不是非线性的,但队列和栈属于线性结构,而树是一种典型的非线性数据结构。 3. 线性表的特点:线性表是一个有限序列,具有线性结构,可以为空表,但元素的存储顺序不一定连续,前后件关系也不一定要求前后元素相邻。 4. 队列和栈:队列遵循“先进先出”(FIFO)原则,而栈遵循“后进先出”(LIFO)原则,因此队列对应的是选项A。 5. 二叉树的节点计算:题目要求计算一个有60个叶子节点和50个度为1的节点的二叉树总结点数,根据性质,每个度为1的节点有两个子节点,可以得出总结点数为60(叶子节点)+ 50(度为1的节点)+ 50(度为1的节点的父节点)= 169。 6. 查找算法:二分查找适用于有序线性表,因为这种查找方式依赖于列表元素的有序性,其他如链表、二叉链表等则不适合。 7. 排序算法:最简单的交换排序方法是冒泡排序,因为其操作简单,每次比较两个相邻元素并交换,直到没有更多的交换发生。快速排序、堆排序和选择排序相对较复杂。 8. 排序算法比较次数:冒泡排序在最坏情况下需要进行n(n-1)/2次比较,而快速排序在平均情况下有较好的性能,最坏情况下为O(n^2),但具体到n个元素,比较次数通常不会达到n(n-1)/2。 9. 结构化程序设计:基本结构包括顺序、选择和重复(循环),这是结构化程序设计的核心原则,其他选项如过程、子程序、递归和控制流结构如调用、返回和转移不是基本结构。 10. C语言语言特性:A选项错误,C语言不能保证整数和实数都能精确表示,B、C、D选项正确描述了变量、存储位置、静态变量和声明的重要性。 11. C语言构成:C语言程序由函数组成,而不是主程序和子程序,B选项正确。 12. 关键字和常量:C语言的关键字包括break、char、switch、return等,D选项中的"e"不是单独的关键词;合法常量选项中,B选项1.234e0.4不符合科学计数法的规范,应该是整数或纯小数形式。 通过这份考前冲刺试卷,考生可以检验对C语言基础知识的掌握程度,并针对性地复习和巩固。