欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    [计算机类试卷]国家二级(C++)机试模拟试卷76及答案与解析.doc

    • 资源ID:502528       资源大小:99KB        全文页数:32页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级(C++)机试模拟试卷76及答案与解析.doc

    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

    11、 【试题解析】 C+中,静态成员是类的组成部分,不是任何对象的组成部分,因此静态成员函数没有 this 指针,类的非 const成员函数包括静态成员函数,所以选项 A、 C错误;答案选 B 或 D。 12 【正确答案】 A 【试题解析】 getline(istream&is,string&str)第一个参数 is是输入流对象,这个对象可以是键盘输入流对象,也可以是文件输入流等其他输入流的对象,选项 A错误,答案为 A。 13 【正确答案】 D 【试题解析】 选项 A中, “+“运算符作为一元运算符,应该放在操作数之前,返回操作数本身;作为二元运算符,必须作用于两个操作数;选项 B 中, “+“

    12、运算符是一元运算符,只能作用于一个操作数;选项 C中, 3是常量,不能用作赋值操作符的左值;选项 D正确, “-“操作符作为一元运算符,放在操作数之 前,对其操作数取负;答案为 D。 14 【正确答案】 B 【试题解析】 C+中,只有当一个类没有定义构造函数时,编译器才会自动生成一个默认构造函数,一个类哪怕只定义了一个构造函数,编译器也不会再生成默认构造函数,选项 B 错误,答案为 B。 15 【正确答案】 B 【试题解析】 算法是指对解题方案的准确而完整的描述,算法不等于数学上的计算方法,也不等于程序 ,A选项错误。算法设计需要考虑可行性、确定性、有穷性与足够的情报,不能只考虑计算结果, C

    13、选项错误。算法设计有穷性是指操作步骤有限且能在有限时 间内完成,如果一个算法执行耗费的时间太长,即使最终得出了正确结果,也是没有意义的, D选项错误。算法在实现时需要用具体的程序设计语言描述,所以程序可以作为算法的一种描述方法, B选项正确。 16 【正确答案】 A 【试题解析】 选项 B中, y=1语句后面少了分号 “; “;选项 C中, then不是关键字,不符合 if语法;选项 D中,条件部分 x!=0必须用圆括号括起来;只有选项A正确,整型变量 x在条件中转化为逻辑变量,非 0情况下都转化为 1;答案为A。 17 【正确答案】 C 【试题解析】 定义类模板时, 模板形参表同样使用尖括号

    14、括起来,答案为 C。 18 【正确答案】 D 【试题解析】 C+的标识符由字母、数字和下划线组成,其中必须以字母或下划线开头。 A、 B、 C错误,答案为 D。 19 【正确答案】 B 【试题解析】 基类中的 private成员,只有基类和基类的友元可以访问,派生类的成员函数不能直接访问,所以派生类若要访问基类的 private成员,必须使用基类的接口,答案为 B。 20 【正确答案】 C 【试题解析】 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子节点总是 比度为 2的节点多一个,所以本题中是 5 1 6个。 21 【正确答案】 C 【试题解析】 所谓函数重载是指同一个函数名可

    15、以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为 C。 22 【正确答案】 C 【试题解析】 本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数,对象释放时,先执行派生类的析构函数,再执行基类的析构函数 。本题中定义了一个对象 d1,先执行基类的构造函数输出 0,再执行派生类的构造函数输出 3,然后定义了一个对象d2(5,7),其中需要调用基类的构造函数输出 7,最后输出 5,所以答案为 C。 23 【正确答案】 A 【试

    16、题解析】 本题考查赋值运算和 while循环, i被赋值为为 0,所以 while中的判断条件为假,不执行循环体,所以输出为 0个。 24 【正确答案】 A 【试题解析】 本题考查派生类的构造函数,其一般形式为:派生类构造函数名(总参数表列) :基类构造函数名(参数表列)所以只有选项正确。 25 【正确答案】 C 【试题解析】 栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选 C。 26 【正确答案】 C 【试题解析】 参数传递有三种: 传值 (value),传址 (address),和传引用 (reference) 传值时子函数(被调用者)复制父函数(调用者)传递的值,这样子

    17、函数无法改变父函数变量的值,函数 f2就属于传值调用,所以不会改变 y 的值。 传址时父函数将变量的地址传递给子函数,这样子函数可以能过改写地址里的内容改变父函数中的变量 传引用则是一种看起来像传值 调用,而实际上功能同传址一样的传递方式。子函数可以改写父函数的变量值。 f1函数属于传引用调用,所以 y 的值在执行完函数后变为了 36, C选项正确。 27 【正确答案】 C 【试题解析】 执行派生类构造函数的顺序是: 1、调用基类构造函数, 2、调用子对象构造函数, 3、再执行派生类析构函数, 4、执行基类的析构函数。所以本题中执行析构函数为派生类的析构函数、 Father 的析构函数、 Mo

    18、ther 的析构函数,所以输出 CFM,答案 C正确。 28 【正确答案】 D 【试题解析】 程序在 for循环中嵌套 while循环。 for循环的初始条件为, sum、 i初值为 0;进入 for循环之后,首先将 sum累加 i,此时 sum、 i仍为 0; while循环中,若 sum小于 100,则将 sum累加 i,继续 while循环;当 sum不满足条件时,退出循环。由于 sum、 i初值为 0,所以 while循环中 sum始终为 0,始终满足循环条件 sum100,所以程序进入死循环。答案为 D。 29 【正确答案】 D 【试题解析】 派生类对象的撤销顺序与构造顺序相反:首先

    19、运行派生类析构函数,然后按继承层次依次向上调用各基类析构函数,这样做是为了每 次析构函数销毁的都是完整的对象,选项 D错误,答案为 D。 30 【正确答案】 A 【试题解析】 二维表中的行称为元组,候选键(码)是二维表中能唯一标识元组的最小属性集。若一个二维表有多个候选码,则选定其中一个作为主键(码)供用户使用。公司号唯一标识公司,员工号唯一标识员工,而雇佣需要公司号与员工号同时唯一标识,故表的键(码)为(公司号,员工号),故 A选项正确。 31 【正确答案】 C 【试题解析】 类 YY以 protected 方式继承类 XX,所以类 XX 中的 public成员和protected 成员在

    20、YY中为 protected 成员,所以 YY中的 protected 成员有: x2,x3, y2,答案为 C。 32 【正确答案】 A 【试题解析】 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto语句,所以选择 A)。 33 【正确答案】 A 【试题解析】 本题考查函数实参个数的基础知识,根据实参的概念, (a+b)、 3、max(n-1,b)分别为其中的 3个实参。故答案为 A。 34 【正确答案】 C 【试题解析】 本题考查模板函数的基本概念,根据模板函数的定义, T 是模板形参,所以答案为 C。 35 【正确答案】 B 【试题解析】 本题考查指向数组的指针,

    21、本题中指针变量 p 指向数组 a,直接使用数组下标即可取值,数组下标是从 0开始标号的,所以 a 2能取到 5,而 a 3取不到 5, C选项中使用指针后移方法能够取到 5, D选项中 *p为 1,所以*p+4为 5。 36 【正确答案】 C 【试题解析】 本题考查构造函数和析构函数,以及静态数据成员,题目中要求输出 2,那么定义两个对象时,就执行构造函数,使得静态数据成员 +count,得到2,那么 count初始化就应该 为 0,静态数据成员初始化时,只能在类体外进行初始化,一边形式为:数据类型类型:静态数据成员名 =初值 37 【正确答案】 B 【试题解析】 只有 B)选项 369可以用无符号整数来表示和存储。 A)选项 369有负号,选项 C)0.369是小数都不能用无符号整数类存储。选项 D)是一个整数集合得用数组来存储。 38 【正确答案】 A 【试题解析】 本题考查派生类对基类成员的访问属性,派生类公用继承基类,所以派生类可以直接使用基类的公用成员,所以只有 A选项正确。 39 【正确答案】 C


    注意事项

    本文([计算机类试卷]国家二级(C++)机试模拟试卷76及答案与解析.doc)为本站会员(diecharacter305)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开