在线模考C++2013年9月全国计算机等级《二级C++》上机临考冲刺卷2
2013年9月全国计算机等级《二级C++》上机临考冲刺卷2
试题提供:考试吧     已经有 267人 做过此试卷      查看考后心得(2条)
试卷说明
卷面总分:100 合格分数线:60 最高分数:1225
参考人数:267 答题时间:120分钟
试题星级: 试卷来源:考试吧 试卷年份:2013
一、选择题(每小题1分,共40分)
1
有下列程序:
#include<stdi0.h>
intfun(intx,inyy)
{if(x==y)return(x);
elsereturn((x+y)/2);
}
voidmain(  )
{inta=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
程序运行后的输出结果是(  )。

 

A. 3B. 6C. 8D. 12
本题答案:
2

  已知字母A的ASCIl代码值为65,若变量kk为char型,下列不能正确判断出kk中的值为大写字母的表达式是(  )。

  A. kk>='A'&&kk<='Z'

  B. !(kk>='A'‖kk<='2')

  C. (kk+32)>='a'&&(kk+32)<='2'

  D. isalpha(kk)&&(kk<=91)

本题答案:
3
有如下程序:
#included<iostream>
usingnamespacestd;
classTestClass
{
private:
intx,Y;
public:
TestClass(inti,intj)
{
x=i:
y=j;
}
voidprint()
{
cout<<"printl"<<endl;
}
voidprint()const
{
cout<<"print2"<<endl;
}
};
intmain()
{
constTestClassa(1,2);
print(); 
return0; 
}
该程序运行后的输出结果是(  )。

 

A. printlB. print2C. printlprint2D.程序编译时出错
本题答案:
4

  有如下程序:

  #include

  usingnamespacestd;

  classBase

  {

  public:

  Base(){cout<<"BB";f();}

  voidf(){cout<<"BF";}

  };

  classDerived:publicBase

  {

  public:

  Derived(){cout<<"DD";}

  voidf(){eout<<"Df";}

  };

  intmain(){Derivedd;return0;}

  执行上面的程序将输出(  )。

  A. BBBfDD

  B. BBDfDDDf

  C. DD

  D. DDBBBf

本题答案:
5
在计算机中,算法是指(  )。

 

A. 查询方法B. 加工方法C. 解题方案的准确而完整的描述D. 排序方法
本题答案:
6
有如下程序:
#include<iostream>
usingnamespacestd;
intmain(  ){
intf,f1=0,f2=1;
for(inti=3;i<=6;i++){
f=f1+f2:
f1=f2;f2=f;
}
cout<<f<<endl;
return0;
}
运行时的输出结果是(  )。

 

A. 2B. 3C. 5D. 8
本题答案:
7
  对于模板定义关键字class和typename说法不正确的是(  )。

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

  B. class和typename都可互相替换

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

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

本题答案:
8

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

  #include"iostream.h"

  voidmain()

  {int*P,r;

  P=newint:

  *P=20:

  r=sizeof(*p);

  cout<

  deleteP;}

  A. 程序错误

  B. 内存为20地址的大小

  C. 20

  D. 4

本题答案:
9

  类MyClass的定义如下,若要对value赋值,则下面语句正确的是(  )。

  classMyClass

  {

  public:

  MyClass(  ){}

  MyClass(inti){value=newint(i);}

  int*value;

  };

  A. MyClassmy;my.value=10;

  B.MyClassmy;*my.value=10;

  C.MyClassmy;my.*value=10;

  D.MyClassmy(10);

本题答案:
10

  当变量C的值不为2、4、6时,值也为“真”的表达式是(  )。

  A.

  (c==2)‖(c==4)‖(c==6)

  B.

  (c>一2&&c<=6)‖(C!=3)‖(C!=5)

  C.

  (c>=2&&c<=6)&&!(c%2)

  D.

  (c>=2&&c<=6)&&(c%2!=1)

本题答案:
11
概要设计中要完成的事情是(  )。

 

A. 系统结构和数据结构的设计B. 系统结构和过程的设计C. 过程和接口的设计D. 数据结构和过程的设计
本题答案:
12
有下列程序:
#include<stdi0.h>
#definePT3.5;
#defineS(x)PT*x*x;
voidmain(  )
(inta=1.b=2;printf("%4.1f\n",S(a+b));}
程序运行后的输出结果是(  )。

 

A. 14.0B. 31.5C. 7.5D. 程序有错,无输出结果
本题答案:
13
有下列程序:
#include<stdi0.h>
voidmain(  )
{inta1,a2charc1,c2;
scanf("%d%c%d%C",&a1,&c1,&a2,&c2);
printf("%d%c%d%C",a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是12,a,34.

 

A. 

12a34b<CR>

B. 

 

 

C. 

12,a,34,b<CR>

D. 

 


 

本题答案:
14
下列虚基类的声明中正确的是(  )。

 

A. clasSvirtualB:publicAB. virtualclassB:publicAC. classB:publieAvirtualD. classB:virtualpublicA
本题答案:
15

  设有定义“chars[8];inti=0;”,下列不能将一行(不超过80个字符)带有空格的字符国正确读入的语句或语句组是(  )。

  A. gets(s);

  B. while((s[i++]=getchar(  ))!='\n');s[i]='\0';

  C. seanf("%S",s);

  D. do{scanf("%C",&s[i]);}while(s[i++]!='\n');s[i]='\0';

本题答案:
16
下面关于虚函数的描述中正确的是(  )。

 

A. 虚函数是一个静态成员函数B. 虚函数是一个非成员函数C. 虚函数可以在函数说明时定义,也可以在函数实现时定义D. 派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型
本题答案:
17

  下列错误的定义语句是(  )。

  A.

  intx[][3]={{0},{1},{1,2,3}};

  B.

  intx[4][3]={{1,2,3},{1,2,3),{1,2,3),{1,2,3}};

  C.

  intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

  D.

  intx[][3]={1,2,3,4};

本题答案:
18
数据库管理系统是(  )。

 

A. 操作系统的一部分B. 在操作系统支持下的系统软件C. 一种编译系统D. 一种操作系统
本题答案:
19
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是(  )。
Samplea[2],*p=newSample;

 

A. 0B. 1C. 2D. 3
本题答案:
20
以下关于友元函数的叙述不正确的是(  )。

 

A. 友元函数提供了类之间数据共享的一个途径B. 一个友元函数可以访问任何类的任何成员C. 友元函数破坏了数据的封装D. 友元函数增加了程序设计的灵活性
本题答案:
21
在软件开发中,需求分析阶段产生的主要文档是(  )。

 

A. 可行性分析报告B. 软件需求规格说明书C. 概要设计说明书D. 集成设计计划
本题答案:
22
在软件开发中,需求分析阶段产生的主要文档是(  )。

 

A. 软件集成测试计划B. 软件详细设计说明书C. 用户手册D. 软件需求规格说明书
本题答案:
23
生成派生类对象时,派生类构造函数调用基类构造函数的条件是(  )。

 

A. 无需任何条件B. 基类中显式定义了构造函数C. 派生类中显式定义了构造函数D. 派生类构造函数明确调用了基类构造函数
本题答案:
24

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

  A. 'C'

  B. "C"

  C. '\xCC'

  D. '\072'

本题答案:
25
有下列程序:
#include<stdi0.h>
voidmain(  )
{char*s={"ABC");
do
{printf("%d",*s%10);s++;
}while(*s);
}
注意:字母A的ASCIl码值为65。程序运行后的输出结果是(  )。

 

A. 5670B. 656667C. 567D. ABC
本题答案:
26
数据库管理系统中负责数据模式定义的语有是(  )。

 

A. 数据定义语言B. 数据管理语言C. 数据操纵语言D. 数据控制语言
本题答案:
27
有如下程序:
#include<iostream>
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
本题答案:
28
下列关于宏的叙述中正确的是(  )。

 

A. 宏名必须用大写字母表示B. 宏定义必须位于源程序中所有语句之前C. 宏替换没有数据类型限制D. 宏调用比函数调用耗费时间
本题答案:
29
下列叙述中正确的是(  )。

 

A. 算法就是程序B. 设计算法时只需要考虑数据结构的设计C. 设计算法时只需要考虑结果的可靠性D. 以上三种说法都不对
本题答案:
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))
本题答案:
31
控制格式输入/输出的操作中,设置域宽的函数是(  )。

 

A. WSB. octC. setfill(int)D. setw(int)
本题答案:
32

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

  

 

  A. ACFXDBEYZ

  B. ABEFXYZCD

  C. ABCDEFXYZ

  D. ABDYECFXZ

本题答案:
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整除是否余1D. 判断m被5和7整除是否都余l
本题答案:
34
以下程序的输出结果是(  )。
#include<iostream.h>
longfun(intn)
{longS;
if(n==1‖n==2)s=2;
elses=n-fun(n-1):
returnS;
}
voidmain(){cout<<fun(3);}

 

A. 1B. 2C. 3D. 4
本题答案:
35
下列程序的执行结果是(  )。
#include<iostream.h>
#include<stdlib.h>
classTestClass
{
public:
intX,y;
TestClass(){x=y=0;}
TestClass(inta,intb)(x=a;y=b;}voiddisp()
{
cout<<"x="<<x<<",y="<<y<<endl;
}
};
voidmain()
{
TestClasss1(2,3);
s1.disp();
}

 

A. x=2,y=2B. x=2,y=3C. x=3,y=2D. x=3,y=3
本题答案:
36
有下列程序:
#include<stdi0.h>
intfun(int(*s)[4],intn,intk)
{intm,i;
m=s[O][k];
for(i=1;i<n;i++)if(s[i][k]>m)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
本题答案:
37
有如下程序:
#include<iostream.h>
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<<s;}
该程序的输出结果是(  )。

 

A. 69825B. 63825C. 6385D. 693825
本题答案:
38
为了提高函数调用的实际运行速度,可以将较简单的函数定义为(  )。

 

A. 内联函数B. 重载函数C. 递归函数D. 函数模板
本题答案:
39
下列选项中属于面向对象设计方法主要特征的是(  )。

 

A. 继承B. 自顶向下C. 模块化D. 逐步求精
本题答案:
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. BABBAB

  B. ABBBBA

  C. ABBABA

  D. ABABBA

本题答案:
单项选择题20题,已作答0题,未作答20
已有17885人选择考试吧C++进行辅导学习
 
 
意见反馈
  • 您可以点击下面选项框切换题型.
    点击我要交卷,可查看答案及得分.
关闭