第一章 单元测试
1、单选题:
( )是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
选项:
A:抽象性
B:多态性
C:封装性
D:继承性
答案: 【继承性】
2、单选题:
编译时的多态性是通过( )来实现的。
选项:
A:重载
B:组合
C:继承
D:多态
答案: 【重载】
3、单选题:
运行时的多态性是通过( )来实现的。
选项:
A:静态函数
B:友元函数
C:纯虚函数
D:虚函数
答案: 【虚函数】
4、单选题:
( )是对一组具有共同属性特征和行为特征的对象的抽象。
选项:
A:对象
B:类
C:成员函数
D:静态函数
答案: 【类】
5、单选题:
( )是一个类所描述的一个具体的对象。
选项:
A:实例
B:对象
C:成员函数
D:类
答案: 【实例】
6、单选题:
( )就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。
选项:
A:抽象
B:封装
C:继承
D:多态
答案: 【抽象】
7、单选题:
子类继承了多个父类的数据结构和方法,则称为( )。
选项:
A:多重继承
B:封装
C:抽象
D:单继承
答案: 【多重继承】
8、单选题:
面向对象设计中,对象就是( ),它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。
选项:
A:方法
B:模块
C:操作
D:抽象
答案: 【模块】
9、单选题:
把面向对象思想应用于软件开发过程中,指导开发活动的系统方法,简称( )方法。
选项:
A:其它都不对
B:面向对象
C:面向应用
D:面向过程
答案: 【面向对象】
10、多选题:
面向对象程序设计所涉及的术语有类、对象、方法、( )和重载。
选项:
A:实例
B:属性
C:数据
D:消息
答案: 【实例;属性;消息】
第二章 单元测试
1、单选题:
大多数C++程序通常包含( )头文件,它包含了所有输入/输出操作所需要的信息。
选项:
A:istream.h
B:iostream.h
C:string.h
D:ostream.h
答案: 【iostream.h】
2、单选题:
运算符<<左边的操作数是( )类的一个对象,右边可以是C++的合法表达式。
选项:
A:ofstream
B:istream
C:ifstream
D:ostream
答案: 【ostream】
3、单选题:
( )表示标准错误输出(非缓冲方式)导出程序错误信息。
选项:
A:cerr
B:clog
C:cout
D:cin
答案: 【cerr 】
4、单选题:
( )表示标准错误输出(缓冲方式),导出程序错误信息。
选项:
A:cerr
B:cin
C:cout
D:clog
答案: 【clog】
5、单选题:
命名空间成员的访问格式为( )。
选项:
A:命名空间标识符.成员名
B:命名空间标识符:成员名
C:命名空间标识符->成员名
D:命名空间标识符::成员名
答案: 【命名空间标识符::成员名】
6、单选题:
ifstream从( )派生而来,把文件绑定到程序输入。
选项:
A:其它都不是
B:ofstream
C:ostream
D:istream
答案: 【istream】
7、单选题:
ofstream从( )派生而来,把文件绑定到程序输出。
选项:
A:其它都不是
B:ostream
C:ofstream
D:istream
答案: 【ostream】
8、单选题:
fstream从( )派生而来,把文件绑定到程序输入/输出。
选项:
A:ofstream
B: iostream
C:istream
D: ifstream
答案: 【 iostream】
9、单选题:
( )是标准输入流。
选项:
A:clog
B:cout
C:cin
D:cerr
答案: 【cin】
10、单选题:
下面4个选项中,专门用于读取单个字符的是( )。
选项:
A:cin.put()
B:cin.get()
C:cin.getline()
D:cin.read()
答案: 【cin.get()】
第三章 单元测试
1、单选题:
( )的功能是释放一个对象,在对象删除之前,用它来做一些内存释放等清理工作,它的功能与构造函数的功能正好相反。
选项:
A:析构函数
B:友元函数
C:静态函数
D:构造函数
答案:
2、单选题:
在堆中创建的数据对象称为( )。
选项:
A:堆对象
B:静态对象
C:全局对象
D:其它都不是
答案:
3、单选题:
在C++语言程序中,对象之间的相互通信通过调用( )函数实现。
选项:
A:成员
B:构造
C:静态
D:析构
答案:
4、单选题:
析构函数和构造函数两者的调用次序( )。
选项:
A:随机
B:相同
C:其它都不对
D:相反
答案:
5、单选题:
如果不定义析构函数,系统会自动生成一个默认的( )。
选项:
A:静态函数
B:析构函数
C:友元函数
D:构造函数
答案:
6、单选题:
以下程序的输出结果为( )#include <iostream.h>class Sample{int x;public:Sample(){cout<<(x=0);}Sample(int i){cout<<(x=i);}~Sample(){cout<<x<<endl;}void disp(){cout<<x;}};void main(){Sample s(3);int i=0;if(i=0){Sample s;s.disp ();}}
选项:
A:34
B:33
C:22
D:24
答案:
7、单选题:
以下选项中是下列程序的输出结果的是( )
选项:
A:0
B:3
C:4
D:5
答案:
8、单选题:
下面选项中是以下程序输出结果的是( )#include <iostream.h>int add(int x, int y = 8);void main(){int a = 6; cout << add(a, add(a)) << endl;}int add(int x, int y){return x + y;}
选项:
A:12
B:16
C:14
D:20
答案:
9、单选题:
下面程序的输出结果为( )#include <iostream.h>int p(int x = 4, int y = 5, int z = 6){return x + y + z;}void main(){int a = 3, b = 4, c = 5; c = p(b, a);cout << c;}
选项:
A:11
B:12
C:15
D:13
答案:
10、单选题:
请选择出下面程序的输出结果( )#include <iostream.h>float f(float x, float y){return x+y;}int f(int x, int y){return x+y;}void main(){float a, b, c;a = b = 50.5; c = f(a, b);cout << c;}
选项:
A:
50.5
B:
100
C:
101
D:
100.5
答案:
第四章 单元测试
1、单选题:
( )是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或参数个数不同。
选项:
A:函数模板
B:函数重载
C:友元函数
D:默认参数
答案:
2、单选题:
成员函数重载的一个很重要的应用就是重载( )。
选项:
A:静态函数
B:析构函数
C:构造函数
D:友元函数
答案:
3、单选题:
在函数调用时,若某个参数省略,则其后的参数皆应省略而采用( )。
选项:
A:默认参数
B:模板
C:默认值
D:重载
答案:
4、单选题:
在类内给出函数体定义的成员函数被默认为( )。
选项:
A:静态函数
B:友元函数
C:内联函数
D:构造函数
答案:
5、单选题:
内联函数的关键字是( )。
选项:
A: friend
B: throw
C:static
D: inline
答案:
6、单选题:
函数重载是指两个或两个以上的函数具有( )的函数名,但参数类型不一致或参数个数不同。
选项:
A:其它都可以
B:随意
C:不同
D:相同
答案:
7、单选题:
函数重载是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或( )不同。
选项:
A:返回值类型
B:参数个数
C:参数名称
D:其它都不对
答案:
8、单选题:
一个类的友元函数能够访问该类的( )
选项:
A:私有成员
B:保护成员
C:公有成员
D:所有成员
答案:
9、多选题:
函数重载是C++对C语言的扩展,包括( )重载。
选项:
A:非成员函数
B:成员函数
C:友元
D:静态
答案:
10、多选题:
在内联函数体中不能含有如下哪些语句( )。
选项:
A:赋值语句
B:while语句
C:switch语句
D:其它都是
答案:
第五章 单元测试
1、单选题:
如执行语句以下语句之后,x的值为( )。int x=5,*y=&x;int* &z=y; z++;
选项:
A:5
B:3
C:6
D:4
答案:
2、单选题:
如执行语句以下语句之后,x的值为( )。int a[5]={1,2,3},&x=a[2];int *y=&x; y++;
选项:
A:4
B:6
C:5
D:3
答案:
3、单选题:
已知:const int x = 23;定义指针q指向x,语句是( )
选项:
A:int * const q=&x;
B:int * const q=x;
C:const int *q=&x;
D:const int *q=x;
答案:
4、单选题:
常对象只能调( )函数。
选项:
A:常成员
B:成员
C:静态
D:友元
答案:
5、单选题:
一旦一个引用被初始化为指向一个对象,它就( )被改变为对另一个对象的引用。
选项:
A:能
B:不能
C:没有正确选项
D:不确定
答案:
6、单选题:
定义q为一个指向int类型的变量i的常指针语句( )
选项:
A:const int *q=i;
B:int * const q=i;
C:int * const q=&i;
D:const int *q=&i;
答案:
7、单选题:
引用是通过变量的别名( )访问变量。
选项:
A:其它都不对
B:直接
C:间接
D:随机
答案:
8、单选题:
在类里创建一个const数据成员时不能赋初值,只能在( )里对其赋初值。
选项:
A:友元函数
B:析构函数
C:构造函数
D:静态函数
答案:
9、单选题:
引用作为函数参数时,函数实参与形参之间的传递是( )传递。
选项:
A:单向
B:双向
C:所有选项都对
D:随机
答案:
10、单选题:
关于拷贝构造函数的描述正确的是( )。
选项:
A:如果不自定义拷贝构造函数,系统提供默认的拷贝构造函数
B:如果有自定义的构造函数,系统就不再提供拷贝构造函数
C:如果需要用已有对象为新创建的对象初始化时,就必须自定义拷贝构造函数
D:通常的拷贝构造函数的参数是对象的指针类型
答案:
第六章 单元测试
1、单选题:
C++中只能重载C++语言中( )的运算符。
选项:
A:其他选项均不对
B:所有
C:新创建的
D:原先已定义
答案:
2、单选题:
前置单目运算符重载为类的成员函数时,其参数表有( )个参数。
选项:
A:0
B:1
C:任意
D:2
答案:
3、单选题:
用构造函数完成类类型的转换,类内至少定义一个( )的构造函数。
选项:
A:无参数
B:可带任意个参数
C:只带两个参数
D:只带一个参
答案:
4、单选题:
双目运算符重载为类的成员函数时,其参数表有( )个参数。
选项:
A:1
B:任意
C:0
D:2
答案:
5、单选题:
对赋值运算符进行重载时,应声明为( )函数。
选项:
A:构造
B:析构
C:静态成员
D:非静态成员
答案:
6、单选题:
将一个char型数据转换为String类型(用户自定义类型)的数据时,可以用( )函数完成类类型转换。
选项:
A:构造
B:友元
C:析构
D:静态
答案:
7、单选题:
如何只带一个参数(或其他参数都带有默认值)的( )函数都可以认为是一种转换构造函数。
选项:
A:静态
B:友元
C:构造
D:析构
答案:
8、单选题:
下列关于运算符重载的描述中,错误的是( )。
选项:
A:运算符重载不可以改变结合性
B:运算符重载不可以改变运算符的操作数个数
C:运算符重载不可以改变优先级
D:加法运算符”+”和赋值运算符”=”都重载之后,意味着”+=”也被重载了
答案:
9、单选题:
下列运算符中,必须使用成员函数进行重载的是( )。
选项:
A:==
B:++
C:>>
D:=
答案:
10、多选题:
大多数的运算符重载可以重载为类的( )。
选项:
A:非成员函数
B:友元函数
C:构造函数
D:成员函数
答案:
第七章 单元测试
1、单选题:
( )函数和全局函数不能声明为虚函数。
选项:
A:静态成员
B:所有都可以
C:析构
D:非静态成员
答案:
2、单选题:
在派生类的声明中,如果只有一个基类名,则这种继承方式称为( )。
选项:
A:单继承
B:多继承
C:抽象继承
D:组合继承
答案:
3、单选题:
普通对象调用虚函数,系统仍然以( )方式调用函数。
选项:
A:静态绑定
B:动态绑定
C:派生
D:继承
答案:
4、单选题:
抽象类只能用做其他类的( )类,不能建立抽象类对象。
选项:
A:子
B:其它都可以
C:基
D:派生
答案:
5、单选题:
如果派生类没有给出全部纯虚函数的实现,这时的派生类仍然是一个( )类。
选项:
A:抽象
B:其它都可以
C:基
D:派生
答案:
6、单选题:
必须在派生类的( )函数中调用初始化虚基类的构造函数。
选项:
A:构造
B:友元
C:析构
D:纯虚
答案:
7、单选题:
如果一个类带有纯虚函数,则此类称为( )类。
选项:
A:虚基
B:子
C:抽象
D:派生
答案:
8、单选题:
抽象类用做提供( )类的接口,不能声明对象。
选项:
A:派生
B:基
C:虚基
D:抽象
答案:
9、单选题:
关于虚函数和抽象类描述错误的是( )。
选项:
A:纯虚函数是一种特殊的函数,它没有具体实现
B:抽象类是指具有纯虚函数的类
C:一个基类中声明有纯虚函数,则它的派生类一定不再是抽象类
D:抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
答案:
10、单选题:
在派生类中重新定义虚函数时,除了( ),其他方面都必须与基类中相应的虚函数保持一致。
选项:
A:参数个数
B:函数名称
C:函数体
D:参数类型
答案:
第八章 单元测试
1、单选题:
把模板参数实例化后,由函数模板产生的函数称为( ),它是函数模板的具体实例。
选项:
A:友元函数
B:函数模板
C:内联函数
D:模板函数
答案:
2、单选题:
类模板代表了一类( ),模板类表示某一具体的类。
选项:
A:对象
B:模板
C:函数
D:类
答案:
3、单选题:
使用函数模板的方法与使用普通函数类似,即使用( )代替模板参数并调用。
选项:
A:类
B:形参
C:声明
D:实参
答案:
4、单选题:
类模板的使用实际上是将类模板实例化成为一个具体的( )。
选项:
A:对象
B:函数
C:模板类
D:类
答案:
5、单选题:
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都须重复使用关键字( )。
选项:
A:const
B:void
C:class
D:static
答案:
6、单选题:
一个( )允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
选项:
A:类模板
B:模板类
C:函数模板
D:模板函数
答案:
7、多选题:
函数模板代表了一类函数,是对一类函数的抽象,它以( )类型为参数。
选项:
A: int
B:其它都不是
C: char
D:自定义
答案:
8、判断题:
模板函数与函数重载相同,可以互相取代。
选项:
A:错
B:对
答案:
9、判断题:
类模板的成员函数都是模板函数。
选项:
A:错
B:对
答案:
10、判断题:
类模板本身在编译中会生成额外的代码。
选项:
A:对
B:错
答案:
第九章 单元测试
1、单选题:
要通过“<<”输出自定义的类类型,则必须重载该运算符为( )函数。
选项:
A:静态
B:析构
C:友元
D:构造
答案:
2、单选题:
要从文件中输入数据,则必须定义( )类的对象。
选项:
A: ifstream
B: ostream
C:ofstream
D: istream
答案:
3、单选题:
控制格式输入输出的操作中,函数( )是用来设置填充字符。要求给出函数名和参数类型。
选项:
A:setfill
B:setw
C: fill
D:setbase
答案:
4、单选题:
在C++ 的流对象中,( )表示标准输入的istream类对象。
选项:
A:out
B:cout
C:in
D:cin
答案:
5、单选题:
下列关于getline( )函数的叙述中,错误的是( )。
选项:
A:getline( )函数中所使用的终止符默认是换行符,也可指定其他终止符
B:getline( )函数读取字符串时,遇到终止符就停止
C:getline( )函数仅用于从键盘而不能从文件读取字符串
D:getline( )函数读取字符串长度是受限制的
答案:
6、单选题:
打开文件的方式中,( )以追加方式打开文件。
选项:
A:ios::out
B:ios::app
C:ios::trunk
D:ios::in
答案:
7、单选题:
以下程序的输出结果为( )#include <iostream>#include <iomanip>using namespace std;ostream &myoutput(ostream& stream){stream<<hex<<setw(7)<<setfill(‘*’)<<left;return stream;}int main(){int i=91;cout<<i<<“,”<<myoutput<<i<<endl;return 0;}
选项:
A:91,5B
B:其它都不对
C:91,*******
D:91,5B*****
答案:
8、单选题:
以下程序的输出结果为( )#include <iostream>#include <fstream>using namespace std;int main(){ofstream outf(“data.dat”);int i;for(i=0;i<10;i++){outf<<i;if(i%3==0)outf<<endl;}outf.close();ifstream inf(“data.dat”);while(!inf.eof()){inf>>i;cout<<i<<“,”;}inf.close();return 0;}
选项:
A:0,123,456,789,789,
B:其它都不对
C:0,123,456,789,
D:0,
答案:
9、单选题:
以下程序的输出结果为( )#include <iostream>#include <iomanip>using namespace std;ostream &myoutput(ostream& stream){stream<<setw(10)<<setfill(‘#’)<<left;return stream;}int main(){int i=123; cout<<i<<“,”<<myoutput<<i<<endl;return 0;}
选项:
A:123,#######123
B:123,123
C:123,##########
D:123,123#######
答案:
10、多选题:
根据数据的组织形式,文件分为( )。
选项:
A:十六进制文件
B:二进制文件
C:文本文件
D:十进制
答案:
第十章 单元测试
1、单选题:
异常处理不仅提供了程序的容错性,还提供了各种( )的方法。
选项:
A:继承
B:捕获异常
C:友元
D:抽象
答案:
2、单选题:
如不想在异常抛出时退出函数,可在函数内创建一个( ),用于测试各种错误。
选项:
A:其它都可以
B:死循环
C:特殊块
D:空语句
答案:
3、单选题:
在try之后,根据异常的不同情况,相应的处理方法由关键字( )引导。
选项:
A:try
B:test
C:throw
D:catch
答案:
4、单选题:
异常处理部分必须( )放在测试块之后。
选项:
A:直接
B:随意
C:其它都不对
D:间断
答案:
5、单选题:
如果找到类型匹配的catch语句,进行捕获,其参数被初始化为( )对象,执行相应catch内的语句模块。
选项:
A:指向异常
B:其它都不对
C:随机
D:任意
答案:
6、单选题:
如果任意层的异常处理器都没有捕获到异常(没有指定相应的catch块),称为( )。
选项:
A:异常捕获
B:没有异常
C:其它都不对
D:未捕获异常
答案:
7、单选题:
C++语言提供了异常接口声明语法,利用它可以清晰地告诉使用者异常抛出的( )。
选项:
A:其它都不对
B:功能
C:函数
D:类型
答案:
8、单选题:
如果发生异常,则根据throw抛出的异常对象类型来匹配一个( )语句。
选项:
A:catch
B:test
C: try
D:throw
答案:
9、多选题:
如有异常抛出,可以使用( )类型变量作为参数。
选项:
A:自定义
B:预定义
C:其它都不是
D:int
答案:
10、多选题:
给定void f( ) throw( ); 则该函数f能抛出( )异常。
选项:
A:int
B:float
C:其它都不对
D:自定义类型
答案:
评论0