【C++语言基础】
1. 算法与程序的区别:题目中提到,算法并不是等同于程序,算法是一系列解决问题的清晰指令,而程序是实现这些算法的具体代码。因此,选项D "以上三种说法都不对" 是正确的,因为算法不仅涉及数据结构的设计和结果的可靠性,还需要考虑执行步骤。
2. 线性链表的特点:线性链表的存储空间可以不连续,且插入和删除操作不需要移动其他元素,选项C描述了这一特点。因此,正确答案是C。
3. 二叉树的性质:二叉树中,叶子节点(度为0的节点)的数目总是等于度为2的节点数目加1。所以选项B "叶子结点总是比度为2 的结点多一个" 是正确的。
4. 软件分类:应用软件是指专门用于解决特定领域问题的软件,例如学生成绩管理系统;系统软件如操作系统(如UNIX)、编译程序等是支持计算机系统运行的基础;支撑软件或工具软件提供开发和管理软件的工具。因此,学生成绩管理系统属于应用软件,选项A正确。
5. 系统总体结构图的深度:系统总体结构图的深度表示了系统分解的层次,根据给出的结构图,可以看出它有三层,所以深度为3,选项C正确。
6. 程序调试的任务:程序调试主要是为了发现和改正程序中的错误,而不是设计测试用例或验证程序的正确性,因此选项C "发现程序中的错误" 是正确的。
7. 数据字典的建立阶段:数据字典通常在需求分析阶段建立,用于记录系统中的数据元素、数据流、数据存储等信息,所以选项A正确。
8. 数据库系统的三级模式:数据库的三级模式包括外模式、模式(概念模式)和内模式,数据模式不是其中的一个,选项D正确。
9. 关系数据库操作:通过给出的关系R、S和T,如果T是由R和S得到的,那么操作可能是自然连接、差、交或并。但具体哪个操作没有给出,无法确定。
10. 面向对象设计的主要特征:面向对象设计包括封装、继承、多态等特性,选项A "继承" 正确。
11. 函数原型声明:在声明函数时,需要指定函数返回类型、参数列表和函数名,但不需要函数体,选项D正确。
12. this指针的使用:this指针在类的非静态成员函数中自动传递,指向调用该函数的对象,选项D正确。
13. 未给出的问题:请补充完整问题。
14. 重载运算符:对于类Matrix,重载运算符+、=、<<和++,只有赋值运算符(=)必须作为类成员函数来重载,因为它是改变对象状态的操作,选项B正确。
15. 关于模板的错误描述:模板形参可以由关键字`typename`或`class`声明,选项D错误。
16. 实现格式控制的头文件:要实现C++流的格式控制,需要包含`iomanip`头文件,选项D正确。
17. 不是C++关键字的选项:`functi013`不是C++的关键字,选项B正确。
18. 表达式i/j的结果:在C++中,整数除法会去掉小数部分,所以`i/j`的结果是0,选项A正确。
19. 未给出的问题:请补充完整问题。
以上内容涵盖了C++语言的基础知识,包括算法与程序的区别、数据结构、二叉树、软件分类、系统设计、调试、数据库设计、面向对象特性、函数声明、this指针、运算符重载、模板以及C++的语法特性。这些都是C++学习者需要掌握的重要知识点。