计算机二级C++笔试真题无答案.docx

上传人:b****5 文档编号:4842920 上传时间:2022-12-10 格式:DOCX 页数:13 大小:20.25KB
下载 相关 举报
计算机二级C++笔试真题无答案.docx_第1页
第1页 / 共13页
计算机二级C++笔试真题无答案.docx_第2页
第2页 / 共13页
计算机二级C++笔试真题无答案.docx_第3页
第3页 / 共13页
计算机二级C++笔试真题无答案.docx_第4页
第4页 / 共13页
计算机二级C++笔试真题无答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机二级C++笔试真题无答案.docx

《计算机二级C++笔试真题无答案.docx》由会员分享,可在线阅读,更多相关《计算机二级C++笔试真题无答案.docx(13页珍藏版)》请在冰豆网上搜索。

计算机二级C++笔试真题无答案.docx

计算机二级C++笔试真题无答案

计算机二级C++笔试

(总分83,考试时间90分钟)

一、选择题

1.不能重载的运算符是

  A)new  B)sizeof  C).*  D)++

2.设a=1;b=2;,则(a++)+b和a+++b这两个表达式的值分别为(  )。

  A.3,3  B.3,4  C.4,3  D.4,4

3.设有以下说明和定义:

  #include<iostream.h>

  Voidmain()

  typedefunion

  

  longi;intk[5];charc;

  

  DATE;

  structdate

  intcat;DATEcow;doubledog;too;

  DATEmax;

  cout<<(sizeof(structdate)+sizeof(max))<<end1;

  A.26            B.52

  C.18                  D.8

4.下列关于多态性的描述,错误的是(  )。

  A)C++语言的多态性分为编译时的多态性和运行时的多态性

  B)编译时的多态性可通过函数重载实现

  C)运行时的多态性可通过模板和虚函数实现

  D)实现运行时多态性的机制称为动态绑定

5.t为int类型,进入下面的循环之前,t的值为0。

  while(t=1)...

  则以下叙述中,正确的是(  )。

  A)循环控制表达式的值为0  B)循环控制表达式的值为1

  C)循环控制表达式不合法  D)以上说法都不对

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

  A.可以说明虚函数  B.可以进行构造函数重载

  C.可以定义友元函数  D.不能说明其对象

7.有如下程序:

  #include<lostreanl>

  usingnamespacestd;

  elassMyClass

  public:

  MyClass()++count;

  ~MyClass()--count;

  staticintgetCount( )returncount;

  private:

  staticintcount;

  ;

  intMyClass:

:

count=0;

  intmain()

  MyClassobj;

  cout<<obj.getCount();

  MyClass*ptr=newMyClass;

  cout<<MyClass:

:

getCount();

  deleteptr;

  cout<<MyCiass:

:

getCount();

  return0;

  

  程序的输出结果是

  A)121  B)232  C)221 D)122

8.在下面的运算符重载函数的原型中,错误的是(  )。

  A)Volumeoperator-(double,double);

  B)doubleVolume:

operator-(double);

  C)VolumeVolume:

operator-(Volume);

  D)Volumeoperator-(Volume);

9.下列有关继承和派生的叙述中,正确的是

  A)派生类不能访问基类的保护成员

  B)作为虚基类的类不能被实例化

  C)派生类应当向基类的构造函数传递参数

  D)虚函数必须在派生类中重新实现

10.下列关于getline()函数的描述,不正确的是______。

  A)getline()函数是用来从输入流中读取字符串的

  B)getline()函数读取字符串的长度是受到限制的

  C)getline()函数读取字符串时,遇到终止符时就停止

  D)getline()函数中所使用的终止符只能是换行符

11.有如下程序:

  #include<iostream>

  usingnamespacestd;

  classMusic

  

  public:

  voidsetTitle(char*str)strcpy(title,str);

  protected:

  chartype[10];

  private:

  chartitle[20];

  ;

  classJazz:

publicMusic

  

  public:

  voidset(char*str)

  

  strcpy(type,"Jazz");//①

  strcpy(title,str); //②

  

  ;

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

  A.程序编译正确  B.程序编译时语句①出错

  C.程序编译时语句②出错  D.程序编译时语句①和②都出错

