全国计算机二级C++笔试试题Word下载.docx
- 文档编号:22029047
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:23.94KB
全国计算机二级C++笔试试题Word下载.docx
《全国计算机二级C++笔试试题Word下载.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C++笔试试题Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是
A)一对一
B)一对多
C)多对多
D)多对一
(9)数据库设计中反映用户对数据要求的模式是
A)内模式
B)概念模式
C)外模式
D)设计模式
(10)有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是
A)自然连接
B)交
C)投影
D)并
(11)下列关于函数参数的叙述中,正确的是
A)在函数原型中不必声明形参类型
B)函数的实参和形参共享内存空间
C)函数形参的生存期与整个程序的运行期相向
D)函数的形参在函数被调用时获得初始值
(12)下列关于对象初始化的叙述中,正确的是
A)定义对象的时候不能对对象进行初始化
B)定义对象之后可以显式地调用构造函数进行初始化
C)定义对象时将自动调用构造函数进行初始化
D)在一个类中必须显式地定义构造函数实现初始化
(13)下列关于基类和派生类关系的叙述中,正确的是
A)每个类最多只能有一个直接基类
B)派生类中的成员可以访问基类中的任何成员
C)基类的构造函数必须在派生类的构造函数体中调用
D)派生类除了继承基类的成员,还可以定义新的成员
(14)下列关于赋值运算符“=”重载的叙述中,正确的是
A)赋值运算符只能作为类的成员函数重载
B)默认的赋值运算符实现了“深层复制”功能
C)重载的赋值运算符函数有两个本类对象作为形参
D)如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符
(15)下列关于模板的叙述中,正确的是
A)如果一个类中存在纯虚函数,这个类就是类模板
B)函数模板不能有形式参数表
C)类模板是一种参数化类型的类,是类的生成器
D)类模板中不能包含构造函数
(16)下列关于C++预定义流对象的叙述中,正确的是
A)cin是C++预定义的标准输入流对象
B)cin是C++预定义的标准输入流类
C)cout是C++预定义的标准输入流对象
D)cout是C++预定义的标准输入流类
(17)下列选项中,正确的C++标识符是
A)6_group
B)group~6
C)age+3
D)_group_6
(18)下列选项中,正确的C++表达式是
A)counter++3
B)element3+
C)a+=b
D)‘a‘=b
(19)下列循环语句中有语法错误的是
A)inti;
for(i=1;
i<
10;
i++)cout<
<
‘*‘;
B)inti,j;
for(i=1,j=0;
i<
i++,j++)cout<
C)inti=0;
for(;
i++)cout<
‘*‘;
D)for
(1)cout<
(20)下列定义语句中,错误的是
A)intpx*;
B)char*acp[10];
C)char(*pac)[10];
D)int(*p)();
(21)下列函数原型声明中,错误的是
A)intfnction(intm,intn);
B)intfunction(int,int);
C)intfunction(intm=3,intn);
D)intfunction(int&
m,int&
n);
(22)若MyClass为一个类,执行“MyClassa[4],*p[5];
”语句时会自动调用该类构造函数的次数是
A)2
B)5
C)4
D)9
(23)若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为
A)x.Operator/(Y)
B)operator/(x,Y)
C)Y.operator/(x)
D)operator/(y,x)
(24)若要重载+、=、<
、=和[]运算符,则必须作为类成员重载的运算符是
A)+和=
B)=和<
C)==和<
D)=和[]
(25)有函数模板声明和一些变量定义如下:
template<
classTl,classT2,classT3>T1sum(T2,T3);
doubledl,d2;
则下列调用中,错误的是
A)sum<
double,double,double>(dl,d2);
B)sum<
double;
double>
(d1,d2);
C)sum<
D)sum(d1,d2);
(26)有如下语句序列:
charstr[10];
cin>
>
str;
当从键盘输入”Ilovethisgame”时,str中的字符串是
A)"
Ilovethisgame"
B)"
Ilovethi"
C)"
Ilove"
D)"
I"
(27)有如下程序:
#include<
iostream>
cmath>
usingstd:
:
cout;
classPoint{
public:
frienddoubledistance(constPoint&
p);
//p距原点的距离
Point(intxx=0,intyy=0):
x(xx),Y(YY){}//①
private:
Intx,Y;
};
doubledistance(constPoint&
p)
{
//②
returnsqrt(p.x*p.x+p.Y*p.Y);
}
intmain(){
Pointp1(3,4);
cout<
distance(p1);
//③
return0;
下列叙述中正确的是
A)程序编译正确
B)程序编译时语句①出错
C)程序编译时语句②出错
D)程序编译时语句③出错
(28)有如下程序:
usingnamespacestd;
classCD{
~CD(){cout<
’C’;
}
charname[80];
intmain(){CDa,*b,d[2];
return0;
运行时的输出结果是
A)CCCC
B)CCC
C)CC
D)C
(29)某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是
A)constvoidShow();
B)voidconstShow();
C)voidShow()const;
D)voidShow(const);
(30)若已定义了类Vehicle,则下列派生类定义中,错误的是
A)classCar:
Vehicle{/*类体略*/},
B)classCar:
publicCar{/*类体略*/};
C)classCar:
publicVehicle{/*类体略*/};
D)classCar:
virtualpublicVehicle{/*类体略*/};
(31)有如下程序:
classMusic{
voidsetTitle(char*str){strcpy(title,str);
protected:
chartype[10];
chartitle[20];
classJazz:
publicMusic{
voidset(char*str){
strcpy(type,"
Jazz"
);
//①
strcpy(title,str);
A)程序编译正确一
B)程序编译时语句①出错
C)程序编译时语句②出错
D)程序编译时语句①和②都出错
(32)有如下程序:
classInstrument{
virtualvoidDisplay()=0;
classPiano:
publicInstrument{
voidDisplay(){/*函数体程序略*/}
int,main(){
Instruments;
Instrument*p=0;
//...;
A)语句“Insturment*p=0;
”编译时出错
B)语句“Instruments;
C)类Piano中的Display函数不是虚函数
D)类Instrumen七是一个虚基类
(33)有类定义如下:
气
classType
{
Type(int
i=0);
Tvpeoperator-(int);
friendTypeoperator+(Type,Type);
private:
intval;
若有对象定义Typecl;
则下列语句序列中,错误的是
A)Type(3)+c1;
B)cl+Type(3);
C)3-cl;
D)c1-3;
(34)有如下程序:
iomanip>
usingnamespacestd;
_
Cout<
setw(10)<
setfill(’x’)<
setprecision(8)<
left;
12.3456793<
_______<
98765;
若程厚的输出是12.345679x98765xxxxx,则划线处缺失的部分是
A)setw(10)
B)setfill('
x'
)
C)setprecision(8)
D)right
(35)有如下程序:
classBook{
Book(char*t="
"
){strcpy(titie,t);
}
_____________________________
Chartitle[40];
classNovel:
publicBook{
Novel(char*t="
):
B00K(t){}
char*Category()const
{return”"
文学"
Book*pb;
pb=newNovel();
pb->
Category();
若程序运行时输出结果是“文学”,则划线处缺失的语句是
A)char*Category();
B)char*Category()const;
C)virtualchar*Category()const;
D)virtualchar*Category
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不得分。
注意:
以命令关键字填空的必须拼写完整。
(1)一个栈的初始状态为空。
首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为__【1】__。
(2)在长度为n的线性表中,寻找最大项至少需要比较___【2】___次。
(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有__【3】___个
结点。
(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是_【4】__程序。
(5)数据库设计的四个阶段是:
需求分析,概念设计,逻辑设计和_【5】_。
(6)如果一个派生类只有一个直接基类,则该类的继承方式称为_【6】_继承;
如果一个派生类同时有多个直接基类,则该类的继承方式称为_【7】_继承。
(7)运算符“+”允许重载为类成员函数,或者非成员函数。
若用operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为_【8】_函数。
(8)下列程序的输出是3,请填充程序中的空缺,使该行形成一个运算符重载函数的定义。
classMyNumber{
intn;
MyNumber(intk):
n(k){}
_【9】_int()const{returnn,}
MyNumbernuml(3);
int(numl);
(9)下列程序的输出结果是_【10】__。
classBase{
intm,n;
Base(inti,intj):
m(i),n(j){}
classDerived:
public
Base{
intm,k;
Derived(inti,intj):
Base(i,j),m(i+1),k(j+1){}
Derivedd(1;
5);
d.M<
d.K<
d.n;
(10)根据程序中的注释将下列缺失部分补充完整。
classA{
char*a;
A():
a(0){}
A(char*aa){//把aa所指字符串复制给a所指向的存储空间
a=__【11】__char[strlen(aa)+1];
strcpy(a,aa);
~A(){delete[]a;
(11)根据程序中的注释将下列缺失部分补充完整。
intx,y;
//点的x和y坐标
Point(intxx=0,intyy=。
x(xx),y(yy){}
classCircle{
Pointcenter;
//圆心位置
intradius;
//半径
public:
//利用cx和cy分别初始化圆心的x和y坐标
Circle(intcx;
intcy,intr):
__【12】__,radius(r){}
voidarea(){cout<
3.14159*radius*radius<
endl;
(12)一网喂序的输出结果是__【13】__。
#include<iostream>
Intx;
Public:
Base(intb):
x(b){}
virtualvoiddisplay(){cout<
x;
publicBase{
Inty;
Derived(intd):
Base(d),y(d){}
voiddisplay(){cout<
y;
Baseb
(1);
Derivedd
(2);
Base*p=&d;
b.display();
d.display();
p一>
display();
(13)一个双目运算符作为类的成员函数重载时,重载函数的参数表中有__【14】__个参数。
(14)派生类中的成员函数可以直接访问基类中的公有成员和__【15】__成员。
()const=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 C+ 笔试 试题