2017年全国计算机等级考试二级C++模拟试题(10)

日期:03-01| http://www.59wj.com |二级C++模拟试题|人气:679

2017年全国计算机等级考试二级C++模拟试题(10)

  笔试部分

  一、选择题

  1.根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成( )

  A.动态结构和静态结构

  B.紧凑结构和非紧凑结构

  C.线性结构和非线性结构

  D.内部结构和外部结构

  【参考答案】 C

  2.在下列几种排序方法中,要求内存量最大的是( )

  A.插入排序 B.选择排序 C.快速排序 D.归并排序

  【参考答案】 D

  3.下列不属于软件调试技术的是( )

  A.强行排错法 B.集成测试法 C.回溯法 D.原因排除法

  【参考答案】 B

  4.软件复杂性度量的参数包括( )

  A.效率 B.规模 C.完整性 D.容错性

  【参考答案】 B

  5.数据库系统的核心是( )

  A.数据库 B.数据库管理系统 C.数据库模型 D.软件工具

  【参考答案】 B

  6.最简单的交换排序方法是( )

  A.快速排序 B.选择排序

  C.堆排序 D.冒泡排序

  【参考答案】 D

  7.线性表的顺序存储结构和线性表的链式存储结构分别是( )

  A.顺序存取的存储结构、顺序存取的存储结构

  B.随机存取的存储结构、顺序存取的存储结构

  C.随机存取的存储结构、随机存取的存储结构

  D.任意存取的存储结构、任意存取的存储结构

  【参考答案】 B

  8.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示( )

  A.模块之间的调用关系 B.程序的组成成分

  C.控制程序的执行顺序 D.数据的流向

  【参考答案】 A

  9.一个关系中属性个数为1时,称此关系为( )

  A.对应关系 B.单一关系 C.一元关系 D.二元关系

  【参考答案】 C

  10.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )

  A.可重用性差 B.安全性差 C.非持久性 D.冗余性

  【参考答案】 D

  .
               www.59wj.com

  11.下列选中不全是C++关键字的是( )

  A.const,break,default

  B.long,void,using

  C.virtual,extern,include

  D.try,throw,this

  【参考答案】 C

  12.在32位的计算机中,一个char型数据所占的内存长度的字节是( )

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

  【参考答案】 B

  13.有如下程序:

  #include″iostream.h″

  void main()

  { int x=1,a=0,b=0;

  switch(x) {

  case 0:b++;

  case 1:a++;

  case 2:a++;b++; }

  cout<<″a=″<

  该程序的输出结果是( )

  A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2

  【参考答案】 A

  14.若有说明int a[3][4];,则a数组元素的非法引用是( )

  A.a[0][2*1] B.a[1][3]

  C.a[4-2][0] D.a[0][4]

  【参考答案】 D

  15.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )

  A.函数调用可以作为独立的语句存在

  B.函数调用可以无返回值

  C.函数调用可以出现在表达式中

  D.函数调用可以作为一个函数的形参

  【参考答案】 D

  16.以下类定义中可能会引起错误的语句是( )

  class A

  { public:

  ~A(){ } //1

  int i; //2

  private:

  int j; //3

  A(int i){i++;} //4 };

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

  【参考答案】 D

  17.下列描述中错误的是( )

  A.派生类可以作为基类派生其他的子类

  B.派生类继承基类的所有数据成员

  C.派生类可以有多个基类

  D.派生类不能继承一些函数成员

  【参考答案】 B

  18.下列运算符中哪些是不能够被重载的?( )

  A..,.*,->*,::,?: B.++,--,new,delete,==

  C.sizeof,new,delete,++,-- D.sizeof,new,delete,+,-

  【参考答案】 A

  19.下列关于函数模板实参不能省略的情况说明不正确的是( )

  A.从模板函数实参表获得的信息有矛盾

  B.需要获得特定类型的返回值,而不管参数的类型如何

  C.虚拟类型参数没有出现在模板函数的形参表中

  D.函数模板不含有常规形参

  【参考答案】 D

  20.表达式10>5&&6%3的值是( )

  A.-1 B.非零值 C.0 D.1

  【参考答案】 C
  .
               www.59wj.com

  21.以下函数调用语句中含有参数个数是( )

  excc((v1,v2),(v2,v3,v4),v6);

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

  【参考答案】 A

  22.下列程序段的输出结果是( )

  #include

  void fun(fun *x,int *y)

  { cout<<*x<<*y;

   *x=3;

   *y=4; }

  void main()

  { int x=1,y=2;

  fun(&y,&x);

  cout<

  A.2143 B.1212 C.1.4 D.2112

  【参考答案】 A

  23.下列程序的输出结果是( )

  #include

  void main()

  { char *str=″12123434″;

  int x1=0,x2=0,x3=0,x4=0,i;

  for(i=0;str[i]!=′\0′;i++)

  switch(str[i])

  { case′1′:x4++;

   case′2′:x3++;

   case′3′:x2++;

   case′4′:x1++;〗 }

  cout<

  A.8,6,4,1 B.8,6,3,2 C.8,8,4,1 D.8,6,4,2

  【参考答案】 D

  24.每个C++程序中都必须有且仅有一个( )

  A.类 B.预处理命令 C.主函数 D.语句

  【参考答案】 C
  .
               www.59wj.com

  25.设有int x=11;,则表达式(x++*2/3)的值是( )

  A.7 B.8 C.11 D.12

  【参考答案】 A

  26.对表达式for(表达式1;;表达式3)可理解为( )

  A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3)

  C.for(表达式1;表达式3) D.for(;;表达式3)

  【参考答案】 B 27.有如下说明

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

  则数值为9的表达式是( )

  A.*p+9 B.*(p+8) C.*p+=9 D.p+8

  【参考答案】 B

  28.以下对C++语言函数的有关描述中,正确的是( )

  A.在C++语言中调用函数,只能把实参的值传给形参,形参的值不能传送给实参

  B.C++语言函数既可以嵌套定义又可以递归调用

  C.函数必须无返回值,否则不能使用函数

  D.函数必须有返回值,返回值类型不定

  【参考答案】 A

  29.拷贝构造函数的参数一般是( )

  A.某对象名 B.某对象成员名 C.某对象的引用名 D.指向对象的指针名

  【参考答案】 C

  30.下面这个程序的结果是( )

  #include

  class A

  { private:

  int a;

  public:

  void seta();int geta();};

  void A::seta()

  { a=1;}

  int A::gate()

  { return a;}

  class B

  { private:

  int a;

  public:
  .
               www.59wj.com

  void seta();int geta();};

  void B::seta()

  {a=2;}

  int B::geta()

  {return a;}

  class C:public A,public B

  { private:

  int b;

  public:

  void display();};

  void C::display()

  { int b=geta();

  cout<

  void main()

  C c;

  c.seta();

  c.display();}

  A.1 B.2 C.随机输出1或2 D.程序有错

  【参考答案】 D

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

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

  B.class和typename都可互相替换

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

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

  【参考答案】 B

  32.以下程序的输出结果是( )

  #include

  long fun(int n)

  { long s;

  if(n==1||n==2)s=2;

  else s=n-fun(n-1);

  return s; }

  void main()

  { cout<

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

  【参考答案】 A
  .
               www.59wj.com

  33.有如下程序

  #include

  void main()

  { char ch[2][5]={″6937″,″8254″},*p[2];

   int i,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.69825 B.63825 C.6385 D.693825

  【参考答案】 C

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

  #include

  void main()

  { char x=040;

  cout<<(x<<1);}

  A.100 B.80 C.64 D.32

  【参考答案】 C

  35.对以下说明语句的正确理解是( )

  int a[10]={6,7,8,9,10};

  A.将5个初值依次赋给a[1]至a[5]

  B.将5个初值依次赋给a[0]至a[4]

  C.将5个初值依次赋给a[6]至a[10]

  D.因为数组长度与初值的个数不相同,所以此语句不正确

  【参考答案】 B
  .
               www.59wj.com

  二、填空题

  1.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的【1】。

  【参考答案】

  【1】时间复杂度和空间复杂度

  2.可以把具有相同属性的一些不同对象归类,称为【2】。

  【参考答案】

  【2】对象类

  3.由关系数据库系统支持的完整性约束是指【3】和参照完整性。

  【参考答案】

  【3】实体完整性

  4.软件结构是以【4】为基础而组成的一种控制层次结构。

  【参考答案】

  【4】模块

  5.数据库保护分为:安全性控制、【5】、并发性控制和数据的恢复。

  【参考答案】

  【5】完整性控制

  6.在C++语言的面向对象程序设计框架中,【6】是程序的基本组成单元。

  【参考答案】

  【6】类

  7.以下程序的输出结果是【7】。

  #include

  void fun()

  { static int a=0;

  a+=2;

  cout<

  void main()

  { int cc;

  for(cc=1;cc<4;cc++)

  fun();

  cout<

  【参考答案】

  【7】2 4 6
  .
               www.59wj.com

  8.以下程序的输出结果是【8】。

  #include

  unsigned fun(unsigned num)

  { unsigned k=1;

  do{k*=num%10;num/=10;}while(num);

  return k; }

  void main()

  { unsigned n=26;

  cout<

  【参考答案】

  【8】12

  9.C++语言中的多态性是在编译时通过【9】和模板体现的,在运行时是通过【10】体现的。

  【参考答案】

  【9】CCCCCC 【10】虚函数

  10.执行下列语句后,c3中的值为【11】

  int c1=1,c2=2,c3;c3=1.0/c2*c1;

  【参考答案】

  【11】0

  11.以下程序的输出结果是【12】。

  #include

  void main()

  { char s[]=″abcdef″;s[3]=′\0′;

  cout<

  【参考答案】

  【12】adc

  12.常数据成员和静态数据成员在使用前共同的要求是要进行【13】。

  【参考答案】

  【13】初始化

  13.表达式x.operator+(y.operator++(0))还可以写成【14】。

  【参考答案】

  【14】x+y++或x+(y++)

  14.构造函数是和【15】同名的函数。

  【参考答案】

  【15】类
  .
               www.59wj.com

  上机部分

  一、改错题

  使用VC6打开考生文件夹下的工程kt10_1,此工程包含一个源程序文件kt10_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为:

  classBase

  classD1

  classD2

  classD3

  finBase

  源程序文件kt10_1.cpp清单如下:

  #include

  classBase

  { public:

  Base(){cout<<"classBase"<

  voidf(){cout<<"finBase"<

  classD1:virtualpublicBase

  { public:

  D1(){cout<<"classD1"<

  voidf(){cout<<"finD1"<

  /**********found**********/

  classD2:publicBase

  { public:

  D2(){cout<<"classD2"<

  /**********found**********/

  classD3::publicD1,publicD2

  { public:

  D3(){cout<<"classD3"<

  voidmain()

  { D3d;

  /**********found**********/

  d.f(); }
  .
               www.59wj.com

  【参考答案】

  (1)将class D2:public Base

  改为:class D2:virtual public Base

  (2)将class D3::public D1,public D2

  改为:class D3:public D1,public D2

  (3)将d.f();改为:d.Base::f();

  【试题解析】

  (1)主要考查对虚基类的理解,虚基类可以解决二义性的问题,其定义方式是在继承列表中使用virtual关键字,使用虚基类可以避免程序运行中对基类函数调用的不惟一;

  (2)主要考查对类的定义方法的掌握,“::”为作用域符,此处应该使用“:”,因为后面是继承列表;

  (3)主要考查对虚基类函数调用过程的理解,只有使用"::"限定才能访问基类函数,否则将会调用自身的函数,如果该类没有该函数的定义,则会自动调用其父类的该函数,所以必须使用“::”符号。

  二、简单应用题

  请编写一个函数inlinelongsum(intn),用递归函数完成运算:sum(n)=1*1+2*2+???+n*n,递归表达式为sum(n)=sum(n-1)+n2。

  注意:部分源程序已存在文件kt10_2.cpp中。

  请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。

  文件kt10_2.cpp的内容如下:

  #include

  inlinelongsum(intn)

  {

  }

  voidmain()

  { intn;

  cout<<"输入n:";

  cin>>n;

  cout<<"结果为:"<

  【参考答案】

  inline long sum(int n)

  { if(n==1)

  return 1;

  else

  return n*n+sum(n-1); }

  【试题解析】

  本题考查对递归函数掌握的熟练程度。递归的终止条件为n=1时,值为1。
  .
如果觉得《2017年全国计算机等级考试二级C++模拟试题(10)》二级C++模拟试题,jsj不错,可以推荐给好友哦。

本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - 二级C++模拟试题,jsj,
在百度中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(10)
在谷歌中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(10)
在soso中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(10)
在搜狗中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(10)
相关分类导航|
热门推荐|