12.软件工程的出现是由于

  A)程序设计方法学的影响  B)软件产业化的需要

  C)软件危机的出现  D)计算机的发展,

13.假定a为一个整型数组名,则元素a[4]的字节地址为

  A)a+4  B)a+8  C)a+16  D)a+32

14.如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为

  A)x.operator++(0).operator*(y);  B)operator*(x.operator++(0),y);

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

15.复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。

  A)详细设计  B)系统设计

  C)正式  D)非正式

16.继承机制的作用是

  A)信息隐藏  B)数据封装  C)定义新类  D)数据抽象

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

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

18.在下面的引用定义中,正确的是______。

  A)intx,&y;

   y=x;

  B)intx,&y=x;

  C)int&y=x,x;

  D)floatz;

   intx,y=&z;

19.下列关于new运算符的描述中错误的是

  A)使用运算符new创建对象数组时必须定义初始值

  B)使用运算符new创建对象时,会调用类的构造函数

  C)运算符new可以用来动态创建对象和对象数组

  D)使用new运算符创建的对象可以使用运算符delete删除

20.已知一个类Sample,(  )是定义指向类Sample成员函数的指针,假设类有三个公有成员:

voidf1(int),voidf2(int)和inta。

  A.Sample*p

  B.IntSamale:

:

*pc=&Sample:

:

a

  C.Void(Sample:

:

*Pa)()

  D.Sample*P[10]

21.下列不属于软件工程3个要素的是(  )。

  A)工具  B)过程

  C)方法  D)环境

22.有以下程序段:

  intk=0;

  while(k=1)k++;

  while循环执行的次数是(  )。

  A.无限次  B.有语法错,不能执行

  C.一次也不执行  D.执行1次

23.下面关于C++的特点中描述不正确的是(  )。

  A)C++是C语言的超集,大多数C程序在不用修改的情况下就可以在C++的集成环境中运行或调试

  B)C++是面向对象的程序设计语言

  C)C++中没有结构化编程的语句

  D)C++的执行效率很高

24.下列叙述中错误的是(  )。

  A.在数据库设计的过程中,需求分析阶段必须考虑具体的计算机系统

  B.在数据库设计的过程中,概念结构设计与具体的数据库管理系统有关

  C.在数据库设计的过程中,逻辑结构设计与具体的数据库管理系统有关

  D.在数据库设计的过程中,物理结构设计依赖于具体的计算机系统

25.对于拷贝初始化构造函数,正确的描述是(  )。

A.在C++语言中,如果不自定义类的拷贝初始化构造函数,则每个类都有默认的拷贝初始化构造函数

B.必须为每个类定义拷贝初始化构造函数

C.如果要使用拷贝初始化构造函数,则必须在类中先定义

D.当定义了类的构造函数时,如果要使用拷贝初始化构造函数,则必须定义拷贝初始化构造函数

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

  #include<iostream.h>

  classA

  

  inta;

  public:

  A()a=0;

  A()intaa

  a=aa;

  cout<<a++;

  

  ;

  voidmain()

  

  Ax,y

(2),z(3);

  cout<<endl;

  

  A.00  B.23  C.34D.25

27.下列对模板的声明中正确的是(  )。

  A)template<T>  B)template<classT1,T2>

  C)template<classT1,classT2>  D)template<classT1;classT2>

28.若有以下定义和语句:

  ints[4][5],(*p)[5];

  p=s;

  则指针对s数组中第三个元素的正确引用形式是(  )。

  A)p[0][3]  B)p[1][2]

  C)p[0][2]  D)p[1][3]

29.在一个容量为10的循环队列中,若头指针为6,尾指针为1,则此时该循环队列中共有的元素个数为(  )。

  A)4  B)5  C)6  D)7

30.若变量已正确定义并赋值,以下符合C++语言语法的表达式是

  A)a:

=b+1  B)a=b=c+2

  C)int18.5%3  D)a=a+7=c+b

31.如果类A被说明成类B的友元,则

  A)类A的成员即类B的成员  B)类B的成员即类A的成员

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

