首页 > 全部 > 二级C++ > 国家二级(C++)机试模拟试卷496

国家二级(C++)机试模拟试卷496

本单篇文档共18693字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 模拟试卷 7086人下载
价格: 0.80 原价:¥9.60
收藏

国家二级(C++)机试模拟试卷496

选择题

1.阅读以下程序:

#include<iostream.h>

void maim()

{

static int a[][2]={5,3,1,2};

int i,j,s1=0;

for(i=0;i<2;i.++)

fort(j=0;j<2.j++)

{

if(i==j)

s1=s1+a[i][j];

}

cout<<s1<<endl;

}

则该程序的输出结果为( )。(B)

A. 6

B. 7

C. 8

D. 9

解析:程序中“staticint a[][2]={5,3,1,2};”定义了一个2*2的整型矩阵。两个for循环读取数组元素。“if(i==j)”语句中的条件是取矩阵的正对角线上的元素。对角线上的元素为5,2,所以“sl=sl+a[i][i]”的计算结果为7。

2.设有以下定义和程序:

#include

class TestClass 1

{

public:

void showl0

{

cout<<“TestClassl”<<endl;

}

};

class Test Class2:TestClass1

{

public:

void show2()

{

cout<<”TestClass2”<<endl;

}

}:

class TestClass3:prOtected YestClass2

{

public:

void show3(1

{

cout<<”TestClass 3”<<endl;

}

};

void main()

{

TestClassl objl:

TestClass2 obj2;

TestClass3 obj3;

}

则以下小合语法的调用语句是( )。(C )

A. obj1.showl0;

B. obj2.Showl0;

C. obj3.showl0;

D. obj2.show20;

解析:TestClass1为FestClass2的私有基类,所以派生类TestClass2中继承过来的show1()为私有的。TestClass3为TestClass2的受保护派生类。所以TestClass3定义的对象不能访问TestClass中的showl()。

3.下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申请时使用形参b初始化a,横线处应填写的语句是( )。

class A

{

public:

A(int b);

~A();

private:

int*a;

};

A::A(int b)

{

________;

}

A::~A()

{

delete a;

}(A)

A. a=new int(b)

B. b=new int(a)

C. a=int(b)

D. b=int(a)

解析:C++中new和delete的使用有如下几种方式:①a=new int;delete a;②a=new int(10);delele a;③a=new int[10];delete[]a;。

4.有如下程序:

#include

using namespace std;

class AA{

int n:

public:

AA(int k):n(k){}

int get(){retum n;}

int getOconst{retum n+1;}

};

int main()

{

AA a(5);

const AA b(6);

cout<<a.get0<<b.get();

retum 0:

}

执行后的输出结果是( )。(B )

A. 55

B. 57

C. 75

D. 77

解析:语句AAa(5)调用的是AA(/ntk):n(k){},a.get()调用int get(){return n;},结果会输出5:而常对象const AA b(6),b.get()调用的是intget()const{return+1;},会输出结果7。

5.有如下程序:

#include

using namespace std;

class Base1

{

public:

Basel(int d){cout<<d;}

~Basel(){}

}; i

class Base2

{

public:

Base2(int d){cout<<d;}

~Base2(){}

};

class Derived:public Base1,Base2

{

public:

Derived(int a,int b,int C,int d):Base1(b),Base2(a),b1(d),b2(C){}

private:

int b1:

int b2:

};

int main()

{

Derived d(1,2,3,4);

return 0;

}

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

A. 1234

B. 2134

C. 12

D. 21

解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数,对象释放时,先执行派生类的析构函数,再执行基类的

本文档预览:3600字符,共18693字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级(C++)机试模拟试卷496

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号