[计算机类试卷]国家二级(C++)机试模拟试卷76及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷76及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷76及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 76及答案与解析 一、选择题 1 在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 ( A) O(n) ( B) O(n2) ( C) O(log2n) ( D) O(nlog2n) 2 下列有关运算符重载的叙述中,正确的是 ( )。 ( A)运算符重载是多态性的一种表现 ( B) C+中可以通过运算符重载创造新的运算符 ( C) C+中所有运算符都可以作为非成员函数重载 ( D)重载运算符时可以改变其结合性 3 有如下程序: #include using namespace std; class MyClass public: MyC
2、lass(int x):val(x) void Print() const cout ( C) 1; i-) rqs+=arri一 1*k; *found* _; *found* if(_) returnn; else return0; intmain() intcount=0; cout #include usingnamespacestd; classTaxCalculator public: TaxCalculatorfdoublethe_limits , doubletherates, intthe_ length, doublethethreshold) : lower1imits(
3、newdoublethe_ length), rates(newdoublethe_ lengthj), list_len(the_length), threshold(thethreshold) for(inti=0; i=0) *333* *666* -i; returntax_payable; voidTaxCalculator: showTaxPayable (doubleincome)const cout“月收入为 “setw(6)income”元时应缴纳个人所得税 ” setw(4)getTaxPayable(income)“元 “end1; main cpp #include“T
4、axCalculator h“ intmain() doublelimits=0 0, 500 0, 2000 0, 5000 0, 20000 0, 40000 0, 60000 0, 80000 0, 100000 0; doublerates=0 05, 0 1, 0 15, 0 2, 0 25, 0 3t0 35, 0 4f0 45; TaxCalculatorcalc(1imits, rates, 9, 2000 0); calc showTaxPayable(800 0); calc showTaxPayable(1800 0); calc showTaxPayable(2800
5、0); calc showTaxPayable(3800 0); calc showTaxPayable(4800 0); calc showTaxPayable(5800 0); writeToFile(“); return0; 国家二级( C+)机试模拟试卷 76答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为 n 的有序线性表,在最坏情况下,二分法查找只需要比较次,而顺序查找需要比较 n次。 2 【正确答案】 A 【试题解析】 重载运算符的规则如下: C+不允许用户自己定义新的运算符,只能对已有的 C+运算符进行
6、重载; C+不能重载的运算符只有 5个; 重载不能改变运算符运算对象的个数; 重载不能改变运算符的优先级和结 合性; 重载运算符的函数不能有默认的参数; 重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是 C+的标准类型。故本题答案为 A。 3 【正确答案】 C 【试题解析】 本题考查常对象、常成员函数及构造函数。常对象只能调用常成员函数,普通对象调用普通成员函数。所以本题中 obj1为常对象,执行 obj1.print()后,会执行常构造函数,输出 const: val=10;而 obj2为普通对象,执行obj2.print()时,会执行默认构造函
7、数,输出 val=20。故 答案为 C。 4 【正确答案】 C 【试题解析】 根据总体结构图可以看出该树的深度为 3,比如: XY系统功能 2功能 2.1,就是最深的度数的一个表现。 5 【正确答案】 B 【试题解析】 本题考查重载运算符, C+规定有的运算符(如赋值运算符、下标运算符、函数调用运算符)必须定义为类的成员函数。所以本题选 B。 6 【正确答案】 C 【试题解析】 执行派生类构造函数的顺序是: 1、调用基类构造函数, 2、调用子对象构造函数, 3、再执行派生类构造函数,所以本题中先调用基类 person 构造函数,然后执行 father构造函数,最后执行 mother构造函数。
8、7 【正确答案】 C 【试题解析】 根据软件设计原理提出如下优化准则: 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 软件结构的深度、宽度、扇入、扇出应适当。 模块的大小要适中。 C正确。 8 【正确答案】 A 【试题解析】 参数传递有三种: 传值 (value),传址 (address),和传引用 (reference) 传值时子函数(被调用者)复制父函数(调用者)传递的值,这样子函数无法改变父函数变量的值,函数 f2就属于传值调用,所以不会改变 y 的值。
9、传址时父函数将变量的地址传递给子函数,这样子函数可以能过改写地址里的内容改变父函数中的变量 传引用则是一种看起来像传值调用,而实际上功能同传址一样的传递方式。子函数可以改写父函数的变量值。 f1函数属于传引用调用,所以 y 的值在执行完函数后变为了 36, C选项正确。 9 【正确答案】 C 【试题解析】 执行派生类构造函数的顺序是: 1、 调用基类构造函数, 2、调用子对象构造函数, 3、再执行派生类析构函数, 4、执行基类的析构函数。所以本题中执行析构函数为派生类的析构函数、 Father 的析构函数、 Mother 的析构函数,所以输出 CFM,答案 C正确。 10 【正确答案】 A 【
10、试题解析】 用于查询的 3个操作无法用传统的集合运算表示,引入的运算为投影运算、选择运算、笛卡尔积。常用的扩充运算有交、除、连接及自然连接等。投影,从关系模式中指定若干个属性组成新的关系,题目中从 R中指定 AB 组成新的关系 T,故 A选项正确。选择,从关系中找出满足给定条 件的元组的操作称为选择,即结果 T应该包含 R中全部属性,故 C选项错误。假设, R与 S 经过某种关系得到 T,则并: R S 是将 S中的记录追加到 R后面;交: RS结果是既属于 R又属于 S 的记录组成的集合。上述两种操作中,关系 R与 S 以及 T要求有相同的结构,故 B、 D选项错误。 11 【正确答案】 D
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 76 答案 解析 DOC