首页 - 网校 - 万题库 - 美好明天 - 直播 - 导航
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C加加 > 模拟试题 > 正文

2018年12月计算机二级C++考试冲刺试题及答案(2)

来源:考试吧 2018-12-3 16:16:40 要考试,上考试吧! 万题库
“2018年12月计算机二级C++考试冲刺试题及答案(2)”供考生参考。更多计算机等级考试模拟试题等信息请访问考试吧计算机等级考试网。
第 1 页:冲刺试题
第 3 页:参考答案

  一、选择题

  1.C。【解析】计算机算法是指解题方案的准确而完整的描述,它的基本特征分别是:可行性、确定性、有穷性和拥有足够的情报。

  2.C。【解析】软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。软件测试有三个重要特征:测试的挑剔性、完全测试的不可能性及测试的经济性。没有测试的可靠性这一说法。

  3.C。【解析】数据处理的最小单位是数据项。

  4.B。【解析】根据二分法查找法需要两次:(1)首先将90与表中间的元素50进行比较,由于90大于50,所以在线性表的后半部分查找。(2)第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。

  5.C。【解析】软件测试是为了尽可能多地发现程序中的错误,尤其是发现至今尚未发现的错误。

  6.A。【解析】作为一个算法,一般应该具有下列四个特征:①可行性,即考虑到实际的条件能够达到一个满意的结果;②确定性,算法中的每一个步骤都必须是有明确定义的;③有穷性,一个算法必须在有限的时间内完成;④拥有足够的情报。

  7.D。【解析】可复用属于面向对象程序设计方法,其他选项属于结构化程序设计方法。

  8.C。【解析】软件工程的基本目标是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移值;需要较低的维护费用;能按时完成开发,及时交付使用。

  9.C。【解析】以概念模式为框深所组成的数据称为概念数据库;以外模式为框架所组成的数据库称为用户数据库;以内模式为框架所组成的数据库称为物理数据库。这三种数据库只有物理数据库是真实存在于计算机外存中。

  10.C。【解析】数据库系统(DBS)由数据库(DBS)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台五个部分组成,可见DB和DBMS都是DBS的组成部分。

  11.A。【解析】本题考查的是标识符。标识符由数字、字母以及下画线构成。其第一个字符必须是字母或下画线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。

  12.A。【解析】类模板就是把畿中的数据分离出来,作为一个类的描述。C++编译器根据类模板和特定的数据类型来产生一个类,类模板就是一个抽象的类。

  13.D。【解析】本题考查类继承。派生类继承了基类的全部数据成员和私有成员,只是基类的私有成员在派生类中是隐藏的,只能在基类内部访问。

  14.D。【解析】字符在进行数学运算时取其ASCⅡ码值,其中’b’的ASCⅡ码值为98,‘d’的ASCⅡ码值为100,字符’2’的ASCⅡ码值为50。可知D选项中表达式c2-0的值为50。

  15.A。【解析】C++的引用是一种赋值、发送和返回复杂数据结构的方法,建立引用的格式为:类型-引用名=已定义的变量名。所以只有A选项是符合要求的。

  16.D。【解析】数组元素的下标是从0到<数组长度>-1,所以数组data的首元素是data[0],尾元素是data[9]。其他选项的描述都是正确的。

  17.D。【解析】std是对象数组。里面有30个对象,每个对象都有自己的私有数据成员,由于成员函数是公有的,在内存中存在一份即可,各个对象都可以使用。

  18.D。【解析】本题考查函数的调用方式。函数的形参和实参具有以下特点:①形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放分配的内存单元,因此,形参只有在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量;②实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参,因此应通过预先用赋值、输入等办法使实参获得确定值;③实参和形参在数量上、类型上、顺序上应严格一致,否则会发生“类型不匹配”的错误;④函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

  19.B。【解析】非成员函数的重载运算符函数的格式为operator+(),是运算符+重载函数。

  20.D。【解析】本题考查C++语言中操作符重载的概念。运算符重载的关键字是operator。运算符重载的规则是重载时不能改变运算符的操作数个数,不能改变运算符的优先级,不能改变运算符的结合性,不能改变对预定义类型数据的操作方式。

  21.B。【解析】本题考查关于C++语言继承问题中派生类对基类的访问。C++语言中通常有三种继承修饰符,即public、protected、private,限制依次严格,另外对类中的数据和函数也由这三种修饰符进行限制,有三种成员是不能继承的:公有继承基类的私有成员,私有继承基类的私有成员,保护继承基类的私有成员。

  22.C。【解析】程序中B为A的派生类,由主函数入手,主函数中定义了类A的指针P指向类B。根据基类中的“virtualvoidfuncl()”知道A中的funcl为虚函数,执行“P->fund();”语句,通过指针变量调用此虚函数,此时调用的就是指针变量指向的同名函数,即派生类的fund函数,输出B1。而fun2不是虚函数,所以执行“p->func2();”输出为A2。

  23.A。【解析】C++流的输入运算符“>>”和输出运算符“<<”只能作为非成员函数重载。重载输入流运算符“>>”须使用的原型是istream&operator>>(istream&,<类名>&);。

  24.A。【解析】本题首先执行语句do{k+=5;cout<<’$’;}while(k<19);,循环执行4次;全了4个“$”,k的值变为20;然后执行语句while(k-->0)cout<<’*’;,所以会输出20个“*”。

  25.D。【解析】在C++中规定如果一个类被声明为类模板,那么其中的所有成员函数就都成为了模板函数。

  26.D。【解析】本题中,派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和类B的成员初始化列表。

  27.D。【解析】本题考查循环的嵌套、for和switch语句的应用、C++中各种条件判断,循环语句的用法。只要注意在C++语言中,系统在字符指针的最后位置会增加一个字符串结束符’\0’,执行8次for循环,再根据switch语句中的条件易知答案。

  28.D。【解析】本题考查文件对象的创建方法。可以直接定义文件对象,也可以用new来动态生成。很明显,选项D中使用new的方式是错误的。

  29.D。【解析】本题考查关于C++语言类的定义方法。在C++语言中类定义中的构造函数是私有的,但是却调用了其中的公有变量,在实例化时会斟现错误。

  30.A。【解析】TestClass为基类,TestClass1是TestClass的派生类。基类中的funl和fun2被定义为虚函数,C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数,所以派生类中的funl和fun2也是虚函数。本题从main主函数入手,首先定义了TestClass类型的

  对象obil和指针P,然后又定义了TestClassl的对象obj2。指针指向对象obj2,然后调用其成员函数fun1(),即输出“funlTestClassl”。

  31.A。【解析】本题中FestClass为基类,TestClass1为派生类。在主函数中定义TestClassl对象obj(’x’),“TestClassl(charn):TestClass(n+1),c(n){}”,所以输出x,然后调用基类构造函数,’x’+1=’y’,所以输出y,即答案为xy。

  32.A。【解析】本题考查类的继承和派生。派生类执行构造函数的一般次序为:首先调用基类构造函数;然后调用成员对象的构造函数;最后是派生类构造函数中的内容。题目中定义派生类对象d时,先调用基类Base的构造函数,输出BBBf,然后调用派生类Derived的构造函数,输出DD。

  33.A。【解析】本题考查C++语言的数据类型。第一个枚举常量的值为0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时。在前一枚举常量值的基础上以此增1。

  34.D。【解析】本题考查派生类的定义和使用。当对象被删除时,派生类的析构函数就被执行。由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。所以当main函数结束时,派生类DERIVED的对象X将被删除,那么派生类DERIVED的析构函数先被调用,输出DERIVED,然后调用基类的析构函数输出BASE。

  35.A。【解析】本题考查静态数据成员和静态成员函数。静态数据成员是类中所有对象共事的成员,而不是某个对象的成员。题目中的静态数据成员n的运算具有叠加性,执行“n+=2”和“n-=3”后n的值为0。

  36.C。【解析】纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型作为继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。

  37.A。【解析】题中fun函数进行了递归调用,第1次调用对:fun(3)n=3,S=3-fun(2),第二次调用时:fun(2)n=2,s=2,返回第一次调用后,s=3-2=1。

  38.B。【解析】在C++程序中,typename是可以替换为class的,但class不能都替换为typename。

  39.C。【解析】Eonc1定义c1对象,调用Con的无参数构造函数,输出1,ID值变为A,执行show(c1)时会调用复制构造函数,将c1对象的值复制给show函数的形参,此时输出3,然后在show()中输出c1的ID值A,Conc2(’B’)定义c2对象,调用Con(charID)构造函数,输出2,c2的ID值为B,show(c2)执行时先调用复制构造函数输出3,然后输出B。因此程序输出结果为“13A238”。

  40.C。【解析】基类中说明的虚函数,在派生类中自然就是虚函数,所以类B中funcl()是虚函数;而类A中的func2()没有被关键字virtual修饰;所以不是虚函数。

  二、程序改错题

  (1)“n=-n;”。

  (2)“p=!p;”。

  (3)“q=-q;”。

  【解析】由题目要求的运行结果可知,第1个标识和第3处的语句是对变量n和q取反,求一个正数的相反数可以通过算数运算符“-”得到,第1处和第3处的语句应分别改为“n=-n;”和“q=-q;”,即只需要通过负号运算就可以实现。从题目要求输出的结果来分析,第2处的语句是对逻辑变量P取反,对一个逻辑变量求反,应该用取反运算符“!”,第2处的语句应改为“p=!P;”。

  三、简单应用题

  return(n==1)?1:n+sum(n-1);

  【解析】本题主要考查三目运算符?:的使用和递归函数的编制。程序功能是计算前n个自然数的和,n为参数。程序的运算过程如下,不是一般性,假设n为3,首先执行sum(3),因为3不等于1,所以return语句返回的值为3+sum(3-1),然后执行sum(3-1)即sum(2),2不等于1,所以return语句返回的值为2+sum(2-1),然后执行sum(2-1)即sum(1),因为1等于1,所以return语句返回的值为1,即问号后的值,所以最终结果为3+2+1=6,而题中n为100,所以结果为5050。

  四、综合应用题

  (1)应添加“doubleleftPoint,topPoint,rightPoint,hot-tomPoint;”。

  (2)应添加“CReet(doubleleftPoint=0,doubletopPoint=0,doublerightPoint=0,doublebottomPoint=O);”。

  (3)应添加“~CReet(){}”。

  (4)应添加“CReetrect2(rect1);”。

  【解析】本题在第1处完成私有数据成员leftPoint、top-Point、rightPoint、bottomPoint的定义,均为double型的变量,故第1处应添加“doubleleftPoint,topPoint,rightPoint,bottomPoint;”。构造函数完成成员变量的初始化,类CRect的默认构造函数初始化double型私有数据成员leftPoint、topPoint、rightPoint、bottomPoint为0。故第2处应添加“CRect(doubleleftPoint=0,doubletopPoint=0,doublerightPoint=0,doublebottomPoint=0);”。析构函数名和类名一致,并在前面加“~”以和构造函数区别,该析构幽数体为空,故第3处应添加“~CRect(){}”,虽然该函数体为空,但“{}”必须保留。主函数中类CRect的对象rect2是通过复制构造函数将rect1的值赋值给它实现初始化的.而reet1的初始化直接调用自定义构造函数,第4处应添加“CReetrect2(rect1);”。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

上一页  1 2 3 

  相关推荐:

  2018年12月全国计算机等级考试必做试题汇总

  2018年全国计算机等级考试必做试题汇总(各科目)

  各地2018年12月全国计算机等考准考证打印时间汇总

  2018年全国计算机等级考试复习知识点汇总(各科目)

  2018全国计算机等级考试备考经验及应试技巧汇总

0
收藏该文章
0
收藏该文章
文章搜索
万题库小程序
万题库小程序
·章节视频 ·章节练习
·免费真题 ·模考试题
微信扫码,立即获取!
扫码免费使用
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