荟萃馆

位置:首页 > 计算机 > 计算机二级

2015下半年计算机二级C++考前模拟试题及答案(二)

  一、填空题

2015下半年计算机二级C++考前模拟试题及答案(二)

1.数据结构分为逻辑结构与存储结构,线性链表属于【1】。

参考答案

【1】存储结构

2.耦合和内聚是评价模块独立性的两个主要标准,其中【2】反映了模块内各成分之间的联系。

【参考答案】

【2】内聚

3.数据库设计分为以下6个设计阶段:需求分析阶段、【3】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

【参考答案】

【3】数据库概念设计阶段

4.面向对象的模型中,最基本的概念是对象和【4】。

【参考答案】

【4】类

5.数据模型按不同应用层次分成3种类型,它们是概念数据模型、【5】和物理数据模型。

【参考答案】

【5】逻辑数据模型

6.开发一个C++语言程序的步骤通常包括编辑、【6】、链接、运行和调试。

【参考答案】

【6】编译

7.下面程序的输出结果为【7】。

#include

void main()

{

int num=0,i=8;

do{

i--;

num++;

}while(--i);

cout<

}

【参考答案】

【7】-4

8.下面程序的运行结果为【8】。

#include

void fun(int x=0,int y=0)

{cout<

void main()

{fun(5);}

【参考答案】

【8】50

9.C++语言支持的两种多态性分别是编译时的多态性和【9】的多态性。

【参考答案】

【9】运行时

(′A′);,还可以表示为【10】。

【参考答案】

【10】cout<<′A′;

11.将以下程序写成三目运算表达式是【11】。

if(a>b)max=a;

else max=b;

【参考答案】

【11】max=(a>b)?a:b;

12.下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。

#include

#include

void main()

{ char a[]=″clanguage″,t;

int i,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

for(j=i+2;j<=k;【12】)

if(【13】)

{ t=a[i];a[i]=a[j];a[j]=t;}

cout<

cout<

【参考答案】

【12】j+=2 【13】a[i]>=a[j]或a[i]>a[j]

13.请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是【14】。

【参考答案】

【14】virtual int A()=0;

14.假设fin是一个文件流对象,则关闭文件的语句是【15】。

【参考答案】

【15】fin

上机部分

  一、改错题

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

(1,2)

5,6

(6,9)

源程序文件kt5_清单如下:

#include

classA{

public:

A(inti,intj){a=i;b=j;}

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

voidMove(intx,inty){a+=x;b+=y}

voidShow(){cout<<"("<

private:

inta,b;

};

classB:privateA

{

public:

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

B(inti,intj,intk,intl):(i,j){x=k;y=l;}

voidShow(){cout<

voidfun(){Move(3,5);}

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

voidf1(){Show();}

private:

intx,y;

};

voidmain()

{

Ae(1,2);

();

Bd(3,4,5,6);

();

();

d.f1();

}

【参考答案】

(1)将void Move( int x, int y) {a+=x;b+=y}

改为:void Move( int x, int y) {a+=x;b+=y;}

(2)将B(int i,int j,int k,int l):(i,j) {x=k;y=l;}

改为:B(int i,int j,int k,int l):A(i,j) {x=k;y=l;}

(3)将void f1(){Show();}

改为:void f1(){A::Show();}

【试题解析】

(1)主要考查对表达式定义规则的掌握,此处缺少一个“;”,任何一个表达式都应该以分号作为结束标志;

(2)主要考查对派生类构造函数定义的掌握,参数列表中基类的成员应使用基类构造函数初始化,因此必须向基类传递参数,传递时直接使用基类名;

(3)主要考查对基类函数调用方法的掌握,为了调用基类的函数应该使用作用域符“::”以限定访问的位置。