首页 - 网校 - 万题库 - 直播 - 雄鹰网校 - 团购 - 书城 - 模考 - 学习通 - 导航 -
首页网校万题库直播雄鹰网校团购书城模考论坛实用文档作文大全宝宝起名
2015中考
法律硕士
2015高考
MBA考试
2015考研
MPA考试
在职研
中科院
考研培训
专升本
自学考试 成人高考
四 六 级
GRE考试
攻硕英语
零起点日语
职称英语
口译笔译
申硕英语
零起点韩语
商务英语
日语等级
GMAT考试
公共英语
职称日语
新概念英语
专四专八
博思考试
零起点英语
托福考试
托业考试
零起点法语
雅思考试
成人英语三级
零起点德语
等级考试
华为认证
水平考试
Java认证
职称计算机 微软认证 思科认证 Oracle认证 Linux认证
公 务 员
导游考试
物 流 师
出版资格
单 证 员
报 关 员
外 销 员
价格鉴证
网络编辑
驾 驶 员
报检员
法律顾问
管理咨询
企业培训
社会工作者
银行从业
教师资格
营养师
保险从业
普 通 话
证券从业
跟 单 员
秘书资格
电子商务
期货考试
国际商务
心理咨询
营 销 师
司法考试
国际货运代理人
人力资源管理师
广告师职业水平
卫生资格 执业医师 执业药师 执业护士
会计从业资格
基金从业资格
统计从业资格
经济师
精算师
统计师
会计职称
法律顾问
ACCA考试
初级会计职称
资产评估师
高级经济师
注册会计师
高级会计师
美国注册会计师
审计师考试
国际内审师
注册税务师
理财规划师
一级建造师
安全工程师
设备监理师
公路监理师
公路造价师
二级建造师
招标师考试
物业管理师
电气工程师
建筑师考试
造价工程师
注册测绘师
质量工程师
岩土工程师
注册给排水
造价员考试
注册计量师
环保工程师
化工工程师
暖通工程师
咨询工程师
结构工程师
城市规划师
材料员考试
消防工程师
监理工程师
房地产估价
土地估价师
安全评价师
房地产经纪人
投资项目管理师
环境影响评价师
土地登记代理人
宝宝起名
缤纷校园
实用文档
入党申请
英语学习
思想汇报
作文大全
工作总结
求职招聘 论文下载 直播课堂
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C加加 > 上机题库 > 正文

2016年9月计算机二级C++上机试题及答案(1)

