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

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

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

  点击查看:2015年计算机二级考试《C++》上机模考试卷汇总

  一、选择题

  1有下列程序:

  #include

  intfun(intx,inyy)

  {if(x==y)return(x);

  elsereturn((x+y)/2);

  }

  voidmain(  )

  {inta=4,b=5,c=6;

  printf("%d\n",fun(2*a,fun(b,c)));

  }

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

  A.3B.6C.8D.12

  参考答案:B

  参考解析:在程序中子函数fun(intX,inty)的功能是如果X的值等于y的值,则返回X的值,否则返回这两个数的算术平均值,在主函数中首先计算fun(5,6),其值等于5,然后再计算fun(8,5),其值等于6。所以正确答案为选项B。

  2已知字母A的ASCIl代码值为65,若变量kk为char型,下列不能正确判断出kk中的值为大写字母的表达式是(  )。

  A.kk>='A'&&kk<='Z'

  B.!(kk>='A'‖kk<='2')

  C.(kk+32)>='a'&&(kk+32)<='2'

  D.isalpha(kk)&&(kk<=91)

  参考答案:B

  参考解析:选项A用逻辑与运算符来连接关系表达式'A'<=kk并且kk<='z',介于'A'与'Z'之间为大写字母。选项C用逻辑与运算符来连接关系表达式(kk+32)>'a'和(kk+32)<='2',因为大写'A'与小写'a',ASCIl码相差32,由表达式可知C正确。选项D调用函数isalpha(),首先判断kk是否为字母,接着通过与运算(kk<=91)来判断kk是否为大写字母;而选项B的表达式给的结果是除了'A'与'z'的大写字母,不符合题意。

  3有如下程序:

  #included

  usingnamespacestd;

  classTestClass

  {

  private:

  intx,Y;

  public:

  TestClass(inti,intj)

  {

  x=i:

  y=j;

  }

  voidprint()

  {

  cout<<"printl"<

  }

  voidprint()const

  {

  cout<<"print2"<

  }

  };

  intmain()

  {

  constTestClassa(1,2);

  print();

  return0;

  }

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

  A.printlB.print2C.printlprint2D.程序编译时出错

  参考答案:B

  参考解析:本题定义TestClass型常对象a,然后调用对象a中的成员函数print()。因为在C++中.如果一个对象被声明为常对象,则不能调用该对象中的非const型成员函数。所以,这里调用的是对象中的const型成员函数voidprint()const,输出为print2。

  4有如下程序:

  #include

  usingnamespacestd;

  classBase

  {

  public:

  Base(){cout<<"BB";f();}

  voidf(){cout<<"BF";}

  };

  classDerived:publicBase

  {

  public:

  Derived(){cout<<"DD";}

  voidf(){eout<<"Df";}

  };

  intmain(){Derivedd;return0;}

  执行上面的程序将输出(  )。

  A.BBBfDDB.BBDfDDDfC.DDD.DDBBBf

  参考答案:A

  参考解析:本题考查类的继承和派生。派生类执行构造函数的一般次序为:首先调用基类构造函数;然后调用成员对象的构造函数;最后是派生类构造函数中的内容。题目中定义派生类对象d时,先调用基类Base的构造函数,输出BBBf,然后调用派生类Derived的构造函数,输出DD。

  5在计算机中,算法是指(  )。

  A.查询方法B.加工方法C.解题方案的准确而完整的描述D.排序方法

  参考答案:C

  参考解析:计算机算法是指解题方案的准确而完整的描述,它的基本特征分别是:可行性、确定性、有穷性和拥有足够的情报。

  6有如下程序:

  #include

  usingnamespacestd;

  intmain(  ){

  intf,f1=0,f2=1;

  for(inti=3;i<=6;i++){

  f=f1+f2:

  f1=f2;f2=f;

  }

  cout<

  return0;

  }

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

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

  参考答案:C

  参考解析:循环3次,分别每次计算出f1,f2和f的值,该题比较简单,只需要细心即可。

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

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

  B.class和typename都可互相替换

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

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

  参考答案:B

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

  点击查看试题笔记(2)8下面程序的执行结果是(  )。

  #include"iostream.h"

  voidmain()

  {int*P,r;

  P=newint:

  *P=20:

  r=sizeof(*p);

  cout<

  deleteP;}

  A.程序错误B.内存为20地址的大小C.20D.4

  参考答案:D

  参考解析:本题考查指针和运算符sizeof的运用。sizeof可以运算出各种数据类型所占内存空间的多少。选项C中,指针P所指向的内存地址中内容是20。在用完申请后的内存应立刻释放。

  9类MyClass的定义如下,若要对value赋值,则下面语句正确的是(  )。

  classMyClass

  {

  public:

  MyClass(  ){}

  MyClass(inti){value=newint(i);}

  int*value;

  };

  A.MyClassmy;my.value=10;

  B.MyClassmy;*my.value=10;

  C.MyClassmy;my.*value=10;

  D.MyClassmy(10);

  参考答案:D

  参考解析:因题目中定义的指针value是指淘变量i的,所以直接利用语句MyClass(inti){value=newint(i);}对value进行赋值即可。

  10当变量C的值不为2、4、6时,值也为“真”的表达式是(  )。

  A.(c==2)‖(c==4)‖(c==6)

  B.(c>一2&&c<=6)‖(C!=3)‖(C!=5)

  C.(c>=2&&c<=6)&&!(c%2)

  D.(c>=2&&c<=6)&&(c%2!=1)

  参考答案:B

  参考解析:逻辑或“‖”运算中,只要有一项为真,表达式的值就为真而逻辑与“&&”运算必须两边都为真时才为真,在选项B中c的值不为2、4、6时,表达式的值也为真。

  11概要设计中要完成的事情是(  )。

  A.系统结构和数据结构的设计

  B.系统结构和过程的设计

  C.过程和接口的设计

  D.数据结构和过程的设计

  参考答案:A

  参考解析:软件概要设计的基本任务是:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。

  12有下列程序:

  #include

  #definePT3.5;

  #defineS(x)PT*x*x;

  voidmain(  )

  (inta=1.b=2;printf("%4.1f\n",S(a+b));}

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

  A.14.0B.31.5C.7.5D.程序有错,无输出结果

  参考答案:D

  参考解析:这个程序有错误不能通过编译。①#define宏定义后不可有分号;②用分号隔开后,int只定义了a。b要重新定义。

  13有下列程序:

  #include

  voidmain(  )

  {inta1,a2charc1,c2;

  scanf("%d%c%d%C",&a1,&c1,&a2,&c2);

  printf("%d%c%d%C",a1,c1,a2,c2);

  }

  若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是12,a,34.

  

  A.12a34bB.

  

  C.12,a,34,bD.

  

  参考答案:A

  参考解析:从程序的输入格式控制方法判断,输入时各变量之间没有分隔符,当输入相应的变量对应的值时,相应的变量能够得到对应的值,可以输出要求的结果。

  14下列虚基类的声明中正确的是(  )。

  A.clasSvirtualB:publicA

  B.virtualclassB:publicA

  C.classB:publieAvirtual

  D.classB:virtualpublicA

  参考答案:D

  参考解析:虚基类说明格式为:Virtual<继承方式><基类名>其中,virtual是虚基类的关键词。虚基类的说明是用在定义派生类时,写在派生类名的后面。即class<派生类名>:Virtual<继承方式><基类名>。

  15设有定义“chars[8];inti=0;”,下列不能将一行(不超过80个字符)带有空格的字符国正确读入的语句或语句组是(  )。

  A.gets(s);

  B.while((s[i++]=getchar(  ))!='\n');s[i]='\0';

  C.seanf("%S",s);

  D.do{scanf("%C",&s[i]);}while(s[i++]!='\n');s[i]='\0';

  参考答案:C

  参考解析:在scanf输入函数中,格式字符s的作用是输入一个字符串,直到遇到空格结束。所以选项C不能输入包含空格的字符串。正确答案为选项C。

  16下面关于虚函数的描述中正确的是(  )。

  A.虚函数是一个静态成员函数

  B.虚函数是一个非成员函数

  C.虚函数可以在函数说明时定义,也可以在函数实现时定义

  D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型

  参考答案:D

  参考解析:本题考查虚函数的概念。虚函数是非静态的成员函数,它不能是友元函数,但可以在另一个类中被声明为友元函数。虚函数必须是类的成员函数,虚函数声明只能出现在类定义的函数原型声明中,而不能在成员函数的函数体实现的地方,一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。

  17下列错误的定义语句是(  )。

  A.intx[][3]={{0},{1},{1,2,3}};

  B.intx[4][3]={{1,2,3},{1,2,3),{1,2,3),{1,2,3}};

  C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

  D.intx[][3]={1,2,3,4};

  参考答案:C

  参考解析:本题考查数组的定义一维数组定义和初始化是允许省行下标,不允许省列下标,故选项C错误。

  18数据库管理系统是(  )。

  A.操作系统的一部分

  B.在操作系统支持下的系统软件

  C.一种编译系统

  D.一种操作系统

  参考答案:B

  参考解析:

  数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。

  19Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是(  )。

  Samplea[2],*p=newSample;

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

  参考答案:D

  参考解析:构造函数在对象被创建时由系统自动调用,本题共创建3个对象。

  20以下关于友元函数的叙述不正确的是(  )。

  A.友元函数提供了类之间数据共享的一个途径

  B.一个友元函数可以访问任何类的任何成员

  C.友元函数破坏了数据的封装

  D.友元函数增加了程序设计的灵活性

  参考答案:B

  参考解析:友元函数的作用在于提高程序的运行效率,但是它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。只有在类中声明了某个函数是自己的友元函数之后,该友元函数才能够访问本类的私有成员,而不是任何类的任何成员都可以访问。

1 2 3 4 5 下一页

  相关推荐:

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

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

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

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