首页 - 网校 - 万题库 - 直播 - 雄鹰网校 - 团购 - 书城 - 模考 - 学习通 - 导航 -
首页网校万题库直播雄鹰网校团购书城模考论坛实用文档作文大全宝宝起名
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 页:综合应用题

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

  A.可行性分析报告

  B.软件需求规格说明书

  C.概要设计说明书

  D.集成设计计划

  参考答案:B

  参考解析:需求分析是对获取的需求进行分析和综合最终给出系统的解决方案和目标系统的逻辑模型。需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标确认,又可以作为控制软件开发进程的依据。

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

  A.软件集成测试计划

  B.软件详细设计说明书

  C.用户手册

  D.软件需求规格说明书

  参考答案:D

  参考解析:

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

  23生成派生类对象时,派生类构造函数调用基类构造函数的条件是(  )。

  A.无需任何条件

  B.基类中显式定义了构造函数

  C.派生类中显式定义了构造函数

  D.派生类构造函数明确调用了基类构造函数

  参考答案:D

  参考解析:派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以在定义派生类的构造函数时,除了对自己的类据成员进行初始化外,还必须负责调用基类构造函数,使基类的数据成员得以初始化。

  24下列选项中不属于字符常量的是(  )。

  A.'C'B."C"C.'\xCC'D.'\072'

  参考答案:B

  参考解析:字符常量是用一对单引号括起来的,而字符串常量是用双引号括起来的字符序列,所以选项B不正确;选项C中'\xCC'是十六进制表示的转义字符;选项D中'\O72'是八进制表示的转义字符。

  25有下列程序:

  #include

  voidmain(  )

  {char*s={"ABC");

  do

  {printf("%d",*s%10);s++;

  }while(*s);

  }

  注意:字母A的ASCIl码值为65。程序运行后的输出结果是(  )。

  A.5670B.656667C.567D.ABC

  参考答案:C

  参考解析:本题考查d0…while语句,至少执行一次循环体,依次输出ABC,这三个字母的ASCIl值对10求模的余数,字母A的ASCIl值对10求模的余数为5,字母B的ASCIl值对10求模的余数为6,字母c的ASCIl值对10求模的余数为7。所以正确答案为选项C。

  26数据库管理系统中负责数据模式定义的语有是(  )。

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

  参考答案:A

  参考解析:数据模式是由数据定义语言(DataDefini-tionLanguage,DDL)来描述、定义的,体现、反映了数据库系统的整体观。

  27有如下程序:

  #include

  usingnamespacestd;

  classAA{

  public;

  AA(  ){cOUt<<'1';)

  };

  classBB:publicAA{

  intk;

  public:

  BB(  ):k(0){tout<<'12';}

  BB(intn):k(n)(cout<<'3';)

  };

  intmain(  ){

  BBb(4),c;

  return0;

  }

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

  A.1312B.132C.32D.1412

  参考答案:A

  参考解析:当基类的构造函数默认或无参时,派生类可省对基类构造函数的显示调用,但系统会自动调用该类的缺省构造函数,且先调用基类的构造函数后调用派生类的构造函数。

  28下列关于宏的叙述中正确的是(  )。

  A.宏名必须用大写字母表示

  B.宏定义必须位于源程序中所有语句之前

  C.宏替换没有数据类型限制

  D.宏调用比函数调用耗费时间

  参考答案:C

  参考解析:本题考查宏的相关知识点。宏名没有大小写限制;宏定义可以放在程序中的任何位置,其有效范围是从定义开始到文件结束;宏替换可以代替任何数据类型,不受数据类型的限制;函数影响运行时间,宏调用影响编译时间。

  29下列叙述中正确的是(  )。

  A.算法就是程序

  B.设计算法时只需要考虑数据结构的设计

  C.设计算法时只需要考虑结果的可靠性

  D.以上三种说法都不对

  参考答案:D

  参考解析:程序可以实现算法,所以A错。设计算法除了考虑数据结构外,还需考虑结果的可靠性,以及算法效率,等等。

  30若已定义

  inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5;

  则对数组元素不正确的引用是(  )。

  A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

  参考答案:D

  参考解析:数组和指针的关系非常密切,因为数组名称单独使用是表示数组的首地址。故可用的表示可能是a[i],p[i],*(P{i),同样&(a[i])表示地址,因此*(&a[i])等同于a[i]。本题答案为D。

  31控制格式输入/输出的操作中,设置域宽的函数是(  )。

  A.WSB.octC.setfill(int)D.setw(int)

  参考答案:D

  参考解析:本题需要考生记忆一些输入/输出控制操作字,oct为八进制,setfill为设置填充符,setw为设置域宽。

  32有下列二叉树,对此二叉树前序遍历的结果是(  )。

  

  A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ

  参考答案:D

  参考解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其虚、右子树。记住三种遍历的顺序:①前序,访问根→按前序遍历左子树→按前序遍历右子树;②中序,按中序遍历左子树→访问根→按中序遍历右子树;③后序,按后序遍历左子树→按后序遍历右子树→访问根。

  33设有宏定义“#definelsDIV(k,n)((k%n==1?1:0)”且变量m已正确定义并赋值,则宏调用“lsDIV(m,5)&&IsDIV(m,7)”为真时所要表达的是(  )。

  A.判断m是否能被5或者7整除

  B.判断m是甭能被5和7整除

  C.判断m被5或者7整除是否余1

  D.判断m被5和7整除是否都余l

  参考答案:D

  参考解析:本题考查宏定义,宏定义IsDIV(k,n)的意思是如果k对n.求模的余数为1,其值等于1,否则其值等于0。本题中宏调用表达式是两个宏调用之间的逻辑与运算,所以选项D正确。

  34以下程序的输出结果是(  )。

  #include

  longfun(intn)

  {longS;

  if(n==1‖n==2)s=2;

  elses=n-fun(n-1):

  returnS;

  }

  voidmain(){cout<

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

  参考答案:A

  参考解析:题中fun函数进行了递归调用,第1次调用对:fun(3)n=3,S=3-fun(2),第二次调用时:fun(2)n=2,s=2,返回第一次调用后,s=3-2=1。

  35下列程序的执行结果是(  )。

  #include

  #include

  classTestClass

  {

  public:

  intX,y;

  TestClass(){x=y=0;}

  TestClass(inta,intb)(x=a;y=b;}voiddisp()

  {

  cout<<"x="<

  }

  };

  voidmain()

  {

  TestClasss1(2,3);

  s1.disp();

  }

  A.x=2,y=2B.x=2,y=3C.x=3,y=2D.x=3,y=3

  参考答案:B

  参考解析:由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(inta,intb){x=a;y=b;}”,然后调用成员函数disp(),则输出为“cout<<"x="<

  36有下列程序:

  #include

  intfun(int(*s)[4],intn,intk)

  {intm,i;

  m=s[O][k];

  for(i=1;im)m=s[i]

  [k];

  returnm;

  }

  voidmain(  )

  {inta[4][4]=({1,2,3,4),{11,12,13,14},{21,

  22,23,24},{31,32,33,34)};

  printf(”%d\n”,fun(a,4,O));

  }

  程序的运行结果是(  )。

  A.4B.34C.31D.32

  参考答案:C

  参考解析:在程序中fun函数的功能在于求取三维数组S中1至n行中每行第k个元素中的最大者。注意:i=0时为第一行,故fun(a,4,O)在于求取11、21、31中的最大值,显然为31。

  37有如下程序:

  #include

  voidmain()

  {charch[2][5]={"6937","8254"),*p[2];

  inti,j,s=0;

  for(i=0;i(2;i++)p[i]=ch[i];

  for(i=0;i<2;i++)

  for(j=0;p[i][j]>'\0';j+=2)

  s=10*s+p[i][j]-'0';

  cout<

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

  A.69825B.63825C.6385D.693825

  参考答案:C

  参考解析:该题需要搞清楚以下几点:④定义了一个指针数组char*p[2]后,程序中第一个循环“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组P和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体“s=s*10+p[i][j]-'0'”的功能是这样的,每执行一次,将s中的值乘以10(即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][i]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p[i][j]>'\0'是指p[i][j]中的字符只要不是字符串结束标志'\0'就继续循环,语句j+=2;是使下标j每次增加2,即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  38为了提高函数调用的实际运行速度,可以将较简单的函数定义为(  )。

  A.内联函数B.重载函数C.递归函数D.函数模板

  参考答案:A

  参考解析:内联函数一般是程序代码少于10行的函数,在编译过程中,直接在调用点处被展开,不会因函数调用带来巨大的系统开销,因此能提高实际运行速度。

  39下列选项中属于面向对象设计方法主要特征的是(  )。

  A.继承B.自顶向下C.模块化D.逐步求精

  参考答案:A

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

  #include

  funl(chara,charb){charC;c=a;a=b;b=C;)

  fun2(char*a,charb){charC;c=*a;*a=b;b=c;)

  fun3(char*a,char*b){charC;C=*a;*a=*b;*b=C;)

  voidmain(  )

  {

  chara,b;

  a='A';b='B';fun1(a,b);putchar(a);putchar(b);

  a='A';b='B';fun2(&a,b);putchar(a);putchar(b);

  a='A';b='B';fun3(&a,&b);putchar(a);putchar(b);

  putchar('\n');

  }

  A.BABBABB.ABBBBAC.ABBABAD.ABABBA

  参考答案:B

  参考解析:由程序中的主函数main入手,分别调用fun1,fun2,fun3函数,得出输出结果。其中,3个函数都是实现的两个形参的交换功能,只是值传递的方式不同,有的是引用,有的是传值。第一个函数中参数采用的是值传递的方式,形参的变化不影响实参。所以d调用funl后,实参a和b并没有交换,仍然是AB。第二个调用中,实参a采用的是地址,即传递的是地址,所以形参a的改变会影响实参a的值,即BB。同理,调用fun3后为BA。

上一页  1 2 3 4 5 下一页

  相关推荐:

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

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

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

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