32.若有如下程序:

  #include<iostream>

   usingnamespacesstd;

   ints=O;

   classsample

  

     staticintn;

   public:

     sample(inti)

    

      n=i;

    

     staticvoidadd()

    

      s+=n;

    

  ;

   intsample:

:

s=O;

   intmain()

  

     samplea

(2),b(5);

     sample:

:

add();

     cout<<s<<end1;

    return0;

    

程序运行后的输出结果是

   A)2          B)5

   C)7          D)3

33.有以下程序:

#include<iostream>

usingnamespacestd;

classsample

private:

 intx;

 staticinty;

public:

 sample(inta);

 staticvoidprint(samples);

;

sample:

:

sample(inta)

  x=a;

  y+=x;

voidsample:

:

print(samples)

 cout<<"x="<<s.x<<",y="<<y<<end1;

intsample:

:

y=0;

intmain()

 samples1(10);

 samples2(20);

 sample:

:

print(s2);

 return0;

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

  A.x=10,y=20  B.x=20,y=30  C.x=30,y=20  D.x=30,y=30

34.下列叙述中正确的是

  A)数据的逻辑结构与存储结构必定一一对应

  B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构

  C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构

  D)以上三种说法都不对

35.分析下面程序,该程序的运行结果是(  )。

  #include<iostream.h>

  classcmm

  

  public:

  staticintm;

  cmm()

  

  m++;

  

  cmm(intn)

  

  m=n;

  

  staticvoidtestm()

  

  m++;

  

  ;

  intcmm:

:

m=0;

  voidmain()

  

  cmmA;

  cmmB(3);

  A.testm();

  cram:

:

testm0;

  cout<<"m="<<B.m<<endl;

  

  A.m=3                B.m=4

  C.m=5                D.m=6

二、填空题

36.数据库保护分为安全性控制、______、并发性控制和数据的恢复。

37.类的具体表现是通过______定义来操作的。

38.具有相同函数名不同参数表的函数称为 【6】 。

39.数据结构分为逻辑结构与存储结构,循环队列属于 【1】 。

40.源程序文档化要求程序应加注释。

注释一般分为序言性注释和______。

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

    #include<iostream.h>

    classobject

     private:

      intval;

     public:

      object();

      object(inti);

      ~object();;

    object:

:

object()

     val=0;

      cout<<"Defaultconstructorforobject"<<endl; 

    object:

:

object(inti)

     val=i;

      cout<<"Constructorforobject"<<val<<endl;

    object:

:

~object()

     cout<<"Destructorforobject"<<val<<endl;

    classcontainer private:

          objectone;

          objecttwo;

          intdata;

         public:

          container();

          container(inti,intj,intk);

          ~container();;

    container:

:

container()

     data=0;

     cout<<"Defaultconstructorforcontainer"<<endl;

    container:

:

container(inti,intj,intk):

two(i),one(j)

     data=k;

     cout<<"Constructorforcontainer"<<endl;

    container:

:

~container()

     cout<<"Destructorforcontainer"<<endl;

    voidmain()

     containeranObj(5,6,10);

42.执行下列程序后的输出结果是______。

  #include<iostream>

  usingnamespacestd;

  intmain()

  

  intx=3;

  int&y=x;

  y++;

  cout<<x<<end1;

  return0;

  

43.派生类构造函数的执行顺序是先执行 12 的构造函数,然后执行成员对象的构造函数,最后执行 13 的构造函数。

44.在概念设计阶段可用E-R图,其中“矩形框’表示实体, [5] 表示实体间联系。

45.在计算机软件系统的体系结构中,数据库管理系统位于用户和 【1】 之间。

46.虚函数必须是类的______。

47.指针数组是由 【7】 构成的数组。

48.下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素栈初始为空,top值为0,栈项元素在stack[top-]中,在下面横线处填上适当语句,完成栈类模板的定义。

  template<classT>

  classTstack

  enumsize=1000;

  Tstack[size];

  inttop;

  public:

  Tstack():

top(0)

  voidpush(constT&i)

  if(top<size)

  stack[top++]=i;

  

  Tpop()

  if(top==0)exit

(1);//栈空时终止运行

  return______;

  

  ;

49.通过使用new和delete两个运算符进行的分配为______存储分配。

50.数据的逻辑结构有线性结构和【1】两大类。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1