C++期末考试选择题题库100道

1. 对于常数据成员,下面描述正确的是 【 B 】

A. 常数据成员必须被初始化,并且不能被修改

B. 常数据成员可以不初始化,并且不能被修改

C. 常数据成员可以不初始化,并且可以被修改

D. 常数据成员必须被初始化,并且可以被修改

2. 在C++中,使用流进行输入输出,其中用于定义文件输入流对象的类是 【 B 】

A. ios   B. ifstream   C. ofstream  D. istrstream

3. 下列关于异常的叙述错误的是【 D 】

A. 只要是编程者认为是异常的都可当异常抛出

B. 硬件故障也可当异常抛出

C. 运行错属于异常

D. 编译错属于异常,可以抛出

4. 在面向对象的程序设计中,基类可以为其派生类提供一组公共的行为,而各个派生类可以为这组公共行为提供不同的实现,从而使得派生类的对象在执行这些公共行为时会有不同的表现,这种特性称为面向对象的【 D 】

A. 封装性    B. 消息性   C. 继承性   D. 多态性

5. 关于域的描述中,错误的是【 C 】

A. 一个类是一个独立的域

B. 派生类域被自动嵌套在基类类域中

C. 域操作符::可以被重载

D. 不同域中可以定义同名变量和函数

6. 下列对变量的引用中错误的是【 C 】

A. inta; int &p = a; 

B. chara; char *p = &a;

C. inta; int &p; p = a;

D. floata; float p=a;

7. 下面【 A 】的叙述不符合赋值兼容规则。

A. 基类的对象可以赋值派生类的对象

B. 派生类指针可以指向基类对象

C. 派生类的对象可以初始化基类的对象

D. 派生类的对象的地址可以赋值给指向基类的指针

8. 构造函数不具备的特征的是【 D 】

A.构造函数的函数名与类名相同

B.构造函数可以重载

C.构造函数可以设置默认参数

D.构造函数必须指定返回类型

9. 关于虚函数的描述中,正确的是【 D 】

A. 虚函数是一个static类型的成员函数

B. 虚函数是一个友元函数

C. 基类中说明了虚函数后,派生类中与其对应的函数必须再次说明为虚函数

D. 派生类的虚函数与基类的虚函数具有相同的参数个数和类型

10. 下列关于静态数据成员的说法,不正确的是【 C 】

A. 类中定义的公用静态数据成员,可以通过类的对象来访问

B. 类中定义的所有静态数据成员,都必须在类外初始化

C. 静态数据成员不是所有对象所共用的

D. 普通的成员函数可以直接访问类中的静态数据成员

11. 下列关于运算符重载的描述中,正确的是【 D 】

A. 运算符重载可以改变操作数的个数

B. 运算符重载可以改变优先级

C. 运算符重载可以改变结合性

D. 运算符重载不可以改变语法结构

12. 有关内联函数的描述,正确的是【 A 】

A. 内联函数可以提高程序效率

B. 内联函数的调用过程与普通函数一样

C. 只要用 inline 关键字声明的函数都是内联函数

D. 全局函数不能声明为内联函数

13. 下列操作符中不能被重载的是【 D 】

A. ->

B. *

C. %

D. ?:

14. 如果一个函数的声明是int fun(char*),则下列函数声明中,错误地重载了该函数的是【 B 】

A. int fun (char*, int)

B. void fun (char*)

C. int fun (int)

D. void fun (char*, int)

15. 下面是关于派生类构造函数的执行顺序的叙述:①执行派生类的构造函数函数体中的内容。②按照基类被继承时声明的顺序(从左向右)执行基类的构造函数。③按照内嵌成员对象在类中声明的顺序执行它们的构造函数。上述执行步骤的正确排序是【 D 】

A. ①②③   B. ②①③   C. ③②①   D. ②③①

16. 设A是一个有不带参数的构造函数的类,fun是一个如下定义的函数:Afun(A&a){returna;}则在执行程序段{Aa; fun(a); }时,对A类的:①构造函数,②析构函数,③拷贝构造函数的调用顺序是【 B 】

