计算机等级考试二级C++笔试试题及答案2.docx
- 文档编号:30524738
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:15
- 大小:75.81KB
计算机等级考试二级C++笔试试题及答案2.docx
《计算机等级考试二级C++笔试试题及答案2.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级C++笔试试题及答案2.docx(15页珍藏版)》请在冰豆网上搜索。
计算机等级考试二级C++笔试试题及答案2
2018年全国计算机等级考试二级笔试试卷C++语言程序设计及答案
一、选择题(每小题2分,共70分)
下列个体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以上三种说法都不对
(8)一棵二叉树中共有70个叶子结点于80个度为1的结点,则该二叉树重的总结点数为
A219B221C229D221
(9)下列叙述重正确的是
A数据库系统是一个独立的系统,它需要操作系统的支持
B数据库技术的根本目标是要解决数据的共享问题
C数据库管理系统是数据库系统
D以上说法都不正确
(10)下列叙述中正确的是
A为了建立一个关系,首先是要构造数据的逻辑关系
B表示关系的二维表中各各组的每一个分量还可以分成若干数据项
C一个关系的属性名称为关系模式
D一个关系可以包括多个二维表
(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是
AautoBextemCregisterDstatic
(12)对于一个类定义,下列叙述中错误的是
A如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
B如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数
C如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数
D如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
(13)如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是
Apublic和publicBpublic和protected
Cprotected和publicDprotected和protected
(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是
Aintoperator-(FunNumber)
BFunNumberoperator-()
CFunNumberoperator-(int)
Dintoperator–(FunNumber)
(15)C++中的模板包括
A对象模板和函数模板B对象模板和类模板
C函数模板和类模板D变量模板和对象模板
(16)如果调用C++流进行输入输出,下面的叙述中正确的是
A只能借助于流对象进行输入输出
B只能进行格式化输入输出
C只能借助于cin和cout进行输入输出
D只能使用运算符》和《进行输入输出
(17)下列富豪中不属于C++关键字的是
AfriendBnamespaceCcontinueDbyte
(18)下列各组的量申明中,含义相同的一组是
Aunsignedlongint和longBsignedshortint和short
Bunsignedshort和shortDshortint和int
(19)必须用一对打括号括起来的程序段是
Aswitch语句中的case标号语句
Bif语句的分支
C循环语句的循环体
D函数的函数体
(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是
Aint*p;p=&kBint*p;p=k
Cint*p;*p=&kDint*p;*p=k
(21)关于函数重载,下列叙述中错误的是
A重载函数的函数名必须相同
B重载函数必须在函数个数或类型上有所不同
C重载函数的返回值类型必须相同
D重载函数的函数体可以有所不同
(22)有如下头文件
Intf1();
Staticintf2();
ClassMA{
Public
Intf3();
Staticintf4();
};
在所描述的函数中,具有隐含的this指针的是
Af1Bf2Cf3Df4
(23)派生类的成员函数不能访问基类的
A共有成员和保护成员B共有成员
C私有成员D保护成员
(24)下列关于运算符重载的描述中,正确的是
A运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符
B一元运算符只能作为成员函数重载
C二元运算符重载为非成员函数时,参数表中有一个参数
DC++中可以重载所有的运算符
(25)下列关于类模板的模板参数的叙述中,错误的是
A模板参数可以作为数据成员的类型
B模板参数可以作为成员函数的返回类型
C模板参数可以作为成员函数的参数类型
D模板函数不能作为成员函数的局部变量的类型
(26)已知一程序运行后执行的第一个输出操作是
Cout< 则此操作的输出结构是 A1234B******1234 C**********1234D1234****** (27)有如下程序 #include Usingnamespacestd; Classmyclass{ Public: MyClass(){++count;} ~MyClass(){--count;} Staticintgetcount(){returncount;} Private Staticintcount; }; IntMyClass: : count=0; Intmain(){ Myclassobj; Cout< MyClass*ptr=newMyClass; Cout< : getcount(); Deleteptr; Cout< : gercount(); Return(); } 程序的输出结果是 A121B232C221D122 程序的输出结果是 Aval=10const: val=20 Bconst: val=10const: val=20 Cconst: val=10val=20 Dval=10val=20 (29)有如下程序 #include Usingnamespacestd; Classpart{ Public; Part(intx=(\): val(x){cout,,val;} -part(){cout< Private; Intval; }; Classwhole{ Public; Whole(intx,inty,intz=0): p2(x),p1(y),val(z){cout< Whole(){count,,val;} Private; Partp1,p2; Intval; }; Intmaint{ Wholeobj(1,2,3); Resturn(); } 程序输出的结果是 A123321B213312C213 (30)有如下程序: #include Usingnamespacestd; Classbase{ Public: Base(intx=0){cout< }; Classderived: publicbase{ Public: Derivedrin(x=y){cout< Priblic: Baseval; }; Intmain(){ Derivedd(! ); Return(); } 程序的输出结果是 A0B1C01D001 (31)若有如下类定义: ClasssB{ Voidfun(){} Protected; Doublevarl; Public: Voidfun2(){} }; ClassD: publicB{ Protected; Voidfun3(){} }; 已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是 Aobj.fun1();Bobj.var1;Cobj.fun2();Dobj.fun3(); (32)有如下程序: #include Usingnamespacesid; Classbase{ Public; Voidoutput(){cout<<1;} Virtualvoidprint(){cout< }; Classderived: publicbase{ Public: Voidoutput(){cout<<2;} Voidprint(){cout<<’D’;} }; Intmain() Base*passnewderived; Ptr->output(); Ptr->print(); Deleteptr; Return(); } 程序的输出结果是 A1BB1DC2BD2D 下列是重载乘法运算的函数原型声明,其中错误的是 Amyclassoperator*(double,double); Bmyclassoperator*(double,myclass); Cmyclassoperator*(myclass,double); Dmyclassoperator*(myclass,myclass); (35)有如下程序: #include Usingnamespacestd: ClassB{ Public: Virtualvoidshow(){cout<<”b”;} }; ClassD: publicB{ Public: Voidshow(){cout< }; Voidfun1(B*ptr){ptr->show();} Voidfun2(B&ref){ref.show();} Voidfun3(Bb){b.show();} Intmain(){ Bb,*p=newD; Dd; Fun1(p); Fun2(b); Fun3(d); Return(); } 程序的输出结果是 ADBDBBBDCDBBDDBD 二、填空题(每空2分,共三十分) (1).请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。 (2).软件需求规格说明书应具有完整性、无歧视性、正确性、可验证性、可修改性等特征,最重要的是_______. (3).在两种基本测试方法中_______测试的原则之一是保证所测模板中每一个独立路径至少要执行一次。 (4).线性表的存储结构主要分为顺序存储结构和链式储存结构。 队列中是一种特殊的线性表。 循环队列是队列的_____存储结构。 (5).对下列二叉树进行中序遍历的结果为______. (6).在E-R图中,矩形属于______ 在有定义语句: inta=3,b=2,c=1;则表达式a a: b的值是_____ (7).执行下列语句后,变量sum的值是____. Intsum=0; For(intj=I;j<=I;j++) For(intj=I;j<=I;j++) Sum++; (8).已知有函数f的定义如下: Intf(){ Staticint-6; s-2; returns } 则在某程序中第二次执行函数用语句f();时,函数f的返回值是_____. (9)已知如下程序得输出结果时23,请将划线处缺失得部分补充完整。 #include Usingnamespacestd; Classmyclass{ Public: Voidprint()cout{cout<<23;} } Intmain(){ Myclass*p=newmyclass(); ______print(); Return(); Classsample{ Public: Sample(){} _________ } (14)请将如下程序补充完整,使得输出结果为bbaa #include Usingnamespacestd; ClassA{ Public: _____{cout<<”aa”;} }; ClassB: publicA{ Public: ~B(){cout<<”bb”;} }; Intmain(){ B*p=newB; Deletep; Return(); } (15)请将下列栈类stack补充完整 Classstack{ Private; Intplist[100];//int数组,用于存放栈的元素 Inttop;//栈顶元素(数组下标) Public: Stack(): top(0){} Voidpush(sonsint&item);//新元素item压入栈 Intpop(void);//将栈顶元素弹出栈 }; Voidstack: : pbsh(constint&item){ If(top==99)//如果栈满,程序结束 Exit (1); Top++;//栈顶指针增1 ___【15】____; } Intstack: : pop(){ If(top<0)//如果栈空,程序结束 Exit (1); Returnplish[top--]; } 参考答案 1-10: DBCAACCABB 11-20: ABDDCADBDA 21-30: CCCADBACDC 31-35: CDAAD 1.无歧性 2.逻辑覆盖 3.链式 4.ACBDFHGPE 5.实体 6.2 7.6 8.4 9.(*p) 10.ABBA 11.voidBase: : fun() 12.virtualdisplay()==0; 14.-A() 15.pList[top]=item
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机等级考试 二级 C+ 笔试 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)