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

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

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

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

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

    1、国家二级( C+)机试模拟试卷 155及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 2 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 3 某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是 ( )。 ( A) 10 ( B) 8 ( C) 6 ( D) 4 4 下列排序方法中,最坏情况下比较次数最少的是 ( )。 ( A)冒泡排序 ( B)简单选择排序 (

    2、 C)直接插入排序 ( D)堆排序 5 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 6 下面叙述中错误的是 ( )。 ( A)软件测试的目的是发现错误并改正错误 ( B)对被调试的程序进行 “错误定位 ”是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D) 软件测试应严格执行测试计划,排除测试的随意性 7 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( )。 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦合

    3、性提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块间互相连接的紧密程度 8 数据库应用系统中的核心问题是 ( )。 ( A)数据库设计 ( B)数据库系统设计 ( C)数据库维护 ( D)数据库管理员培训 9 有两个关系 R, S如下: 由关系 R通过运算得到关系S,则所使用的运算为 ( )。 ( A)选择 ( B)投影 ( C)插入 ( D)连接 10 将 ER图转换为关系模式时,实体和联系都可以表示为 ( )。 ( A)属性 ( B)键 ( C)关系 ( D)域 11 字面常量 42、 4 2、 42L的数据类型分别是 (

    4、 )。 ( A) long、 double、 int ( B) long、 float、 int ( C) int、 double、 long ( D) int、 float、 long 12 执行下列语句段后,输出字符 “*”的个数 是 ( )。 for(int i=50; i 1;一一 i) cout *: ( A) 48 ( B) 49 ( C) 50 ( D) 51 13 有如下程序段: int i=0, j=1; nt class B: public A public: B(int i): A(i+10)x=i; void dispb()dispa(); cout x end1; p

    5、rivate: int x; ; int main() B b(2); b dispb(); return 0; 执行这个程序的输出结果是 ( )。 ( A) 10, 2 ( B) 12, 10 ( C) 12, 2 ( D) 2, 2 35 有如下程序: #include iostream using namespace std; class Music public: void setTifle(char*str)strcpy(title, str); protected: char type10; private: char title20; ; class Jazz: public M

    6、usic public: void set(char*str) strcpy(type, ”Jazz”); strepy(tide, sir); ; 下列叙述中正确的是 ( )。 ( A)程序编译正确 ( B)程序编译时语句 出错 ( C)程序编译时语句 出错 ( D)程序 编译时语句 和 都出错 36 有如下程序: #include iostream using namespace std; class Book public: Book(char*t=”)strcpy(title, t); private: char title40; ; class Novel: public Book

    7、public: Novel(char*t=”): Book(t) char * Category()constreturn”文学 ”; ; int main() Book*pb; pb=new Novel(); cout pb一 Category(); delete pb; return 0; 若程序运行时输出结果是 “文学 ”,则横线处缺失的语句是 ( )。 ( A) char*Category(); ( B) char*Category()const; ( C) virtual char*Category()const; ( D) virtual char*Category()const=

    8、0; 37 如下函数模板: template class T T square(T x)return x*x; 其中 T是 ( )。 ( A)函数形参 ( B)函数实参 ( C)模板形参 ( D)模板实参 38 下列函数模板的定义中,合法的是 ( )。 ( A) template typename T T abs(T x)return x 07一 X: X; ( B) template class T T abs(T X)return X 0?一 x: x; ( C) template T class T abs(T X)return X 07一 X: X; ( D) template T a

    9、bs(T x)return x 0?-x: x; 39 在 C+中, ein是一个 ( )。 ( A)类 ( B)对象 ( C)模板 ( D)函数 40 下列控制格式输入 /输出的操作符中,能够设置浮点数精度的是 ( )。 ( A) setprecision ( B) setw ( C) setiill ( D) showpoint 二、基本操作题 41 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 pwj1,此工程中含有 个源程序文件 projl cpp。其中位于每个注释 “ERROR*found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: NUM=

    10、0 Value=1 注意:只修改注释 “ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 proj1 cpp #include using namespace std; class MyClass int i; friend void Increment(MyClas S f); public: const int NUM; ERROR*found* MyClass(int i=0)NUM=0; i=i; int GetValue()constreturn i; ) ; ERROR*found* VOid Increment()f i+; ) int main() MyC

    11、lass obj; ERROR*found* MyClass: Increment(obj); cout #include #include #include”intArray h” using namespace std; intArray: intArray() length=10; array=new intlength; intArray: intArray(char*filename) ifstream myFile(filename); array=new int300; length=0; while(myFilearray1ength+) length一一; myFile cl

    12、ose(); intArray& intArray: operator = (const intArray src) if(array!=NULL)deletearray; length=src length; array=new intlength; *333* *666* return*thiS; intArray:一 intArray() deletearray; void intArray: show() int step=0; for(int i=0; ioperator一一 (ClassName&);后置 +运算符的重载的一般格式为: friendoperator一一 (Class

    13、Name&, int)。所以答案为 D。 20 【正确答案】 C 【试题解析】 函 数参数的 3种传递方式: 将变量名作为形参和实参,即传值方式; 传递变量指针; 引用形参。本题中实参 x为传值方式,所以 x的值不会改变; y为引用形参,所以会改变。故本题答案为 C。 21 【正确答案】 C 【试题解析】 c+不能重载的运算符只有 5个,即 “ ”、 “ *”、 “: ”、“?: ”、 “sizeof”,故本题答案为 c。 22 【正确答案】 C 【试题解析】 重载运算符的规则如下: c+不允许用户自己定义新的运算符,只能对已有的 c+运算符进行重载; C+不能重载的运算符只有 5个; 重 载

    14、不能改变运算符运算对象的个数; 重载不能改变运算符的优先级和结合性; 重载运算符的函数不能有默认的参数; 重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是 C+的标准类型。故本题答案为 C。 23 【正确答案】 A 【试题解析】 类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的。类的成员函数可以在类内定义。 24 【正确答案】 B 【试题解析】 本题考查构造函数,本题中对类中的 a数据成员先是赋值为 0,当定义了 对象 obj时,执行构造函数,将 a的值变为了 1,所以输出 1。 25 【正确答案】 B 【试题解析

    15、】 类的成员访问权限有 3种: public(公用 )、 protected(保护 )、private(私有 )。 26 【正确答案】 D 【试题解析】 在销毁派生类对象时,先调用派生类的析构函数,再调用基类的析构函数。 27 【正确答案】 C 【试题解析】 本题考查 3种继承方式;其中,基类的私有成员始终为基类私有。所以派生类无法访问基类的私有成员。本题答案为 C。 28 【正确答案】 B 【试题解析】 本题考查公用继承对基类成员的访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有,本题中若要给派生类继承下来基类的私有成员赋值,那么只能调用基类的

    16、成员函数来对它赋值,成员变量默认的访问权限为私有,即 a为私有变量。所以本题答案为 B。 29 【正确答案】 D 【试题解析】 本题考查默认构造函数和带参数的构造函数以及析构函数,本题中定义了一个对象 A(3),对象带着参数,所以执行带参数的构造函数,输出 3,然后执行析构函数,输出 destructor。所以本题答案为 D。 30 【正确答案】 B 【试题解析】 本题考查默认构造函数和带参数的构造函数,题目中定义一个对象a以及对象数组 b2,共执行 3次构造函数,对象指针不调用构造函数。所以本题答案为 B。 31 【正确答案】 C 【试题解析】 本题考查默认构造函数,题目中定义一个对象 A、

    17、 B以及对象数组Point3,又定义了对象 c,共执行 6次构造函数, number变为了 6,所以本题答案为 C。 32 【正确答案】 C 【试题解析】 本题考查默认构造函数,当 i=0、 1时, fun(sample(i)为 1;当 i=2时, fun(sample(i)为 2;当 i=3时, fun(Sample(i)为 6;当 i=4时, fun(Sample(i)为 24;当 i=5时, fun(Sample(i)为 120。所以总和为 154。 33 【正确答案】 C 【试题解析】 本题考查公用继承和保护继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持

    18、原有访问属性,其私有成员仍为基类私有。在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。本 题中 Derivedl公用继承 Base,所以 编译正确, Derived2保护继承 Base,所以 编译不正确。 34 【正确答案】 C 【试题解析】 本题考查派生类的构造函数和基类的构造函数。本题中类 B继承类 A,定义了一个类 B的对象并初始化 b(2),此时会执行类 B的构造函数,执行的结果是继承类 A中的私有成员赋值了 12,给类 B自身的数据成员 x赋值了 2,执行 b dispb()后,输出类 A的私有成员 x,输出类 B自身的数据成员,所以答案为 C

    19、。 35 【正确答案】 C 【试题解析】 本题考查公用继承和 保护继承对基类成员的访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。保护成员不能被类外访问,但是可以被派生类的成员函数访问。 Type成为派生类的保护成员,可以被派生类访问, title仍为基类私有,派生类不能直接访问。所以答案为 C。 36 【正确答案】 D 【试题解析】 本题考查纯虚函数和抽象类,纯虚函数是在声明虚函数时被 “初始化 ”为 0的函数,包含纯虚函数的类为抽象类,抽象类是不能被实例化的,但是可以定义指向抽象类数据的指针变量,当派生类成为具体类后 ,就可以用这种指针指向

    20、派生类的对象,然后通过该指针调用虚函数,实现多态性的操作。所以本题答案为 D. 37 【正确答案】 C 【试题解析】 本题考查模板函数的基本概念,根据模板函数的定义, T是模板形参,所以答案为 c。 38 【正确答案】 A 【试题解析】 本题考查模板函数的基本概念,根据模板函数的定义,所以答案为A。 39 【正确答案】 B 【试题解析】 本题考查流对象 cin,属于基础知识, cin是输人流对象,负责从键盘获取数据,然后送到内存。本题答案为 B。 40 【正确答案 】 A 【试题解析】 iomanip中定义的操纵符包括: seffiil(ch)用曲填充空白、setprecision(n)将浮点

    21、精度置为 n、 setw(w)、读写 w个字符的值 showpoint设置小数点。 二、基本操作题 41 【正确答案】 (1)MyClass(int i=0): NUM(0) (2)void Increment(MyClass&f)f j+; (3)Increment(obj); 【试题解析】 (1)主要考查考生对常量数据成员初始化方法的掌握,常量数据成员的初始化只 能通过构造函数的成员初始化列表进行,并且要使用关键字 const修饰。该题的前一条语句 const int NUM;,说明 NUM是常量数据成员。 (2)主要考查考生对友元函数的掌握,友元函数的定义与声明要一致,先看该友元函数的声

    22、明部分: friend void Increment(MyClass&f);,返回类型为 void,函数参数为 MyClass&f;再比较出错的语句: void Increment()f -i+; ,错误在于该函数没有参数,应把 MyClass&f填在括号内。 (3)主要考查友 元函数的调用,友元函数并不属于类,因此调用友元函数时不需要添加类名及作用域,只需要像调用普通函数一样即可。 三、简单应用题 42 【正确答案】 (1)item(val) (2)deletep (3)temp=top (4)temp一 next=top 【试题解析】 (1)主要考查构造函数,对私有成员进行初始化,即 it

    23、em(val)。 (2)主要考查使用 delete语句释放指针,一般格式为: delete+指针。 (3)指向栈顶节点的是 top指针,要使 temp指向栈顶节点,故 使用语句temp=top;。 (4)指向栈顶节点的是 top指针,要使新节点的 next指针指向栈顶数据,故使用语句 temp一 next=top;。 四、综合应用题 43 【正确答案】 for(int i=0; ilength; i+) 遍历对象 src中的数组 array,然后依次把值放进数组 array中 arrayi =src arrayi; 【试题解析】 主要考查考生对运算符重载的掌握,该函数要重载运算符 “=”,该运算符的意思是赋值。先看该函数的其他语句: if(array!=NULL)deletearray; length=src 1ength; array=new int1ength; 第一条语句是把原来动态数组释放,第二条语句是把形参 SYC的成员 length赋值给变量 length,第三条语句是给指针 array分配内存。接下来要把动态数组中的值逐个赋给 array数组,在这里使用 for循环语句,循环变量 i的范围是 0一length,并进行赋值操作。


    注意事项

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




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

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

    收起
    展开