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

2015全国计算机二级考试《C++》上机模考试卷(1)

来源:考试吧 2015-11-23 16:45:29 考试吧:中国教育培训第一门户 模拟考场
考试吧整理“2015全国计算机二级考试《C++》上机模考试卷(1)”供考生参考,更多计算机等级考试相关信息请关注考试吧计算机等级考试网。
第 1 页:选择题
第 3 页:程序改错题
第 4 页:简单应用题
第 5 页:综合应用题

  21当需要将一个函数boolisnunlber(charc)声明为内联函数时,此内联函数的函数原型为(  )。

  A.enumboolisnumber(charc);

  B.defineboolisnumber(charc);

  C.inlineboolisnumber(charc);

  D.extemboolisnumber(charc);

  参考答案:C

  参考解析:本题考查内联函数的相关知识点。函数原型应指出函数名、返回值类型以及在调用函数时提供的参数的个数和类型,因为要声明为内联函数,故应加inline关键字。

  22有如下程序:

  #include

  usingnamespacestd;

  intmain(  ){

  inta[6]={23,l5,64,33,40,58};

  ints1,s2;

  s1=s2=a[0];

  for(int*p=a+1;p

  if(sl>*p)s1=*P;

  if(s2<*p)s2=*p;

  }

  cout<

  return0;

  }

  运行时的输出结果是(  )。

  A.23B.58C.64D.79

  参考答案:D

  参考解析:根据题意,找出数组a中最大值sl和最小值s2并计算二者的和。

  23以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是(  )。

  #include(iostream.h)

  voidmain(  )

  {int*P,*q,a,b;

  p=&a;

  cout<<"inputa:";

  cin>>P;

  }

  A.*P表示的是指针变量P的地址

  B.P表示的是变量a的地址,而不是变量a的值

  C.*P表示的是指针变量p的值

  D.*P只能用来说明P是一个指针变量

  参考答案:B

  参考解析:p表示的是变量a的地址,定义后*P表示的是变量a的值。

  24有以下程序:

  classDate

  {

  public:

  Date(inty,intm,intd);

  {

  year=Y:

  month=m;

  day=d;

  }

  Date(inty=2000)

  {

  year=y;

  month=10;

  day=1;

  }

  Date(Date&d)

  {

  year=d.year;

  month=d.month;

  day=d.day;

  }

  voidprint(  )

  {

  cout<

  }

  private:

  intyear,month,day;

  };

  Datefun(Dated)

  {

  Datetemp;

  temp=d;

  returntemp;

  }

  intmain(  )

  {

  Datedatel(2000,1,1),date2(0,0,0);

  Datedate3(datel);

  date2=fun(date3);

  return0;

  }

  程序执行时,Date类的拷贝构造函数被调用的次数是(  )。

  A.2B.3C.4D.5

  参考答案:B

  参考解析:本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第1次是在执行语句Datedate3(date1)时,用已经建立的对象date1对正在建立的对象date3进行初始化;第2次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第3次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了拷贝构造函数。

  25下面程序的输出结果是(  )。

  #include

  Usingnamespacestd;

  ClassBase{

  public:

  Base(intx=O){count<

  }

  };

  ClassDerived:publicBase{

  public:Derved(intx=0{count<

  }

  private;

  Baseval;

  };

  intmina(){

  Derivedd(1);

  retrun0;

  }

  A.0B.1C.01D.001

  参考答案:D

  26软件设计中划分模块的一个准则是(  )。

  A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合

  参考答案:B

  参考解析:耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各个模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

  27下列程序的运行结果是(  )。

  #include

  intx=5;

  intfun(inta)

  {

  intc:

  c=X*a:

  returnC;

  }

  voidmain()

  {

  intx=3,a=4;

  x=x+fun(a);

  cout<<"x="<

  }

  A.x=15B.x=17C.x=23D.x=25

  参考答案:C

  参考解析:由主函数main入手,首先x被赋值为3,a被赋值为4,然后调用fun函数,参数为4,所以在fun函数中的a=4。而主程序中的x作用域是由它定义开始到cout输出,在fun函数中无效。而在fun函数定义前的变量X作用域是整个程序,所以fun函数中的x值为5,这样C的值就为20。在主函数中的x+fun(a)中的x为靠近这条语句的x定义,即3,所以最后x的值为20+3=23。第27题 笔记记录我的笔记(0) | 精选笔记(0)选择笔记标签:试题内容(0)答案解析(0)

  28数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是(  )。

  A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.没有任何关系

  参考答案:C

  参考解析:数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般有数据库(DB)、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。

  29在软件开发中,需求分析阶段产生的主要文档是(  )。

  A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书

  参考答案:D

  参考解析:需求分析阶段只能产生需求分析规格说明书,A测试说明书是软件测试阶段生成的,B软件详细设计说明数是设计阶段生产,C用户手册是软件发布时随软件一同交付给用户的。

  30有如下程序:

  #include

  usingnamespacestd;

  classXA{

  inta;

  public:

  staticintb;

  XA(intaa):a(aa){b++;}

  ~XA(  ){}

  intget(  ){returna;}

  };

  intXA::b=0

  intmain(  ){

  XAd1(1),d2(3);

  cout<

  return0;

  }

  运行时的输出结果是(  )。

  A.5B.6C.7D.8

  参考答案:C

  参考解析:每调用一次get函数时,对新的类A对象进行一次实例化,调用一次构造函数,类A的静态成员变量b便加1。

  31是(  )。

  A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d

  参考答案:D

  参考解析:本题考查运算符的优先级书写及运算。*、/运算优先级相同,据此判断,选项D表示的是2abd/c,而不是2ab/(cd)。

  32对于模板定义关键字class和typename说法不正确的是(  )。

  A.程序中的class并不能都替换为typename

  B.class和typename都可互相替换

  C.程序中的typename都能替换为class

  D.程序中的部分class可以替换为typename

  参考答案:B

  参考解析:在C++程序中的typename是都可以替换为class的,但class不能都替换为typename。

  33下面程序的运行结果为(  )。

  #include

  ClassA

  {

  public:A(  ){cout<<"1";}

  ~A(  ){cout<<"2";}

  };

  ClassB:public:A

  {

  public:

  B(  ){cout<<"3";}

  ~B(  ){cout<<"4";}

  };

  Voidmain(  )

  {

  Bb;

  }

  A.1234B.1324C.1342D.3142

  参考答案:C

  参考解析:本题考查在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。

  34有如下程序:

  #include

  usingnamespacestd;

  classPublication{//出版物类

  charname[30];

  public:

  Publication(char*name=”未知名称”){

  ~strcpy(this一>name,name);

  }

  constchar*getName(  )const{returnname;}

  virtualconstchar*getType(  )const{return”未知类型”;}

  };

  classBook:publicPublication{//书类

  public:

  Book(char*name):Publication(name){}

  virtualconstchar*getType(  )const{return"书";}

  };

  voidshowPublication(Publication&p){

  cout<

  endl;

  }

  intmain(  ){

  Bookbook(”精彩人生”);

  showPublication(book);

  return0;

  }

  运行时的输出结果是(  )。

  A.未知类型:未知名称

  B.未知类型:精彩人生

  C.书:未知名称

  D.书:精彩人生

  参考答案:D

  参考解析:因为getType是虚函数,所以P.getType()执行继承类的getType函数,输出“书”;P.getName()执行基类的getName函数,输出“精彩人生”。总共输出“书:精彩人生”,故选D。

  35若有以下程序:

  #include

  usillgnamespacestd;

  classA

  {private:

  inta;

  public:

  A(inti)

  {a=i;}

  voiddisp()

  {cout<

  classB

  {private:

  intb;

  public:

  B(intj)

  {b=j;}

  voiddisp()

  {COUt<

  classC:publicB,publicA

  {private:

  intC;

  public:

  C(intk):A(k-2),B(k+2)

  (c=k;)

  voiddisp()

  {A::disp();

  B::disp();

  cout<

  intmain()

  {Cobj(10);

  obj.disp();

  return0;}

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

  A.10,10,10B.10,12,14C.8,10,12D.8,12,10

  参考答案:D

  参考解析:本题考查派生类构造函数的使用。派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。

  36若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为(  )。

  A.aB.AA.aC.a{}D.AA::a{}

  参考答案:A

  参考解析:a是类AA的非静态数据成员,在类AA的成员函数中可以直接访问。B是访问静态数据成员的方式,C和D都是访问函数的方式。

  37静态成员函数没有(  )。

  A.返回值B.this指针C.指针参数D.返回类型

  参考答案:B

  参考解析:this指针是系统隐含的用于指向当前对象的指针。由于静态函数是同类中所有对象都共享的函数,在内存中只存在一份,不属于某个对象所有,所以静态函数没有this指针。

  38下列程序的运行结果是(  )。

  #include

  intx=5:

  intfun(inta)

  {

  intC;

  C=X*a:

  returnC;

  }

  voidmain(  )

  {

  intx=3,a=4;

  x=x+fun(a);

  cout<<"x="<

  }

  A.x=15B.x=17C.x=23D.x=25

  参考答案:C

  参考解析:由主函数main入手,首先X被赋值为3,a被赋值为4,然后调用fun函数,参数为4,所以在fun函数中的a=4。而主程序中的X作用域是由它定义开始到cout输出,在fun函数中无效。而在fun函数定义前的变量X作用域是整个程序,所以fun函数中的x值为5,这样c的值就为20。在主函数中的x+fun(a)中的X为靠近这条语句的x定义,即3,所以最后x的值为20+3=23。

  39面向对象的没计方法与传统的面向过程的方法有本质不同,它的基本原理是(  )。

  A.模拟现实世界中不同事物之间的联系

  B.强调模拟现实世界中的算法而不强调概念

  C.使用现实世界的概念抽象地思考问题从而自然地解决问题

  D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

  参考答案:C

  参考解析:面向对象设计通过对人类认识客观世界及事物发展过程的抽象,建立了规范化的分析设计方法,由此带来软件模块化特色突出、可读性好、易维护等一系列优点。

  40负责数据库中查询操作的数据库语言是(  )。

  A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言

  参考答案:C

  参考解析:数据库操纵语言专门负责查询、增加、删除等数据操作。

上一页  1 2 3 4 5 下一页

  相关推荐:

  各地2015全国计算机等级考试报名时间及入口汇总热点文章

  2015年12月计算机等级考试通关分享:如何做题?

  名师指导:2015年计算机等级考试上机应试技巧

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