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

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

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

  笔试部分

  一、选择题

  1.树是结点的集合,它的根结点数是( )

  A. 有且只有1 B.1或多于1

  C. 0或1 D.至少2

  【参考答案】 A

  2.在设计程序时,应采纳的原则之一( )

  A. 不限制goto语句的使用 B.减少或取消注解行

  C. 程序越短越好 D.程序结构应有助于读者理解

  【参考答案】 D

  3.下列叙述中,不属于软件需求规格说明书的作用的是( )

  A. 便于用户、开发人员进行理解和交流

  B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据

  C. 作为确认测试和验收的依据

  D. 便于开发人员进行需求分析

  【参考答案】 D

  4.单个用户使用的数据视图的描述称为( )

  A. 外模式 B.概念模式 C. 内模式 D.存储模式

  【参考答案】 A

  5.SQL语言又称为( )

  A. 结构化定义语言 B.结构化控制语言

  C. 结构化查询语言 D.结构化操纵语言

  【参考答案】 C

  6.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )

  A. bdgcefha B.gdbecfha C. bdgaechf D.gdbehfca

  【参考答案】 D

  7.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )

  A. 消除软件危机 B.软件工程管理 C. 程序设计自动化 D.实现软件可重用

  【参考答案】 B

  8.在软件测试设计中,软件测试的主要目的是( )

  A. 实验性运行软件 B.证明软件正确

  C. 找出软件中全部错误 D.发现软件错误而执行程序

  【参考答案】 D

  9.索引属于( )

  A. 模式 B.内模式 C. 外模式 D.概念模式

  【参考答案】 B

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

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

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

  11.下面关于类和对象的描述错误的是( )

  A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量

  B.类和对象之间的关系是抽象和具体的关系

  C.对象是类的实例,一个对象必须属于一个已知的类

  D.类是具有共同行为工的若干对象的统一描述体

  【参考答案】 A

  12.设int a=10,b=11,c=12;,表达式(a+b)

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

  【参考答案】 B

  13.下列语句中不是死循环的是( )

  A.int i=10; B.for(int i=1;i<10;i++)

  while(1) {

  { i--; i--;

  if(i==1)break; } }

  C.int i=0; D.int i=1;

  do{ for(;;)i=i+1;

  i++;

  }while(i>=0);

  【参考答案】 A

  14.下面关于数组的描述错误的是( )

  A.在C++语言中数组的名字就是指向该数组第一个元素的指针

  B.长度为n的数组,下标的范围是0~n-1

  C.数组的大小必须在编译时确定

  D.数组只能通过值参数和引用参数两种方式传递给函数

  【参考答案】 D

  15.下面的哪个选项不能作为函数的返回类型?( )

  A.void B.int C.new D.long

  【参考答案】 C

  16.下列程序的输出结果为( )

  #include

  int func(int n)

  { if(n<1) return 1;

  else return n+func(n-1);

  return 0; }

  void main()

  { cout<

  A.0 B.10 C.15 D.16

  【参考答案】 D

  17.以下程序中,错误的行为( )

  1.#include

  2.class A

  3.{

  4.public:

  5.int n=2;

  6.A(int val) {cout<

  7.~A(){ }

  8.{;

  9.void main()

  10{

  11.A a(0);

  12.}

  A.5 B.6 C.7 D. 11

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

  18.下面程序的运行结果为( )

  #include

  class A

  { int num;

  public:

  A(int i){num=i;}

  A(A &a){num=a.num++;}

  void print(){cout<

  void main()

  { A a(1),b(a);

  a.print();

  b.print(); }

  A.11 B.12 C.21 D.22

  【参考答案】 C

  19.如果类A被说明成类B的友元,则( )

  A.类A的成员即类B的成员 B.类B的成员即类A的成员

  C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元

  【参考答案】 D

  20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )

  A.abc B.acb C.cab D.cba

  【参考答案】 A

  21.下面关于模板的描述,错误的是( )

  A.函数模板和类模板的参数可以是任意的数据类型

  B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用

  C.函数模板不能直接使用,需要实例化为模板函数后才使用

  D.类模板的成员函数都是模板函数

  【参考答案】 A

  22.下面程序的运行结果是( )

  #include

  void main()

  { int num=1;

  int &ref=num;

  ref=ref+2;

  cout<

  num=num+3;

  cout<

  A.13 B.16 C.36 D.33

  【参考答案】 C

  23.下列程序的运行结果为( )

  #include

  int i=0;

  class A{

  public:

  A(){i++;} };

  void main()

  { A a,b[3],*c;

  c=b;

  cout<

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

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

  24.下列字符串中可以用C++语言标识符的是( )

  A._1234 B.foo~~bar C.virtual D.34var

  【参考答案】 A

  25.下列语句的输出结果( )

  cout<

  A.5 B.14 C.8 D.输出项不合法,无正常输出

  【参考答案】 A

  26.若有如下语句( )

  #include

  void main()

  { int x=3;

  do{

  x=x-2;

  cout<

  }while(!(--x)); }

  则上面程序段

  A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环

  【参考答案】 B

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

  #include

  void main()

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

  p=&a;

  cout<<″input a:″;

  cin>>p; }

  A.*p表示的是指针变量P的地址 B.p表示的是变量a的地址,而不是变量a的值

  C.*p表示的是指针变量p的值 D.*p只能用来说明p是一个指针变量

  【参考答案】 B

  28.有以下程序

  #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);

  cout<

  输出结果是( )

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

  【参考答案】 B

  29.下列定义中p指向的地址可更改,但*p不能够更改的是( )

  A.const int *P B.int * const p; C.const int *const p; D.int *p;

  【参考答案】 A

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

  #include

  class A

  { int a;

  public:

  A():a(1){ }

  void showa(){cout<

  class B

  { int a;

  public:

  B():a(2){ }

  void showa(){cout<

  class C:public A,public B

  { int a;

  public:

  C():a(3){ }

  void showa(){cout<

  void main()

  { C c;

  c.showa(); }

  A.1 B.2 C.3 D.程序有错误

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

  31.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为( )

  A.operator+(operator*(x,y),z)

  B.x.operator+(operator*(x,y),z)

  C.y.operator*(operator+(x,y),z)

  D.x.operator+(operator*(x,y))

  【参考答案】 A

  32.对于语句cout<

  A.*********1*2 B.********12 C.*******1*2 D.12********

  【参考答案】 A

  33.有如下程序

  #include

  int func(int a,int b)

  { return(a+b);}

  void main()

  { int x=2,y=5,z=8,r;

  r=func(func(x,y),z);

  cout<

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

  A.12 B.13 C.14 D.15

  【参考答案】 D

  34.下列描述中,抽象类的特性是( )

  A.可以说明虚函数

  B.可以定义友元函数

  C.可以进行构造函数重载

  D.不能说明其对象

  【参考答案】 D

  35.下列程序的运行结果是( )

  #include

  void fun(int *a,int *b)

  { int *k;

  k=a;a=b;b=k; }

  void main()

  { int a=3,b=6,*x=&a,*y=&b;

  fun(x,y);

  cout<

  A.6 3 B.3 6 C.编译出错 D.0 0

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

  二、填空题

  1.在面向对象方法中,类之间共享属性和操作的机制称为【1】。

  【参考答案】

  【1】继承

  2.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【2】的联系。

  【参考答案】

  【2】一对多(或1:N)

  3.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【3】的设计方法。

  【参考答案】

  【3】数据结构

  4.软件设计模块化的目的是【4】。

  【参考答案】

  【4】降低复杂性

  5.在树结构中,树根结点没有【5】。

  【参考答案】

  【5】前件

  6.C++中封装性、继承性和【6】是面向对象思想的主要特征。

  【参考答案】

  【6】 多态性

  7.下列for语句的循环次数为【7】。

  for(int a=0,b=1;b&&a<5;a++);

  【参考答案】

  【7】5

  8.C++程序是从【8】函数开始执行的。

  【参考答案】

  【8】main

  9.派生类构造函数的执行顺序是先执行【9】的构造函数,然后执行成员对象的构造函数,最后执行【10】的构造函数。

  【参考答案】

  【9】基类 【10】派生类

  10.C++语言程序的注释可以出现在程序中的任何地方,一个注释以【11】作为开始和结束的标记。

  【参考答案】

  【11】/**/

  11.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。

  st=(char*)【12】;

  【参考答案】

  【12】malloc(11)或malloc(sizeof(char)*11)

  12.下列程序在构造函数和析构函数中申请和释放类的数据成员int *a,申请时使用形参b初始化a,请填空。

  class A

  { public:

  A(int b);

  ~A();

  private:

  int *a; };

  A::(int b)

  { 【13】; }

  A::~A()

  { 【14】; }

  【参考答案】

  【13】a=new int(b) 【14】delete a

  13.将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为【15】。

  【参考答案】

  【15】x.operator+(operator *(y,z))
  .
               www.59wj.com

  上机部分

  一、改错题

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

  Previous=9,Next=11

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

  #include

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

  intmain()

  { intx=10,y,z;

  prevnext(x,y,z);

  cout<<"Previous="<

  .
               www.59wj.com 如果觉得《2017年全国计算机等级考试二级C++模拟试题(16)》二级C++模拟试题,jsj不错,可以推荐给好友哦。
本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - 二级C++模拟试题,jsj,
在百度中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(16)
在谷歌中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(16)
在soso中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(16)
在搜狗中搜索相关文章:2017年全国计算机等级考试二级C++模拟试题(16)
相关分类导航|
热门推荐|