第一章 单元测试
1、问题: #include语句______
选项:
A:总是在程序运行时最先执行
B:按照在程序中的位置顺序执行
C:在程序编译前需要用包含的文件替换,将源文件进行扩展
D:在最后执行
答案: 【解锁后可见】
2、问题:以下说法正确的是:
选项:
A:用C++语言书写程序时,每行必须有行号
B:用C++语言书写程序时,一行只能写一个语句
C:用C++语言书写程序时要注意区分大小写
D:用C++语言书写程序时,一个语句可分几行写
答案: 【解锁后可见】
3、问题: 以下哪种说法不是C++语言的属性:
选项:
A:C++语言是泛型程序设计语言
B:C++语言是面向对象的程序设计语言
C:C++语言是非过程的程序设计语言
D:C++语言是面向过程的程序设计语言
答案: 【解锁后可见】
4、问题: C++中,一般使用流对象来输入输出对象,通过以下哪个流对象可以输入一个整数:
选项:
A:cin
B:string
C:cout
D:cerr
答案: 【解锁后可见】
5、问题:面向过程的C++的程序结构与C语言一样,是:
选项:
A:对象+方法
B:由函数构成
C:由类构成
D:数据结构+算法
答案: 【解锁后可见】
第二章 单元测试
1、问题:下列哪个是C++语言的有效标识符:
选项:
A:_No1
B:12345
C:No.1
D:int
答案: 【解锁后可见】
2、问题:考虑函数原型void test(int a,int b=7,char=”*”),下面的函数调用中,属于不合法调用的是:
选项:
A:test(5);
B:test(5,8);
C:test(6,”#”)
D:test(0,0,”*”);
答案: 【解锁后可见】
3、问题: 下列语句中错误的是:
选项:
A:int *pointer = new int(10)
B:int *pointer = new int[10]
C:int *pointer = new int[40](0)
D:int *pointer = new int
答案: 【解锁后可见】
4、问题:对引用与指针的区别以下说法错误的是:
选项:
A:引用和指针都可以不被初始化。
B:引用必须被初始化,指针不必。
C:引用初始化以后不能被改变,指针可以改变所指的对象。
D:不存在指向空值的引用,但是存在指向空值的指针。
答案: 【解锁后可见】
5、问题:已知有数组定义char a[3][4];下列表达式中错误的是:
选项:
A:a[0][1]=a[0][1]
B:a[2][3]=’W’
C:strcpy(a[2],”WIN”)
D:a[2]=”WIN”
答案: 【解锁后可见】
第三章 单元测试
1、问题:C++中,若一个变量的定义不在任何函数内部,则它所占的内存在内存的哪个区分配:
选项:
A:堆区
B:栈区
C:代码区
D:静态数据区
答案: 【解锁后可见】
2、问题:若有语句,int p=new int; 则p所占的内存在内存的哪个区分配:
选项:
A:代码区
B:静态数据区
C:堆区
D:栈区
答案: 【解锁后可见】
3、问题:若有定义int fac(int n)
{ static int t=1; t=t*n; return t; }则变量t是:
选项:
A:全局变量
B:局部变量
C:自动变量
D:静态局部变理
答案: 【解锁后可见】
4、问题:在函数中声明的静态变量:
选项:
A:在函数体中可见,函数结束调用时释放的变量
B:在函数体中可见,项目结束调用时释放
C:在程序执行时生成,块结束时释放
D:在项目中可见,项目结束调用时释放
答案: 【解锁后可见】
5、问题:某文件中定义的静态全局变量(或称静态外部变量)的作用域是______。
选项:
A:本文件
B:跨文件
C:只限某个函数
D:不限
答案: 【解锁后可见】
第四章 单元测试
1、问题:设计一个类Shape,含有一个数据成员color,若希望能被它的子类成员函数访问,它的访问属性应该设计为:
选项:
A:protected
B:private
C:public
答案: 【解锁后可见】
2、问题:定义一个类,要使用关键字:
选项:
A:class
B:union
C:struct
D:enum
答案: 【解锁后可见】
3、问题:有以下定义:class point{ int m,n;public: void set(int x,int y){this->m=x;this->n=y;}}; Point *pointer;则以下哪种使用是正确的:
选项:
A:p.set(1,2)
B:cout<<pointer->n;
C:pointer->m=3;
D:p->set(1,2)
答案: 【解锁后可见】
4、问题:关于对象概念的描述中,说法错误的是:
选项:
A:对象就是C语言中的结构体类型变量
B:对象之间的信息传递是通过消息进行的
C:对象代表着正在创建的系统中的一个实体
D:对象是类类型的一个变量
答案: 【解锁后可见】
5、问题:下列关于类定义的说法中,正确的是:
选项:
A:成员函数只能在类体外进行定义
B:数据成员必须被声明为私有的
C:类定义由两部分构成,数据成员和函数成员
D:类成员的缺省访问权限是保护的
答案: 【解锁后可见】
第五章 单元测试
1、问题:将运算符重载为类成员函数时,其参数表中含有一个参数,说明该运算是:
选项:
A:不合法的运算符
B:无操作数的运算符
C:一元运算符
D:可能是二元运算符
答案: 【解锁后可见】
2、问题:运算符重载,本质上是运算符函数的重载,运算符函数是一种特殊的_____或友元函数。
选项:
A:析构函数
B:构造函数
C:重载函数
D:成员函数
答案: 【解锁后可见】
3、问题:以下对运算符函数重载规则的描述中,_____是正确的。
选项:
A:可以改变运算符原来的结合性
B:不能改变原运算符的语义
C:可以改变参与运算的操作数个数
D:可以改变运算符原来的优先级
答案: 【解锁后可见】
4、问题:如果类Point要重载插入运算符<<,那么重载函数参数表的一般形式为:
选项:
A:(const Point&)
B:(const Point&,ostream &)
C:(ostream&)
D:(ostream&,const &Point)
答案: 【解锁后可见】
5、问题:类型转换函数只能定义为一个类的:
选项:
A:成员函数
B:析构函数
C:友元函数
D:构造函数
答案: 【解锁后可见】
第六章 单元测试
1、问题:下列有关继承和派生的叙述中,错误的是:
选项:
A:派生类应当向基类的构造函数传递参数
B:作为虚基类的类不能被实例化
C:派生类不能访问基类的保护成员
D:虚函数不一定要在派生类中重新实现
答案: 【解锁后可见】
2、问题:销毁一个含有对象成员的派生类对象时,各析造函数体的执行次序为:
选项:
A:基类、成员对象类、派生类
B:基类、派生类、成员对象类
C:派生类、成员对象类、基类
D:成员对象类、基类、派生类
答案: 【解锁后可见】
3、问题:
下列代码声明了3个类
class Animal{};
class Cat:publicAnimal{};
class Mouse:Animal{};下列关于这些类之间关系的描述中,错误的是:
选项:
A:类Cat是类Animal的派生类
B:类Animal是类Cat的基类
C:类Mouse是类Animal的派生类
D:类Mouse从类Cat公有继承
答案: 【解锁后可见】
4、问题:
下列代码声明了3个类
class Animal{};
class Cat:publicAnimal{};
class Mouse:Animal{};对于这段代码,理解错误的是:
选项:
A:类Cat是从类Animal公有继承
B:类Mouse和类Cat有共同的基类
C:类Cat和类Mouse对类Animal的成员的访问属性一样
D:类Mouse是类Animal的私有继承
答案: 【解锁后可见】
5、问题:在C++中用来实现运行时多态性的是:
选项:
A:构造函数
B:重载函数
C:虚函数
D:析构函数
答案: 【解锁后可见】
第七章 单元测试
1、问题: C++中使用类模板的理由中,以下说法错误的是:
选项:
A:它是类型无关的,因此具有很高的可复用性。
B:它在编译时而不是运行时检查数据类型,保证了类型安全。
C:类模板需要实例化后才能定义对象。
D:类模板不属于C++的多态内容。
答案: 【解锁后可见】
2、问题:关于类模板,下列表述中错误的是:
选项:
A:类模板的成员函数都是函数模板
B:用类模板定义一个对象时,有可能省略实参表
C:类模板只能有虚拟类型参数
D:类模板在编译时会被使用实参表实例化为模板类
答案: 【解锁后可见】
3、问题:下列关于模板形参的描述中,错误的是:
选项:
A:模板形参表必须用括弧( )括起来
B:模板形参表必须在关键字template之后
C:可以用typename修饰模板形参
D:可以用class修饰模板形参
答案: 【解锁后可见】
4、问题:关于函数模板,描述错误的是:
选项:
A:函数模板的实例化由编译器实现
B:类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化
C:函数模板在函数调用时会自动实例化为可支持的模板函数
D:一个类定义中,只要有一个函数模板,这个类就是类模板
答案: 【解锁后可见】
5、问题:在下列模板的类属参数的说明中,正确的是:
选项:
A:template<typename T1,template T2>
B:template<class T1,T2>
C:template(typedef T1,typedef T2)
D:template<typename T1,T2>
答案: 【解锁后可见】
第八章 单元测试
1、问题:以下支持使用下标操作符来获取元素值的容器是:
选项:
A:集合
B:向量
C:映射
D:列表
答案: 【解锁后可见】
2、问题:以下关于迭代器的说法正确的是:
选项:
A:5种类型的迭代器(输入迭代器、输出迭代器、前向迭代器、随机访问迭代器)都支持++操作
B:5种类型的迭代器(输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机记问迭代器)都支持==操作
C:为映射map定义的迭代器支持随机访问
D:指针和迭代器完全等价
答案: 【解锁后可见】
3、问题:以下代码的输出结果是为:
#include<iostream>
#include<vector>
#include<algoritm>
using namespace std;
void push(vector<int>& v)
{ int i = 4;
for(; i>0; i–)
v.push_back(i);
}
void sort(vector<int> v)
{ sort(v.begin(),v.end());}
void disp(vector<int> v)
{ for (int i=0; i<v.size(); i++)
cout<< v[i];
}
int main()
{ vector<int> y;
push(v); disp(v);
sort(v); disp(v);
return 0;
}
选项:
A:43214321
B:12344321
C:12341234
D:43211234
答案: 【解锁后可见】
4、问题:下列哪个容器中的元素是有序的:
选项:
A:dequeue
B:set
C:list
D:vector
答案: 【解锁后可见】
5、问题:以下函数模板中,能够对数据进行排序操作的是:
选项:
A:binary_search
B:sort
C:for_each
D:find
答案: 【解锁后可见】
#版权声明# 本站所有资源来自网络收集和网友投稿,不代表大学题库立场。本站所提供资源均只能用于参考学习用,请勿直接商用。如若本站内容侵犯了您的合法权益,可联系我们进行删除处理。点我联系站长