试题

计算机二级C语言程序设计考前测试题及答案

时间:2025-10-24 08:40:15 小英 试题 我要投稿

计算机二级C语言程序设计考前测试题及答案

  为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,接下来应届毕业生小编为大家精心准备了计算机二级C语言程序设计考前测试题及答案,希望能够给大家带来帮助!

计算机二级C语言程序设计考前测试题及答案

  计算机二级C语言程序设计考前测试题及答案 1

  1[单选题] 设有定义:int x,Y,z;,且各变量已赋正整数值,则以下能正确表示代数式‘

  的C语言表达式是( )。

  A.…1.…0/x。/y,/zB.1/x * Y * zC.1/(x * Y * z)D.1/x/y/(double)z

  参考答案:A

  参考解析:代数表达式1/(X·Y·z)是小数,转为cf语言的表达式必须是小数。A选项由于l.0为浮点数,计算结1果自动转换为浮点数,故A选项正确。选项B,C,D的表达式均为0。答案为A选项。

  2[单选题] 以下叙述中正确的是( )

  A.用户自己定义的函数只能调用库函数

  B.实用的C语言源程序总是由一个或多个函数组成

  C.不同函数的形式参数不能使用相同名称的标识符

  D.在C语言的函数内部,可以定义局部嵌套函数

  参考答案:B

  参考解析:A选项中,”用户自己定义的函数只能调用库函数”描述是不正确的,也可以调用自定义函数;C选项中,对于不同函数的形式参数可以使用相同名称的标识符;D选项中,关于函数的定义不可以嵌套,但函数的调用可以嵌套。因此B选项正确。

  3[单选题] 以下关于C语言数据类型使用的叙述中错误的是( )。

  A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型

  B.若要保存带有多位小数的数据,可使用双精度类型

  C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型

  D.整数类型表示的自然数是准确无误差的

  参考答案:C

  参考解析:C语言中没有逻辑类型,所以c错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。

  4[单选题] 下面选项中关于编译预处理的'叙述正确的是

  A.预处理命令行必须使用分号结尾

  B.凡是以#号开头的行,都被称为编译预处理命令行

  C.预处理命令行不能出现在程序的最后一行

  D.预处理命令行的作用域是到最近的函数结束处

  参考答案:B

  参考解析:本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A选项错误,预处理命令行可以出现在程序的最后一行,预处理命令行作用域是整个文件。

  5[单选题] 有以下程序

  程序的输出结果是

  A.0B.1C.9D.10

  参考答案:B

  参考解析:本题考查宏定义,宏定义只是做个简单的替换。执行SQR(k+m)/SQR(k+m)=k+m*k+m/k+m}k+m=15/2,a/=SQR(k+m)/SQR(k+1TI)的结果为1,选项B正确。

  6[单选题] 设--X树共有150个结点,其中度为l的结点有l0个,则该---X树中的叶子结点数为( )。

  A.71B.70C.69D.不可能有这样的二叉树

  参考答案:D

  参考解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点总是比度为2的结点多一个。如果有一棵二叉树,结点总数为l50,假设度为0的结点个数为n,则有n+10+n一1=150,n=70.5,由于结点个数必须是整数,所以不可能有题目中这样的二叉树。故选择D选项。

  7[单选题] 有以下程序:

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

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

  参考答案:B

  参考解析:在f(int+P,int 4 q)函数中,执行P=P+1是将P所对应的地址加1,而0 q=+q+1是将q所指向的n的地址所对应的值加1,所以m的得知所对应的值没有变,而n的值则为3了。因此B选项正确。

  8[单选题] 以下选项中,能用作用户标识符的是( )。

  A.-0-B.8-;8C.voidD.unsigned

  参考答案:A

  参考解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。8中以数字8开头,所以错误。c与D中用的是关键字void与unsigned,所以错误。

  9[单选题] 以下叙述正确的是( )。

  A.表达式sizeof(FILE*)==sizeof(int*)的值为真

  B.文件指针的值是一个整数,它的值一定小于文件字节数

  C.文件指针的值是所指文件的当前读取位置

  D.使用fscanf函数可以向任意类型的文件中写入任意数量的字符

  参考答案:A

  参考解析:

  slzeof(FILE})=4,因为file·为指针,指针的大小4,sizeof(int·)=4,理由同前面。文件指针的值是地址,是一个16进制的数,它的值不一定小于文件字节数,因此选项8错误。文件指针是所指文件的当前读取位置,而不是文件指针的值因此选项C错误。mgscanf(FILE-stream,constchar}format,[argument…]fmanf函数可以向任意类型的文件,写入任意数量不能超过系统的缓冲区,写文件先写入缓冲区,最后一起写入文件,因此选项D错误。答案为A选项。

  10[简答题]下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。

  例如,若输入“Ab,cD”,则输出“AB,CD”。

  请改正程序中的错误,使它能得出正确的结果。

  注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!

  参考解析:

  (1)if((tt[i]>=’a’)&&(tt[i]<=‘z’))

  (2)tt[i]一=32;

  【考点分析】

  本题考查:if语句条件表达式;小写字母转大写字母的方法。

  【解题思路】

  (1)分析本题可知,要判断字符是否为小写字母,即判断其是否在a—z之间,所以这里需要进行连续的比较,用&&。(2)从ASCIl码表中可以看出,小写字母的ASCIl码值比对应大写字母的ASCIl值大32。将字符串中的小写字母改为大写字母的方法是:从字符串第一个字符开始,根据ASCIl码值判断该字母是不是小写字母,若是,则ASCIl码值减32即可。

  计算机二级C语言程序设计考前测试题及答案 2

  1.下列关于栈叙述正确的是( )。

  A.栈顶元素最先能被删除

  B.栈顶元素最后才能被删除

  C.栈底元素永远不能被删除

  D.以上三种说法都不对

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

  A.有一个以上根结点的数据结构不一定是非线性结构

  B.只有一个根结点的数据结构不一定是线性结构

  C.循环链表是非线性结构

  D.双向链表是非线性结构

  3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。

  A.3

  B.4

  C.6

  D.7

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

  A.软件集成测试计划

  B.软件详细设计说明书

  C.用户手册

  D.软件需求规格说明书

  5.结构化程序所要求的基本结构不包括( )。

  A.顺序结构

  B.GOT0跳转

  C.选择(分支)结构

  D.重复(循环)结构

  6.下面描述中错误的是( )。

  A.系统总体结构图支持软件系统的详细设计

  B.软件设计是将软件需求转换为软件表示的过程

  C.数据结构与数据库设计是软件设计的任务之一

  D.PAD图是软件详细设计的表示工具

  7.负责数据库中查询操作的数据库语言是( )。

  A.数据定义语言

  B.数据管理语言

  C.数据操纵语言

  D.数据控制语言

  8.一个教师可讲多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是( )。

  A.1:1联系

  B.1:m联系

  C.m:1联系

  D.m:n联系

  9.有3个关系R、S和T如下表所示:

  则由关系R和S得到关系T的操作是( )。

  A.自然连接

  B.交

  C.除

  D.并

  10.定义无符号整数为Uint,下面可以作为类Uint实例化值的是( )。

  A.-369

  B.369

  C.0.369

  D.整数集合{1,2,3,4,5}

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

  A.内联函数

  B.重载函数

  C.递归函数

  D.函数模板

  12.若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为( )。

  A.a

  B.AA.a

  C.a{}

  D.AA:a{}

  13.当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是( )。

  A.任何

  B.公有或保护

  C.保护或私有

  D.私有

  14.若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

  A.Data+(Data);

  B.Dataoperator+(Data);

  C.Data+operator(Data);

  D.operator+(Data.Data);

  15.下列关于函数模板的描述中,正确的是( )。

  A.函数模板是一个实例函数

  B.使用函数模板定义的函数没有返回类型

  C.函数模板的类型参数与函数的参数相同

  D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数

  16.C++系统预定义了3个用于标准数据流的对象,下列选项中不属于此类对象的是( )。

  A.cout

  B.cin

  C.cerr

  D.cset

  17.Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是( )。

  A.cpp

  B.exe

  C.obj

  D.lik

  18.字符串“a+b=12 ”的长度为( )。

  A.12

  B.10

  C.8

  D.6

  19.有如下程序:

  #include

  usingnamespacestd;

  intmain( ){

  intf,f1=0,f2=1;

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

  f=f1+f2:

  f1=f2;f2=f;

  }

  cout

  }

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

  A.2

  B.3

  C.5

  D.8

  20.有如下程序:

  #include

  usingnamespacestd;

  intmain( ){

  inta[6]={23,15,64,33,40,58};

  ints1,s2;

  s1=s2=a[0];

  for(int*p=a+1;pif(s1>*p)s1=*p;

  if(s2<*p)s2=*p;

  }

  cout

  }

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

  A.23

  B.58

  C.64

  D.79

  21.有如下程序:

  #included

  usingnamespacestd;

  voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){

  intx=10,y=26;

  f1(X,y);

  f2(x,y);

  cout

  }

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

  A.10

  B.16

  C.26

  D.36

  22.有如下程序:

  #include

  usingnamespacestd;

  classXA{

  inta;

  public:

  staticintb;

  XA(intaa):a(aa){b++;}

  ~XA( ){}

  intget( ){returna;}

  };

  intXA:b=0

  intmain( ){

  XAd1(1),d2(3);

  cout

  }

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

  A.5

  B.6

  C.7

  D.8

  23.有如下程序:

  #include

  usingnamespacestd:

  classPoint{

  intx,y;

  public:

  Point(intx1=0,inty1=0)):X(X1),y(y1){}

  intget( ){returnx+y;)

  };

  classCircle{

  Pointcenter}

  intradius;

  public:

  Circle(intCX,intcy,intr):center(cx,cy),radius(r)

  {}

  intget( ){returncenter.get( )+radius;}

  };

  intmain( ){

  Circlec(3,4,5);

  cout

  }

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

  A.5

  B.7

  C.9

  D.12

  24.若是对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是( )。

  A.operatorlong( )const;

  B.operatorlong(BigNumber);

  C.longoperatorlong( )const;

  D.longoperatorlong(BigNumber);

  25.有如下函数模板定义:

  template

  T1FUN(T2n){returnn*5,0;}

  若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。

  A.FUN(9)

  B.FUN<9>

  26.下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他3条语句不同,该语句是( )。

  A.cout

  A.析构函数可以重载

  B.析构函数由系统自动调用

  C.每个对象的析构函数只被调用一次

  D.每个类都有析构函数

  28.下列关于构造函数的描述中,错误的是( )。

  A.构造函数名与类名相同

  B.构造函数可以有返回值

  C.构造函数可以重载

  D.每个类都有构造函数

  29.若PAT是一个类,则程序运行时,语句“PAT(*ad){3};”调用PAT的构造函数的次数是( )。

  A.0

  B.1

  C.2

  D.3

  30.下列描述中,错误的是( )。

  A.公有继承时基类中的公有成员在派生类中仍是公有成员

  B.公有继承时基类中的保护成员在派生类中仍是保护成员

  C.保护继承时基类中的公有成员在派生类中仍是公有成员

  D.保护继承时基类中的保护成员在派生类中仍是保护成员

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

  A.无需任何条件

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

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

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

  32.下列关于派生类和基类的描述中,正确的是( )。

  A.派生类成员函数只能访问基类的公有成员

  B.派生类成员函数只能访问基类的公有和保护成员

  C.派生类成员函数可以访问基类的所有成员

  D.派生类对基类的默认继承方式是公有继承

  33.有如下类模板定义:

  template

  classBigNumber{

  longn;

  public;

  BigNumber(Ti):n(i){}

  BigNumberoperator+(BigNumberb){

  returnBigNumber(n+b.n):

  }

  };

  已知b1、b2是BigNumber的两个对象,则下列表达式中错误的是( )。

  A.b1+b2

  B.b1+3

  C.3+b1

  D.3+3

  34.下列关于文件流的描述中,正确的是( )。

  A.文件流只能完成针对磁盘文件的输入、输出

  B.建立一个文件流对象时,必须同时打开一个文件

  C.若输入流要打开的文件不存在。将建立一个新文件

  D.若输出流要打开的文件不存在,将建立一个新文件

  35.有如下程序:

  #include

  usingnamespacestd;

  classPair{

  intm,n;

  public;

  Pair(intj,intk):m(j),n(k){}

  intget( ){returnIn;}

  intget( )const{returnm+n;}

  };

  intmain( ){

  Paira(3,5);

  constPairb(3,5);

  cout

  }

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

  A.33

  B.38

  C.83

  D.88

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

  A.全局变量的作用域一定比局部变量的作用域范围大

  B.静态类别变量的生存期贯穿于整个程序的运行期间

  C.函数的形参都属于全局变量

  D.未在定义语句中赋初值的aut0变量和static变量的初值都是随机值

  37.假定MyClass为一个类,则执行MyClassa,b(2),*p;语句时,自动调用该类构造函数( )次。

  A.2

  B.3

  C.4

  D.5

  38.能正确表示逻辑关系”a≥10或a≤0”的C++语言表达式是( )。

  A.a>=10ora<=0

  B.a)一01a(一10

  C.a>=10&&a<=0

  D.a>=10||a(=0

  39.若执行下面的程序时,从键盘上输入5和2,则输出结果是( )。

  #include(iostream.h)

  voidmain( )

  (inta,b,k;

  cin>>a>>b;

  k=a:

  if(ak=a%b;

  else

  k=b%a:

  cout((k

  B.3

  C.2

  D.0

  40.假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。

  A.void~MyClass( );

  B.~MyC|ass(intn);

  C.MyClass( );

  D.~MyClass( );

  计算机二级C语言程序设计考前测试题及答案 3

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

  A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n

  B.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)

  C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)

  D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)

  2.算法的时间复杂度是指( )。

  A.算法的执行时间

  B.算法所处理的数据量

  C.算法程序中的语句或指令条数

  D.算法在执行过程中所需要的基本运算次数

  3.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。

  A.编辑软件

  B.操作系统

  C.教务管理系统

  D.浏览器

  4.软件(程序)调试的任务是( )。

  A.诊断和改正程序中的错误

  B.尽可能多地发现程序中的错误

  C.发现并改正程序中的所有错误

  D.确定程序中错误的性质

  5.数据流程图(DFD)是( )。

  A.软件概要设计的工具

  B.软件详细设计的工具

  C.结构化方法的需求分析工具

  D.面向对象方法的需求分析工具

  6.软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于( )。

  A.定义阶段

  B.开发阶段

  C.维护阶段

  D.上述3个阶段

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

  A.数据定义语言

  B.数据管理语言

  C.数据操纵语言

  D.数据控制语言

  8.在学生管理的关系数据库中,存取一个学生信息的数据单位是( )。

  A.文件

  B.数据库

  C.字段

  D.记录

  9.数据库设计中,用E—R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的( )。

  A.需求分析阶段

  B.逻辑设计阶段

  C.概念设计阶段

  D.物理设计阶段

  10.有两个关系R和T如下所示:

  则由关系R得到关系T的操作是( )。

  A.选择

  B.投影

  C.交

  D.并

  11.两个或两个以上模块之间关联的紧密程度称为( )。

  A.耦合度

  B.内聚度

  C.复杂度

  D.数据传输特性

  12.下列描述中正确的是( )。

  A.软件工程只是解决软件项目的管理问题

  B.软件工程主要解决软件产品的生产率问题

  C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则

  D.软件丁二程只是解决软件开发中的技术问题

  13.关系模型允许定义3类数据约束,下列不属于数据约束的是( )。

  A.实体完整性约束

  B.参照完整性约束

  C.属性完整性约束

  D.用户自定义完整性约束

  14.下列描述中正确的是( )。

  A.程序就是软件

  B.软件开发不受计算机系统的限制

  C.软件既是逻辑实体,又是物理实体

  D.软件是程序、数据与相关文档的集合

  15.用树型结构表示实体之间联系的模型是( )。

  A.关系模型

  B.网状模型

  C.层次模型

  D.以上三个都是

  16.下列关于函数的描述中,错误的是( )。

  A.函数可以没有返回值

  B.函数可以没有参数

  C.函数可以是一个类的成员

  D.函数不能被定义为模板

  17.若MyClass是一个类名,其有如下语句序列:

  MyClassc1,*c2;

  MyClass*c3=newMyClass;

  MyClass&c4=c1;

  上面的语句序列所定义的类对象的个数是( )。

  A.1

  B.2

  C.3

  D.4

  18.下列关于继承方式的描述中,错误的是( )。

  A.如果不显式地指定继承方式,默认的继承方式是私有(private)

  B.采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员

  C.采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员

  D.采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员

  19.将前缀运算符“一一”重载为非成员函数,下列原型中,能正确用于类中说明的'是( )。

  A.Deer&operator一一{int};

  B.Decroperator一一(Decr&,int);

  C.friendDeer&cperator一一(Deer&);

  D.friendDeeroperacor一一(Deer&,int);

  20.若MyTemp是一个具有虚拟类型参数的类模板,且有如下语句序列:

  MyTempp2;

  MyTempp3[2];

  编译系统在处理上面的话句序列时,所生成的模板MyTemp的实例的个数是( )。

  A.1

  B.2

  C.3

  D.4

  21.在C++中,cin是一个( )。

  A.类

  B.对象

  C.模板

  D.函数

  22.在下列字符中,不允许作为C++标识符的是( )。

  A.b

  B.B

  C._

  D.2

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

  A.false是一个逻辑型常量

  B.“b”’是一个字符型常量

  C.365是一个int常量

  D.3.1415926是一个double常量

  24.若x和y是程序中的两个整型变量,则下列if语句中正确的是( )。

  A.if(x==O)y=1;elsey=2;

  B.if(x==0)theny=1elsey=2

  C.if(x==O)y=1elsey=2;

  D.ifx==0y=1elsey=2;

  25.要定义整型数组x,使之包括初值为0的3个元素,下列语句中错误的是( )。

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

  B.intx[]={0};

  C.staticintx[3]={0);

  D.intx[]={0,0,0};

  26.关于函数中的<返回类型>,下列表述中错误的是( )。

  A.<返回类型>中有可能包含关键字int

  B.<返回类型>中有可能包含自定义标识符

  C.<返回类型>中有可能包含字符*

  D.<返回类型>中可能包含[]

  27.要定义一个引用变量P,使之引用类MyClass的一个对象,正确的定义语句是( )。

  A.MyClassp=MyClass;

  B.MyClassp=newMyClass;

  C.MyClass&p=newMyClass;

  D.MyClassa,&p=a;

  28.有如下两个类定义:

  classXX{

  private:

  doublexl;

  protected:

  doublex2;

  public:

  doublex3;

  };

  claseYY:protectedXX{

  private:

  doubleyl;

  protected:

  doubley2;

  public:

  doubley3;

  };

  在类YY中保护成员变量的个数是( )。

  A.1

  B.2

  C.3

  D.4

  29.下列关于运算符重载的描述中,错误的是( )。

  A.可以通过运算符重载在C++中创建新的运算符

  B.赋值运算符只能重载为成员函数

  C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象

  D.重载类型转换运算符时不需要声明返回类型

  30.下列关于类模板的描述中,错误的是( )。

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

  B.可以为类模板参数设置默认值

  C.类模板描述了一组类

  D.类模板中只允许有一个类型参数

  31.下列控制格式输入输出的操作符中,能够设置浮点数精度的是( )。

  A.setprecision

  B.setw

  C.setfill

  D.showpoint

  32.下列程序段中包含4个函数,其中具有隐含this指针的是( )。

  intfunl( );

  classTest{

  public:

  intfun2( );

  friendintfun3( );

  staticintfun4( );

  };

  A.funl

  B.fun2

  C.fun3

  D.fun4

  33.有如下程序:

  #include

  usingnamespacestd;

  classTest(

  public:

  Test( ){}

  Test(constTest8Lt){cout<<1;}

  };

  Testfun(Test&u){Testt=U;returnt;}

  intmain( ){Testx,y;x=fun(y);return0;}

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

  A.无输出

  B.1

  C.1l

  D.111

  34.有如下程序:

  #include

  usingnamespacestd;

  classA{

  public:

  A(inti=O):rl(i){}

  voidprint( ){cout<<’E’

  voidprint(intx){cout<<’P’<-’;}

  private:

  intr1;

  };

  intmain( ){

  Aal:

  constAa2(4);

  a1.print(2);

  a2.print( );

  return0;

  }

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

  A.P8一E4

  B.P8一C16一

  C.P0一E4一

  D.P0一C16—

  35.下列代码段声明了3个类:

  classPerson{);

  classStudent:publicPerson{};

  classUndergraduate:Student{);

  下列关于这些类之间关系的描述中,错误的是( )。

  A.类Person是类Undergraduate的基类

  B.类Undergraduate从类Student公有继承

  C.类Student是类Person的派生类

  D.类Undergraduate是类Person的派生类

  36.有如下程序:

  #include

  Usingnamespacestd;

  classBase{

  public:

  Base(intx=O):valB(x){cout<~Base( ){cout

  intvalB:

  };

  classDerived:publicBase{

  public:

  Derived(intX=0,inty=0):Base(x),valD(y)(cout<~Derived( ){cout

  intvalD;

  };

  intmain( ){

  Derivedobj12(2,3);

  return0;

  }

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

  A.2332

  B.2323

  C.3232

  D.3223

  37.下面是类Shape的定义:

  classShape{

  public:

  virtualvoidDraw( )=0;

  }

  下列关于Shape类的描述中,正确的是( )。

  A.类Shape是虚基类

  B.类Shape是抽象类

  C.类Shape中的Draw函数声明有误

  D.语句“ShapeS;”能够建立Shape的一个对象S

  38.将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。

  A.MyClockoperator+(MyClock,long);

  B.MyClockoperator+(MyClock,MyCloek);

  C.MyCloekoperator+(long,long);

  D.MyClockoperator+(long,MyCloek):

  39.打开文件时可单独或组合使用下列文件打开模式:

  ①ios_base:aop

  ②ios_base:binary

  ③ios_base:

  ④ios_base:out

  若要以二进制读方式打开一个文件,需使用的文件打开模式为( )。

  A.①③

  B.①④

  C.②③

  D.②④

  40.有如下程序:

  #include

  usingnamespacestd;

  classB{

  public:

  B(intxx):x(xx){++count;x+=10;}

  virtualvoidshow( )const

  {cout

  staticintcount;

  private:

  intx;

  };

  classD:publicB{

  public:

  D(intxx,intyy):B(XX),y(yy){++count;y+=

  100;)

  virtualvoidshow( )const

  {cout

  inty;

  };

  intB:count==0;

  intmain( ){

  B*ptr=newD(10,20);

  ptr->show( );

  ptr;

  return0;

  }

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

  A.1_120

  B.2_120

  C.1_20

  D.2_20

【计算机二级C语言程序设计考前测试题及答案】相关文章:

计算机二级C语言程序设计考前测试题附答案03-20

计算机二级C语言程序设计测试题及答案12-08

2017计算机二级C语言考前测试题与答案04-10

2017计算机二级C语言考前测试题与答案解析01-06

国家计算机二级《C语言》考前测试题及答案03-10

计算机二级C语言考前测试题03-02

计算机二级《C语言程序设计》测试题02-22

2017年计算机二级C语言考前测试题及答案12-26

2016年计算机二级《C语言》考前测试题及答案04-28