【知识点详解】
1. **线性表的存储结构**:线性表的两种主要存储方式是顺序存储结构和链式存储结构。顺序存储结构需要连续的内存空间,而链式存储结构通过指针链接节点,不需要连续空间。题目中提到线性表的链式存储结构一般需要更多的存储空间。
2. **栈的特性**:栈是一种后进先出(LIFO)的数据结构。在栈中,元素的变化是通过栈顶指针来动态调整的,而不是栈底指针。
3. **软件测试的目的**:软件测试的主要目的是发现程序中的错误,而不是改正它们。改正错误通常是程序员的工作。
4. **软件危机**:软件危机表现为软件过程不规范、开发效率低、质量难以控制以及成本不断增加等问题。
5. **软件生命周期**:软件生命周期涵盖了软件从需求分析、设计、实现、测试到维护退役的全过程。
6. **面向对象的继承**:继承是面向对象编程的一个重要概念,它允许子类继承父类的属性和方法,实现代码复用。
7. **数据库模型分类**:层次型、网状型和关系型数据库的区别在于数据之间的联系方式,关系型数据库是最常见的类型,基于关系理论。
8. **实体间联系**:工作人员和计算机之间的联系是多对多关系,因为一个工作人员可以使用多台计算机,反之亦然。
9. **数据库设计模式**:外模式反映了用户对数据的需求,内模式是数据库的物理存储方式,概念模式是数据库的逻辑结构。
10. **关系运算**:从关系R和S得到T的操作是交运算,因为T包含了R和S的交集。
11. **结构化程序设计**:C语言中的模块化是通过函数实现的,结构化程序设计并不强制必须同时包含顺序、分支、循环三种结构。
12. **程序设计步骤**:通常的步骤是先确定数据结构和算法,然后编码和调试,最后整理文档。
13. **C程序的运行**:C程序的运行是基于二进制的,整型变量存放整数,实型变量存放浮点数。
14. **C语言表达式**:正确的表达式是B) a=x!=y;,其他选项不符合C语言语法。
15. **常量表示**:合法常量包括整数1200(注意选项A中逗号是非法的),实数1.5E2(选项B的指数部分错误),字符斜杠可以用'\\'表示(选项C缺失),字符串可以包含转义字符如"\007"(选项D正确)。
16. **表达式求值**:表达式a+=a-=a=9最终的值是0,因为赋值运算符的优先级较高。
17. **条件判断**:在if语句中,不能使用未赋值的自增运算符a++作为条件,因此选项D不可替代。
18. **程序输出**:该程序的输出是3,因为当a为非零值时,if(!a)不成立,进入else if(a==0)部分,再因a非零,执行else部分的b+=3。
19. **switch语句**:switch语句的条件应该是一个整型或枚举类型的表达式,所以选项B和C都是正确的,而A和D由于switch后面的表达式不是整型或枚举,故有错误。
这些知识点涵盖了计算机二级考试C语言部分的常见概念,包括数据结构、程序设计、软件工程、数据库设计和C语言语法等。对于准备考试的学生来说,理解和掌握这些知识点至关重要。