[计算机类试卷]国家二级(C++)机试模拟试卷111及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷111及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷111及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 111及答案与解析 一、选择题 1 下列运算符不能重载为友元函数的是 ( )。 ( A) =()()- ( B) +-+- ( C) x1=x1; this-y1=y1; this-x2=x2; this-y2=y2; doublegetX1()constreturnx1; doublegetY1()constreturny1; doublegetX2()constreturnx2; doublegetY2()constreturny2; voidshow()const cout “Endpoint1=(“ usingnamespacestd; classPer
2、son public: *found* _name=NULL; Person(char*s) name=newcharstrlen(s)+1; strcpy(name, s); Person() if(name!=NULL)deletename; *found* _Disp()声明虚函数 coutDisp(); Studenty(“Wang“, 3 88); P=&y; P-Disp(); Professorz; z setName(“Li“); z setPubls(8); p= z; P-Disp(); return0; 四、综合应用题 43 请使用 VC6或使用【答题】菜单打开考生文件夹
3、 proj3下的工程 proj3,其中包含了类 Integers和主函数 main的定义。一个 Integers对象就是一个整数的集合,其中包含 0个或多个可重复的整数。成员函数 add的作用是将一个元素添加到集合中,成员函数 remove的作用是从集合中删除指定的元素 (如果集合中存在该元素 ),成员函数 filter的作用是去除集合中的所有负整数。请编写这个 filter函数。此程序的正确输出结果应为: 528245327527663l 52824532752766316 5282453275276631619 5282453752766316一 19 528245375276631619
4、4 52825327663164 要求: 补充编制的内容写在 “ *333*”与 “*666*”之间,不得修改程序的其他部分。 注意:相关文件包括: main cpp、 Integers h。 程序最后将调用 writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件 out dat中。输出函数 writeToFile已经编译为 obj文件。 Integevs h #fndefINTEGERS #defineINTEGERS #include usingnamespacestd; constintMAXELEMENTS=100; 集合最多可拥有的元素个数 classInt
5、egers intelemMAXELEMENTS; 用于存放集合元素的数组 intcounter; 用于记录集合中元素个数的计数器 public: Integers(): counter(0) 创建一个空集合 Integers(intdata, intsize); 利用数组提供的数据创建一个整数集合 voidadd(intelement); 添加一个元素到集合中 voidremove(intelement); 删除集合中指定的元素 intgetCount()constfreturncount。 er; 返回集合中元素的个数 intgetElement(inti)constreturn elem
6、i; ) 返回集合中指定的元素 voidfilter(); 删除集合中的负整数 voidshow()const; 显示集合中的全部元素 ; voidwriteToFile(constchar*path); #endif main cpp #include“Integers h“ #include Integers: Integers(intdata, int Size): counter(0) for(inti=0; i=0; j-) if(elemj=element)break; for(inti=j; i“不能重载为类的友元函数。所以本题答案为 A。 2 【正确答案】 C 【试题解析】 本
7、题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数;对象释放时,先执行派生类的析构函数,再执行基类的析构函数。本题中定义了一个派生类对象d1,首先执行基类的构造函数,输出 A;然后执行派生类的构造函数,输出 B。所以答案为 C。 3 【正确答案】 C 【试题解析】 N S图提出了用方框图来代替传统的程序流程图,所以 A)不对。PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以 B)不对。 E R图是数据库中的用于表示E R模型的图示工具,所以 D)不对。根据图中所示表示方法是进行
8、软件详细设计时使用的程序流程图。 4 【正确答案】 A 【试题解析】 本题考查运算符重载,其中重载运算符的函数不能有默认的参数,所以本题答案为 A。 5 【正确答案】 D 【试题解析】 本 题考查派生类的构造函数,派生类的构造函数初始化时按照参数列表初始化顺序,所以先初始化 Person(n),输出 P,然后依次输出 D和 S,答案为 D选项。 6 【正确答案】 D 【试题解析】 关系 T中的元组是关系 R中有而关系 S 中没有的元组的集合,即从关系 R中除去与关系 S 中相同元组后得到的关系 T。所以做的是差运算。 7 【正确答案】 B 【试题解析】 本题考查对象的定义,定义一个类对象就需要
9、占用空间,其中c1、 c3 都占用了空间, c2、 c4 为指针只占一个指针空间,所以 B选项正确。 8 【正确答案 】 C 【试题解析】 本题考查模板相关知识,一个类中存在纯虚函数,这个类不一定就是类模板。函数模板需要形式参数表,类模板中可以包含构造函数。所以 C选项正确。 9 【正确答案】 D 【试题解析】 本题考查 C+关键字,属于基础知识,只有 D选项不是关键字。 10 【正确答案】 A 【试题解析】 执行派生类析构函数的顺序是:先执行派生类析构函数,再执行基类的析构函数,所以 A选项正确。 11 【正确答案】 D 【试题解析】 文件流类的标识符由:输入文件流类 ifstream、输出
10、文 件流类ofstream和输入输出文件流类 fstream; operator是重载运算符的标识符,答案为D。 12 【正确答案】 D 【试题解析】 函数可以自己调用自己,称为递归调用;函数返回类型为 void时,没有返回值;函数的参数列表中可以没有参数;函数在被调用前必须先进行函数声明或定义。 A、 B、 C错误, D正确;答案为 D。 13 【正确答案】 A 【试题解析】 派生类的对象结束生命周期时,系统先调用派生类的析构函数,然后按继承层次依次向上调用各个基类的析构函数,这是为了每次调用析构函数,都 有完整的类对象与析构函数对应,当然如果某个类没有定义析构函数,编译器会自动合成对应的析
11、构函数并调用之,答案为 A。 14 【正确答案】 A 【试题解析】 白盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试,故 A选项正确。 15 【正确答案】 C 【试题解析】 重载运算符的规则如下: C+不允许用户自己定义新的运算符,只能对已有的 C+运算符进行重载; C+不能重载的运算符只有 5个; 重载不能改变运算符运 算对象的个数; 重载不能改变运算符的优先级和结合性; 重载运算符的函数不能有默认的参数; 重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是 C+
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 111 答案 解析 DOC