来源:考试吧 2016-08-20 13:31:00 考试吧:中国教育培训第一门户 模拟考场
考试吧整理“2016年9月计算机二级C++上机试题及答案(1)”供考生参考。更多计算机等级考试模拟试题等信息请访问考试吧计算机等级考试网。
第 1 页:选择题
第 3 页:基本操作题
第 4 页:简单应用题
第 5 页:综合应用题

  点击查看:2016年9月计算机二级C++上机试题及答案汇总

  一、选择题(每小题1分,共40分)

  1下列有关内联函数的叙述中,正确的是( )。

  A.内联函数在调用时发生控制转移

  B.内联函数必须通过关键字inline来定义

  C.内联函数是通过编译器来实现的

  D.内联函数函数体的最后一条语句必须是return语句

  参考答案:C

  参考解析:一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,所以在调用时不发生控制转移。在类内部实现的函数都是内联函数,可以不用inline定义;只有函数外部定义的内联函数才必须加关键字inline。编译系统并非对内联函数必须使用内联,而且根据具体情况决定。内联函数不是必须要有返回值的。

  2语句int*P=&k;定义了指针P,与这个语句等效的语句序列是( )。

  A.int* p;P=&k;B.int * P;P=k;C.int * p;* P=&k;D.int * p;* P=k;

  参考答案:A

  参考解析:本题考查指针和地址,题目中定义了一个指向变量k的一个指针p,那么与题目中等效的表达式A选项,即先定义一个指向整型的指针,然后指向k的地址。

  3有如下程序:

  #include

  using namespace std;

  class A

  {

  public:

  A(){cout<<”A”;}

  -A(){cout<<”-A”;}

  };

  class B:public A

  {

  A*P;

  public:

  B(){cout<<”B”;P=new A();}

  -B(){cout<<”~B”;delete p;}

  };

  int main()

  {

  B obj;

  return 0;

  }

  执行这个程序的输出结果是( )。

  A.BAA~A~B~AB.ABA~B~A~AC.BAA~B~A~AD.ABA~A~B~A

  参考答案:B

  参考解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数。对象释放时,先执行派生类的析构函数,再执行基类的析构函数。所以本题答案为B。

  4有如下类定义:

  class AA

  {

  im a:

  public:

  int getRef()const{return&a;}//①

  int getValue()const{return a;}//②

  void set(int n)const{a=n;}//③

  friend void show(AA aA.const{cout<

  };

  其中四个函数的定义中正确的是(  )。

  A.①B.②C.③D.④

  参考答案:B

  参考解析:本题考查常成员函数,常成员函数只能引用本类中的数据成员,而不能修改它。所以本题答案为B。

  5若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

  A.Data+(DatA.;B.Data operator+(DatA.;C.Data+operator(DatA.;D.operator+(Data,DatA.;

  参考答案:B

  参考解析:根据重载加法运算符的格式,只有B选项正确。

  6有如下数组声明:int num[10];,下标值引用错误的是( )。

  A.num[10]B.num[5]C.num[3]D.hum[o]

  参考答案:A

  参考解析:数组定义中的数字指的是数组的大小,而下标是从0开始的,所以本题中数组的最后一个元素是num[9]。

  7将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的是(  )。

  A.DeCr&operator--(int);B.DeCr operator--(DeCr&,int);C.friend DeCr&operator--(DeCr&);D.friend DeCr operator--(DeCr&,int);

  参考答案:C

  参考解析:把“--”运算符重载为非成员(友元)函数格式:friend<返回类型>operator--()是前缀的格式;friend<返回类型>operator--(int)是后缀的格式。当然也可以有参数如题中C选项所示。

  8如果派生类以proteCted方式继承基类,则原基类的proteCted成员和publiC成员在派生类中的访问属性分别是( )。

  A.publiC和publiCB.publiC和proteCtedC.proteCted和publiCD.proteCted和proteCted

  参考答案:D

  参考解析:本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,所以本题答案为D。

  9在函数中,可以用aut0、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是(  )。

  A.autoB.externC.registerD.static

  参考答案:A

  参考解析:变量的存储方法分为静态存储和动态存储两大类,包含4种:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extem)。变量如果没有说明存储类型,那么默认就是aut0。

  10下列程序的输出结果是( )。

  #include

  int rain(iltl a,int B)

  {

  if(a

  else retum b;

  retum 0;

  }

  void main()

  {

  eout<

  }

  A.0B.1C.2D.3

  参考答案:B

  参考解析:本题考查的是函数的调用,第一次调用min(2,3),因为2<3,所以返回值为2,第二次调用min(1,2),因为l<2,所以返回1。

  11在黑盒测试方法中,设计测试用例的主要根据是( )。

  A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图

  参考答案:B

  参考解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B。

  12在面向对象方法中,不属于“对象”基本特点的是(  )。

  A.一致性B.分类性C.多态性D.标识唯一性

  参考答案:A

  参考解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A。

  13有以下程序:

  #include

  void fun(int a,int b,int C.

  { a=456,b=567,c=678;}

  void main()

  {

  int X=10,Y=20,Z=30;

  fun(X,Y,z);

  aout<

  }

  输出结果是( )。

  A.30,20,10B.10,20,30C.456,567,678D.678,567,456

  参考答案:B

  参考解析:本题考查函数中变量的作用范围,在主函数中给变餐x、Y、Z赋值,然后将其作为实参传递给了函数fun(),虽然在函数fun()中改变了这3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数fun()结束后,主函数3个变量的值未改变。

  14对类的构造函数和析构函数描述正确的是( )。

  A.构造函数可以重载,析构函数不能重载

  B.构造函数不能重载,析构函数可以重载

  C.构造函数可以重载,析构函数也可以重载

  D.构造函数不能重载,析构函数也不能重裁

  参考答案:A

  参考解析:一个类中只能定义一个析构函数,否则会造成对同…对象的多次删除;而构造函数可以根据不同的参数个数和类型进行多次重载。

  15通过运算符重载,可以改变运算符原有的(  )。

  A.操作数类型B.操作数个数C.优先级D.结合性

  参考答案:A

  参考解析:重载运算符的规则如下:①c++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;②C++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是c++的标准类型。故本题答案为A。

  16下列关于c++流的描述中,错误的是(  )。

  A.cout>>’A’表达式可输出字符A

  B.eof()函数可以检测是否到达文件尾

  C.对磁盘文件进行流操作时,必须包含头文件fstream

  D.以ios_base::0ut模式打开的文件不存在时,将自动建立一个新文件

  参考答案:A

  参考解析:本题考查c++流,想要输出字符“A”,则应该是cout<<“A”,所以本题答案为A。

  17耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(  )。

  A.提高耦合性降低内聚性有利于提高模块的独立性

  B.降低耦合性提高内聚性有利于提高模块的独立性

  C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度

  D.内聚性是指模块间互相连接的紧密程度

  参考答案:B

  参考解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C与D错误。

  18若有如下类声明:

  Class MyClass{ publiC:

  MyClass(  ){Cout<<1;} };

  执行下列语句

  MyClass a,b[2],*p[2]; 程序的输出结果是(  )。

  A.11B.111C.1111D.11111

  参考答案:B

  参考解析:本题考查默认构造函数和带参数的构造函数,题目中定义一一个对象a以及对象数组b[2],共执行3次构造函数,对象指针不调用构造函数。所以本题答案为B。

  19下列函数模板的定义中,合法的是(  )。

  A.templateT abs(T X){return x<07-x:X;}

  B.template ClassT abs(T x){return x<07-X:x;}

  C.template Tabs(T X){return x<07-x:X;}

  D.template T abs(T x){return X<0?-X:x;}

  参考答案:A

  参考解析:本题考查模板函数的基本概念.根据模板函数的定义,所以答案为A。

  20有如下程序:

  #include

  using namespace std;

  class Base{

  int x:

  public:

  Base(int n=0):x(n){cout<

  int getX()const{return x;}

  };

  cjass Derived:public Base{

  int Y:.

  J;;Iublic:

  Derived(int m,int n):y(m),Base(n){cout<

  Derived(int m):Y(m){cout<

  };

  int main()

  {

  Derived dl(3),d2(5,7);

  retum 0;

  }

  执行这个程序的输出结果是( )。

  A.375B.357C.0375D.0557

  参考答案:C

  参考解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数,对象释放时,先执行派生类的析构函数。再执行基类的析构函数。本题中定义了一个对象d1,先执行基类的构造函数输出0,再执行派生类的构造函数输出3,然后定义了一个对象d2(5,7),其中需要调用基类的构造函数输出7.最后输出5,所以答案为c。

1 2 3 4 5 下一页

  相关推荐:

  各地2016年全国计算机等级考试报名时间汇总

  各地2016年计算机等级考试准考证打印时间汇总

  各地2016年全国计算机等级考试费用汇总

  2016年计算机等级考试备考冲刺专题

  考试吧特别策划:2016年计算机等级考试报考指南

文章责编:wangmeng  
看了本文的网友还看了
文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
Copyright © 2004- 考试吧计算机等级考试网 All Rights Reserved 
中国科学院研究生院权威支持(北京)
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