C++编程复习题精选:基础理论与实践

需积分: 10 6 下载量 14 浏览量 更新于2024-07-19 1 收藏 181KB DOC 举报
本资源是一份针对面向对象程序设计课程的复习题,主要聚焦于C++语言的基础概念和编程实践。共包含10个小题,涵盖了目标文件的扩展名、布尔逻辑运算、常量命名规则、字符串存储、构造函数调用、函数返回类型、函数重载、继承中的成员可见性、内联函数的目的以及二维数组的正确定义等知识点。 1. 缺省情况下,由C++源程序文件编译而成的目标文件扩展名为.obj,这是编译过程的产物,选项C正确。 2. 在布尔逻辑运算符`&&`中,如果x和y都是bool量,只有当它们都为真时,表达式x&&y的结果才为真,因此选项A正确。 3. 非法的常量名通常不符合标识符命名规则,选项C中的"zhang@mail"包含了@符号,不符合C++中的标识符命名要求,因此是非法的。 4. 字符串常量在内存中存储为一串ASCII码值,并且需要额外存储一个结束标志(通常是空字符'\0'),所以占用L+1个字节,选项B正确。 5. 类`AB`的初始化语句中有两次构造函数调用:一次用于对象`a`,一次用于对象`b`,再者`*p`是一个指向对象的指针,其初始化也会调用构造函数,因此总共3次,选项B正确。 6. 函数的返回类型决定了函数的输出,但不是任意数据类型,排除数组和指针/引用,因此选项C正确。 7. 重载函数是指具有相同名称但参数列表不同的函数,选项A符合这一描述,即以参数来区分。 8. 保护继承时,基类的公有成员和保护成员在派生类中变为受保护,不能直接通过派生类的对象访问,选项B正确。 9. 内联函数的目的是通过将函数体直接嵌入到调用位置来减少函数调用的开销,同时保持代码的可读性,选项B最全面。 10. 二维数组的定义中,选项C`inta[][3]={{1,3,5},{2}}`表示一个具有3列的动态数组,符合语法要求。 另外,题目中还提到了编程过程的基本步骤,选项B是正确的:编辑源代码(创建或修改)、编译将源代码转换为目标代码、链接将各个目标文件合并成可执行文件,最后进行调试。 这些题目旨在帮助学习者巩固C++编程的基础知识,对于准备期末考试或者复习阶段的学习者来说是非常有用的资源。