南航试卷

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.选择题: (每题2分,共30分,请将正确答案写在题号左边)

1.在下列成对的表达式中,运算结果类型相同的一对是( ) A.7/2和7.0/2.0 B.7/2.0和7/2

C.7.0/2和7/2 D.7.0/2.0和7.0/2

2.能正确表示“当x的取值在[1, 10]和[200, 210]范围内为真,否则为假”的表达式是()A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B.(x>=1)||(x<=10)||(x>=200)||(x<=210)

C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

3.使用值传递方式将实参传给形参,下列说法正确的是()

A.引用类型形参不分配内存空间,仅仅是实参的别名

B.引用类型形参分配内存空间,形参与实参占用不同的内存空间

C.指针类型形参分配内存空间,形参接受实参传递的数值

D.指针类型形参不分配内存空间,仅仅是实参的别名

4.若有宏定义:#define MOD(x, y) x%y 则执行以下语句后输出为()int z, a = 15, b = 100;

z = MOD(b, a);

cout<< z + +;

A.11 B.10 C.6 D.宏定义不合法5.若有以下定义和语句,则对数组元素a[1][2]的正确引用为()。

int a[2][3], (*p)[3]; p=a;

A.(*(p+1))[2] B.*p[1][2] C.*(p+1)[2] D.*(p+1)+2

6.内联函数的特点是( )

A.减少代码量,加快访问速度B.减少代码量,减缓访问速度

C.增加代码量,减缓访问速度D.增加代码量,加快访问速度

7.C++类中定义的成员默认访问属性为( )

A.public B.private C.protected D.friend

8.类的私有成员可在何处被访问( )

A.本类的成员函数中B.本类及派生类的成员函数中

C.通过对象名在任何位置D.不可访问

9.对类A,拷贝构造函数的原型是( )

A.A::A(const A&);B.A::A(const A *);

C.A::A(const A);D.A::A( );

10.下列关于析构函数描述正确的是( )

A.可以重载B.函数体中必须有delete语句

C.返回类型必须是void类型D.不能指定返回类型

11.如果类A被声明成类B的友元,正确的是( )

A.类A的成员函数即为类B的成员函数

B.类B的成员函数即为类A的成员函数

C.类A的成员函数不可以访问类B的成员

D.类B不一定是类A的友元

12.this指针存在的目的是()

A.保证基类公有成员在派生类中可以被访问

B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码

C.保证基类保护成员在派生类中可以被访问

D.保证基类私有成员在派生类中可以被访问

13.在公有继承的情况下,允许派生类直接访问的基类成员包括()

D.只能是保护成员

static类型的成员函数

说明一个虚函数后,派生类中相同原型的函数也是虚函数

D.C++中可以重载所有的运算符

二.写出下列程序的运行结果(每题3分,共24分)

1. #include

void main( )

{

cout<< x ;

程序运行结果为:。

*z=t;

程序运行结果为:。

}

cout <

程序运行结果为:。

{ char Num[10];

char *Name;

int Score;

public:

Student(char *nump, char *namep, int score)

{ if(nump) strcpy(Num, nump);

else strcpy(Num, "");

if(namep)

{ Name=new char[strlen(namep)+1];

strcpy(Name, namep);

}

else Name=0;

Score=score;

cout<<"Constructor Called!\n";

}

~Student( )

{ if(Name) delete [ ] Name;

cout<<"Desturctor Called!\n";

}

void Show( )

{ cout << Num <<'\t'<< Name << '\t' << Score << endl; } };

void main( )

{ Student a("0409204", "George", 90);

a.Show( );

} 程序运行结果为:。

5. #include

class A

{ int num1;

static int num2;

public:

A( ) { num1=1; num2--; cout<

static int getnum(A &n1){ return n1.num1+num2; } };

int A::num2=5;

void main()

{ A n1,n2;

cout<

} 程序运行结果为:。

6.#include

class A

{

protected: int x;

public: A(int a=0){ x=a; }

void Show( ) { cout << "A:x=" << x << '\n' ; } };

class B : public A

{

protected: int x;

public: B(int a,int b) :A(a) {x=b;}

相关文档
最新文档