【C语言二级考试知识点】 1. **树的节点计算**:在树的结构中,节点总数可以通过各个度数的节点数量来计算。如果一棵树的度为3,度为3的节点有3个,度为1的节点有4个,度为0的节点(叶节点)有15个,那么总节点数可通过公式计算:n = 3 × (3 - 1) + 4 × (2 - 1) + 15。根据这个公式,总节点数为30,选项B正确。 2. **线性表的查找**:线性表的顺序查找在最坏情况下需要比较n次,选项C正确。线性表的长度为n,寻找最大项和最小项在最坏情况下需要比较n-1次,有序表的插入在最坏情况下也需要比较n-1次,但题目要求找时间复杂度最低的,因此答案是C。 3. **数据结构特性**:A选项错误,循环队列是队列的一种顺序存储结构;B选项错误,非线性结构也可以采用顺序存储;C选项正确,线性结构可以采用顺序存储结构;D选项错误,具有多个指针的链表不一定非线性,例如双向链表。 4. **排序算法的时间复杂度**:希尔排序、有序链表查找、堆排序、循环链表中寻找最大项,最坏情况下的时间复杂度分别是O(n^2),O(n^2),O(nlogn),O(n),所以最坏情况下时间复杂度最低的是堆排序,选项C正确。 5. **结构化程序设计原则**:结构化程序设计包括模块化、自顶向下和逐步求精,可继承性是面向对象编程的原则,不是结构化设计的一部分,所以选项C正确。 6. **软件系统总体结构图**:A选项正确,深度代表控制的层数;B选项正确,扇入是一个模块被调用的次数;C选项正确,扇出是一个模块调用其他模块的次数;D选项错误,原子模块不一定是叶子节点,也可能有子模块。 7. **软件集成测试**:一次性组装、自顶向下增量组装和自底向上增量组装都是常见的集成测试策略,而迭代式组装通常用于敏捷开发,不是集成测试的范畴,选项D正确。 8. **数据库设计**:数据库的分层是为了提高物理独立性和逻辑独立性,选项C正确。物理独立性意味着更改数据库的物理存储方式不会影响逻辑结构,逻辑独立性意味着更改数据库的逻辑结构不会影响应用程序。 9. **实体关系模型**:实体开发人员和实体项目之间的联系是多对多关系,因为一个开发人员可以参与多个项目,一个项目也可以由多个开发人员共同开发,选项D正确。 10. **关系模式的主键**:在关系模式SC(S#, Sn, C#, Cn, G)中,主键是能够唯一标识一条记录的属性组合,这里S#和C#可以唯一确定一门课及其对应的成绩,所以主键是S#,C#,选项C正确。 11. **C语言源程序**:A选项错误,C语言源程序必须先编译才能运行;B选项正确,结构化程序设计包含循环、选择和顺序结构;C选项错误,N-S流程图可以描述复杂的算法;D选项错误,复杂算法也可以分解成子任务。 12. **程序设计语言特性**:A选项正确,使用顺序、选择和循环结构的算法可以解决复杂问题;B选项错误,C语言源程序可以包含多个函数,不必分开保存;C选项正确,某些语法错误在运行时才会暴露;D选项错误,C语言程序必须包含main()函数才能作为可执行程序。 13. **浮点数运算**:在C语言中,除法操作可能导致不同的结果,取决于操作数的类型。A选项和C选项中的整数除法结果为整数0,而B和D选项的结果为浮点数0.6,所以答案是A和C。 14. **常量定义**:A选项中12.E0不是合法的浮点数常量;B选项中01a不是合法的八进制常量;C选项正确,包含了浮点型常量和长整型常量;D选项中123.1不是合法的整数常量。 15. **字符常量**:在C语言中,'\s'、'\t'、'\n'分别代表空格、制表符和换行符,它们在输出后不是原来的字母,而'\r'代表回车符,输出后保持原样,选项D正确。 16. **浮点数累加**:给定的程序计算的是交错级数1 - 1/3! + 1/5! - 1/7! + ...,因为while循环条件是当t的绝对值大于1.0e-6时继续累加,而1/3!正好是0.16666666666666666,小于1.0e-6,所以会终止,选项D正确。 17. **条件判断与赋值**:在C语言中,`a++ && b++`先计算`a++`和`b++`的当前值,如果两者都非零(真),则输出"T"。因此,初始值为0和1的a和b在逻辑与操作后都会变为1。然后`a=b++`将b的旧值1赋给a,之后b自增为2。因此,输出结果是`Fa=1,b=2`,选项A正确。 以上是对C语言二级考试中涉及的知识点的详细解析,涵盖了数据结构、算法、数据库设计、程序设计原则等多个方面。
剩余14页未读,继续阅读
- 粉丝: 1w+
- 资源: 4072
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助