一、单选题(共 25 道试题,共 100 分。)V 1. 预处理命令在程序中都是以____符号开头的
A. *
B. #
C. &
D. @
满分:4 分
2. 通常拷贝构造函数的参数是______。( )
A. 某个对象名
B. 某个对象的成员名
C. 某个对象的引用名
D. 某个对象的指针名
满分:4 分
3. 程序中主函数的名字为____.
A. main
B. MAIN
C. Main
D. 任意标识符
满分:4 分
4. 假定变量b和pb定义为"int b[10], *pb=b;",要将24赋值给b[1]元素中,不正确的语句是.____
A. *(pb+1)=24;
B. *(b+1)=24;
C. *++b=24;
D. *++pb=24;
满分:4 分
5. switch语句能够改写为____语句。
A. for
B. if
C. do
D. while
满分:4 分
6. 对于拷贝初始化构造函数和赋值操作的关系,正确的描述是_____.
A. 拷贝初始化构造函数和赋值操作是完全一样的操作
B. 进行赋值操作时,会调用类的构造函数
C. 当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化
D. 拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义
满分:4 分
7. 考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是
A. test(5);
B. test(5,8);
C. test(6,"#");
D. test(0,0,"*");
满分:4 分
8. 在不考虑强制类型转换的情况下,关于类中常量成员函数的下列说法不正确的是
A. 常量成员函数中不能修改本类中的非静态数据成员
B. 常量成员函数中可以调用本类中的任何静态成员函数
C. 常量成员函数的返回值只能是void或常量
D. 若常量成员函数中调用虚函数f,那么函数f在本类中也一定是一个常量成员函数
满分:4 分
9. 以下说法中正确的是____.
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++程序总是从main函数开始执行
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
满分:4 分
10. 类的析构函数是______时调用的。( )
A. 类创建
B. 创建对象
C. 引用对象
D. 释放对象
满分:4 分
11. 在C++语言中,为了使重载函数具有通用的函数体,应使用
A. 虚函数
B. 纯虚函数
C. 函数模板
D. 友元函数
满分:4 分
12. 以下叙述中正确的是____.
A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
C. 在程序中使用内联函数使程序的可读性变差
D. 在定义函数时可以在形参表的任何位置给出缺省形参值
满分:4 分
13. 设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是____
A. 15
B. 26,15
C. 15,26
D. 26
满分:4 分
14. 在一个源文件中定义的全局变量的作用域为()。
A. 本程序的全部范围
B. 本函数的全部范围
C. 从定义该变量的位置开始到本文件结束
D. 以上说法都不正确
满分:4 分
15. 对下列语句正确的描述是______. const int *x; //(1) int * const x; //(2)
A. 语句(1)的含义是指针变量x不能更改
B. 语句(2)的含义是指针变量x所指向的值不能更改
C. 语句(2)的含义是指针变量x不能更改
D. 语句(1)和(2)是相同含义的不同定义方式
满分:4 分
16. 下面有关重载函数的说法中正确的是______
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
满分:4 分
17. 以上对模板的声明,正确的是______。( )
A. template<T>
B. template <class T1, T2>
C. template<class T1, class T2>
D. template <T1,class T2>
满分:4 分
18. 类模板规定了如何创建一个______。( )
A. 对象
B. 类
C. 实例
D. 变量
满分:4 分
19. 要声明一个有10个int型元素的数组,正确的语句是( )
A. int a[10];
B. int a[2,5];
C. int a[];
D. int *a[10];
满分:4 分
20. 下列选项中,全部都是C++关键字的选项为______。
A. while IF static
B. sizeof case extern
C. switch float integer
D. break char go
满分:4 分
21. 字符型数据在内存中的存储形式是:
A. 原码
B. 补码
C. 反码
D. ASCII码
满分:4 分
22. 类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,则下列说法正确的是
A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数
B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间
C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象
D. 类A和类B中的同名虚函数的返回值类型必须完全一致
满分:4 分
23. 关于对象的描述中,错误的是_______
A. 创建对象时,系统将分配给它所有成员占用的内存空间
B. 对象成员的表示与C语言中结构变量成员的表示方法相同
C. 一个类可以定义多个对象、指向对象的指针和对象数组
D. 创建对象时应调用相应的构造函数进行初始化
满分:4 分
24. 假定Myclass为一个类,则执行Myclass a[3],*p[2];语句时,自动调用该类构造函数_____次。
A. 2
B. 3
C. 4
D. 5
满分:4 分
25. 关于异常和C++提供的异常处理机制。不正确的说法是______。( )
A. 若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dyname cast操作符可能会发生异常
C. 异常可以用catch捕获处理
D. 异常可以是对象,也可以是普通函数
满分:4 分
北航《C++程序设计》在线作业二
试卷总分:100 测试时间:--
单选题
一、单选题(共 25 道试题,共 100 分。)V 1. 以下错误的描述是____.
A. 被调用函数中可以不用return语句
B. 被调用函数中可以用多个return语句
C. 被调用函数中,如果有返回值,就一定要有return语句
D. 被调用函数中,一个return语句可返回多个值给调用函数
满分:4 分
2. 设x和y均为bool量,则x&&y为真的条件是______。
A. 其中一个为假
B. 它们均为真
C. 其中一个为真
D. 它们均为假
满分:4 分
3. 在面向对象的程序设计中,一切都是围绕着___展开的。
A. 语言
B. 结构
C. 数据类型
D. 类
满分:4 分
4. 预处理命令在程序中都是以____符号开头的
A. *
B. #
C. &
D. @
满分:4 分
5. 假定指针变量p定义为"int *p=new int(100);",要释放p所指向的动态内存,应使用语句____.
A. delete p;
B. delete *p;
C. delete &p;
D. delete []p;
满分:4 分
6. 下列各个成员函数中,纯虚函数是( )
A. void fun(int)=0
B. virtual void fun(int)
C. virtual void fun(int){ }
D. virtual void fun(int)=0
满分:4 分
7. 在c++语言中,main函数默认返回一个_____类型的值
A. int
B. float
C. char
D. void
满分:4 分
8. 将两个字符串连接起来组成一个字符串时,选用___函数。
A. strlen( )
B. strcpy( )
C. strcat( )
D. strcmp( )
满分:4 分
9. 在C++语言中,为了使得类中的某些数据成员及某些成员函数的返回值能取任意类型,应使用( )
A. 类
B. 类模板
C. 抽象类
D. 虚基类
满分:4 分
10. 以下说法中正确的是____.
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++程序总是从main函数开始执行
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
满分:4 分
11. 下列关于构造函数说法不正确的是______。
A. 构造函数必须与类同名
B. 在构造函数中可以对类中的成员进行初始化
C. 构造函数可以省略不写
D. 构造函数必须有返回值
满分:4 分
12. 以下正确的说法是____.
A. 用户调用标准库函数前,必须重新定义
B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C. 系统不允许用户重新定义标准库函数
D. 用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中
满分:4 分
13. 下列哪项不是面向对象程序设计的主要特征?
A. 封装
B. 继承
C. 多态
D. 结构
满分:4 分
14. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为
A. main
B. MAIN
C. name
D. function
满分:4 分
15. 假定变量a和pa定义为"double a[10], *pa=a;",要将12.35赋值给a中的下标为5的元素,不正确的语句是____.
A. pa[5]=12.35;
B. a[5]=12.35;
C. *(pa+5)=12.35;
D. *(a[0]+5)=12.35;
满分:4 分
16. 以下标识符中不全是C++保留字的是____
A. case for int
B. default then while
C. bool class long
D. goto return char
满分:4 分
17. 能正确表示x>=3或者x<1的关系表达式是
A. x>=3 or x<1
B. x>=3|x<1
C. x>=3||x<1
D. x> =3|||x<1
满分:4 分
18. 类模板规定了如何创建一个______。( )
A. 对象
B. 类
C. 实例
D. 变量
满分:4 分
19. 以上对模板的声明,正确的是______。( )
A. template<T>
B. template <class T1, T2>
C. template<class T1, class T2>
D. template <T1,class T2>
满分:4 分
20. 以下关于类和对象叙述中,正确的是
A. 一般只有通过具体的对象才能访问类的成员函数
B. 一个类的成员函数可以任意被调用
C. 对象是抽象的,而类是具体实现
D. 类和对象间没有联系
满分:4 分
21. 如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( )
A. 4
B. 10
C. 11
D. 40
满分:4 分
22. 当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是____
A. 直接按系统设定的标准方式搜索目录
B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C. 仅仅搜索源程序所在目录
D. 搜索当前逻辑盘上的所有目录
满分:4 分
23. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_____.
A. public
B. protected
C. private
D. static
满分:4 分
24. 下列说法中,错误的是
A. 带有纯虚拟函数的类称为抽象类
B. 不能定义抽象类的对象,也不能说明抽象类的指针和引用
C. 不能定义抽象类的对象,但可以说明抽象类的指针和引用
D. 定义抽象类的目的是为整个类族规定一个统一接口形式
满分:4 分
25. do语句能够改写为____语句。
A. 复合
B. if
C. switch
D. while
满分:4 分
北航《C++程序设计》在线作业一
试卷总分:100 测试时间:--
单选题 判断题
一、单选题(共 15 道试题,共 60 分。)V 1. 静态成员函数仅能访问()
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
满分:4 分
2. 执行C++程序时出现的“溢出”错误属于______错误。( )
A. 连接
B. 运行
C. 逻辑
D. 编译
满分:4 分
3. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_____.
A. public
B. protected
C. private
D. static
满分:4 分
4. 下列说法中,错误的是
A. 带有纯虚拟函数的类称为抽象类
B. 不能定义抽象类的对象,也不能说明抽象类的指针和引用
C. 不能定义抽象类的对象,但可以说明抽象类的指针和引用
D. 定义抽象类的目的是为整个类族规定一个统一接口形式
满分:4 分
5. 在C++语言中,为了使得类中的某些数据成员及某些成员函数的返回值能取任意类型,应使用( )
A. 类
B. 类模板
C. 抽象类
D. 虚基类
满分:4 分
6. 已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是
A. void print( ) const;
B. const void print( );
C.
void print( );
D. void print(const);
满分:4 分
7. 下列运算符中优先级别最高的是
A. ++
B. ?:
C. !=
D. +=
满分:4 分
8. 下列各个成员函数中,纯虚函数是( )
A. void fun(int)=0
B. virtual void fun(int)
C. virtual void fun(int){ }
D. virtual void fun(int)=0
满分:4 分
9. 可用作C++语言用户标识符的一组标识符是____
A. void define +WORD
B. a3_b3 _123 YN
C. for -abc Case
D. 2a DO sizeof
满分:4 分
10. 下面有关重载函数的说法中正确的是______
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
满分:4 分
11. 有关构造函数的说法,不正确的是______。
A. 对象是类的一个实例
B. 任何一个对象只能属于一个具体的类
C. 一个类只能有一个对象
D. 类与对象的关系和数据类型与变量的关系相似
满分:4 分
12. 以下说法中正确的是____.
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++程序总是从main函数开始执行
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
满分:4 分
13. 当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的______。( )
A. public 成员
B. 友员
C. protected成员
D. private成员
满分:4 分
14. 在下面存储类中, ____对象的可见性与生存期不一致.
A. 外部类
B. 自动类
C. 内部静态类
D. 寄存器类
满分:4 分
15. 字符串”a+b=12n”的长度为____
A. 6
B. 7
C. 8
D. 9
满分:4 分