A. ①③③②②②    B. ①③②② 

C. ①②③②           D. ①②③③②②

17. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的【 A 】

A. 私有成员        B. 公有成员

C. 保护成员        D. 保护成员或私有成员

18. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是【 C 】

A. 函数体    B. 对象    C. 类     D. 数据块

19. 关于运算符重载,下列表述中正确的是【 B 】

A. 可以通过运算符重载来创建C++中原来没有的运算符

B. 在类型转换函数的定义中不需要声明返回类型

C. 运算符函数的返回类型不能声明为基本数据类型

D. C++已有的任何运算符都可以重载

20. 下列关于静态数据成员的特性的叙述中,错误的是【 C 】

A. 说明静态数据成员时前边要加修饰符static

B. 静态数据成员要在类体外进行初始化

C. 静态数据成员不是所有对象所共有的

  • 85
    点赞
  • 688
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
### 回答1: 编写大学C期末考试题库的程序是一个相对较复杂的任务。首先,我们需要设计一个数据结构来存储问题和答案。这个数据结构可以是一个数组,每个元素包含问题和答案的相关信息,如题目内容、选项、正确答案等。 接下来,我们需要编写程序来实现题库的功能。可以创建一个菜单界面,让用户选择题目的添加、删除、修改和查询等操作。对于添加题目,用户可以输入题目的具体信息,然后将其存储在题库中。删除题目需要用户输入题目的编号或其他能够唯一标识题目的信息,然后将其从题库中删除。修改题目需要用户输入要修改的题目编号或其他信息,然后可以选择修改题目的内容、选项或正确答案等。查询题目可以根据关键词或其他条件来搜索题库,找到相关的题目并显示出来。这些功能的实现需要合理运用C语言提供的数据结构和算法。 此外,考虑到C语言对数据的处理能力和功能的限制,可以使用文件来保存题库的数据。通过文件的读写操作,可以将题库的内容保存在磁盘上,下次运行程序时可以从文件中加载数据。 此程序的实现涉及到C语言的基本语法、数据结构和文件操作等方面的知识。需要编写供用户交互的界面,以及相应的操作代码。同时,为了程序的健壮性和可维护性,需要进行充分的错误处理和异常处理,保证程序能够正确地运行,并且在出现错误时给用户以合适的提示。 总之,编写一个大学C期末考试题库的程序是一个综合运用C语言知识的任务,需要设计合适的数据结构,实现各种功能的代码,保证程序的稳定性和可维护性。 ### 回答2: 大学C期末考试题库编写程序题是一个具有挑战性的任务,需要遵循一定的步骤和规范来完成。以下是一种可能的实施方案: 首先,我们需要明确题库的内容和题型。题库可以包含多个不同的题型,如选择题、填空题、判断题、编程题等。根据每种题型的要求和特点,确定相应的数据结构和算法用以存储和操作题目信息。 在编写程序之前,首先需要进行题目的数据收集。可以通过各种途径收集题目,包括教材、网络资源、教师出题以及同学们的反馈等。确保题目的质量和难度适中,且涵盖了所学的知识点。 根据题目的特点,选择合适的数据结构和算法进行存储和操作。对于选择题和判断题,可以使用数组或链表来表示题目和选项,并根据用户的选择来判断答案是否正确。对于填空题,可以使用字符串或数组来存储答案,并与用户输入的答案进行比较。对于编程题,可以使用字符串或文本文件来存储题目描述和测试用例。 在实现这些数据结构和算法时,需要考虑到程序的效率和可维护性。可以使用适当的数据结构和算法来优化程序的运行时间和空间复杂度,并添加必要的注释和文档来解释程序的逻辑和使用方法。 最后,还需要设计一个用户界面来展示题目和接收用户的答案。可以使用图形界面(GUI)或命令行界面(CLI)来实现,具体取决于使用的编程语言和平台。 总结起来,大学C期末考试题库编写程序题需要明确题目要求、收集题目数据、选择合适的数据结构和算法、实现功能和界面,并考虑到程序的效率和可维护性。通过遵循这些步骤和规范,可以成功地完成题库编写程序题的任务。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值