计算机二级C语言笔试公共基础知识选择题涵盖了算法、数据结构、软件工程等多个方面的重要知识点。算法的有穷性是指算法必须在有限步骤后终止,而执行效率与数据的存储结构有关,空间复杂度则衡量算法运行过程中的内存使用。算法的时间复杂度描述了基本操作的执行次数,而不是实际运行时间。
线性数据结构如队列、线性表和栈具有单一的顺序访问方式,而二叉树是非线性的。在二叉树中,第n层的节点数最多是2^(n-1)。结构化程序设计强调使用顺序、选择和循环结构,并且通常避免使用goto语句,以提高代码的可读性和维护性。面向对象编程中的关键概念包括对象、类和继承,而过程调用是传统的函数调用方式,不属于面向对象。
在软件开发过程中,需求分析阶段通常使用数据流程图(DFD),设计阶段涉及数据结构设计、模块结构定义和算法设计,而构建系统模型和定义需求属于前期工作。数据库系统的核心是数据库管理系统,它提供了数据的存储、管理和访问功能。数据库技术的目标是解决数据共享问题,而数据库模式中的内模式定义了数据的物理存储结构和存取方法。
时间复杂度表示算法的运行效率,通常以基本运算次数衡量。线性表是线性结构,而栈和队列也是线性结构但有特殊操作限制。对于完全二叉树,若总节点数为n,叶子节点数大约是n/2,对于699个节点的完全二叉树,叶子节点数是350。结构化程序设计注重程序的易读性,而需求分析阶段确定软件的功能需求。数据流图是逻辑模型的描述,包含加工、数据存储和源/汇等元素,控制流不是其合法图符。
软件需求分析阶段还包括需求评审,数据库系统通过减少冗余数据来提高数据一致性,但并不能完全避免。关系表的每一横行称为元组,数据库设计包括概念设计和逻辑设计。算法的空间复杂度是执行过程中所需的存储空间,栈是一种先进后出的线性数据结构。满二叉树深度为5时,叶子节点数为2^5 - 1 = 16。