2013年春季学期《C++程序设计》作业题目及答案

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

2013年春季学期《C++程序设计》作业

作业提交格式要求:请同学们把答案集中单独写在一个.doc文档中,作为附件上传(不要把答案直接填写在题目的空中)。特规定格式如下:

一、ABCDD AAAAA

二、

三、

(1) BeiJing

ShangHai

(2) x=8,y=7

(3) r=k:i+j=90

……

以上只是举例,不是正确的输出结果。请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。

鼓励独立完成作业,严惩抄袭。

第一部分(C++第1-7、8、9章)

一、单选题BDBCD DCDCB

1、C++是从早期的C语言逐渐发展演变来的,与C语言相比,它在求解问题方法上最大的改进是()。

A.面向过程 B. 面向对象 C. 安全性 D. 复用性

2、下列关于this指针的叙述中,正确的是( )

A.任何与类相关的函数都有this指针

B.类的成员函数都有this指针

C.类的友元函数都有this指针

D.类的非静态成员函数才有this指针

3、若有以下类Z声明,函数fStatic的正确定义是( )。

class Z

{ int a;

public:

void fStatic(Z&)static;

};

A.void Z::fStatic(Z &objZ){ objZ.a=0; }

B.void Z::fStatic(Z &objZ){ a= objZ.a; }

C.void Z::fStatic(Z &objZ){ a=0; }

D.void Z::fStatic(Z &objZ){ Z::a=0; }

4、在C++中,关于下列设置缺省参数值的描述中,()是正确的。

A.不允许设置缺省参数值;

B.只能在函数的定义中指定参数的缺省值;

C.在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

D.设置缺省参数值时,必须全部都设置;

5、关于友元函数的描述中,错误的是()。

A.友元函数说明在类体内B.友元函数不是成员函数

C.友元函数必须用对象来引用D.友元函数可以直接访问类中的私有成员

6、对于类,下面哪个是不正确的( )。

A. 类是对象的设计蓝图

B. 使用关键字Class创建类结构

C. 类被声明后,类名成为类型名并且可以用来声明变量

D. 类与结构体相同,它们之间没有区别

7、下列是构造函数的特点,( )是错误的。

A.构造函数是一种成员函数,它具有一般成员函数的特点。

B.构造函数的名称与其类名相同。

C.构造函数必须指明其类型。

D.一个类中可以定义一个或多个构造函数。

8、已知:p是一个指向类A数据成员m的指针,a是类A的一个对象。在给m赋值为5的下列表达式中,( )是正确的。

A. a.p=5

B. a->p=5

C. a.*p=5

D. *a.p=5

9、下面对静态数据成员的描述中,正确的选项是( )。

A.静态成员可以在类体内进行初始化

B.静态数据成员不可以被类的对象调用

C.静态数据成员可以直接用类名调用

D.静态数据成员不可以直接用类名调用

10、下列关于new运算符的描述中,错误的是( )。

A. new运算符组成的表达式的值是地址值

B. 创建对象时不调用构造函数

C.用它创建的对象须用delete来删除

D.可用它来创建动态的对象和对象数组

二、判断题TFFTT FFTFF

1.子对象的初始化可以不放在该类的构造函数中。T

2.如果一个类中没有定义任何构造函数,则该类的对象便无法初始化。F

3.构造函数和析构函数都不能重载。F

4.如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成

员函数。T

5.构造函数和析构函数都是系统自动调用的。T

6.可以在类的构造函数中对静态数据成员进行初始化。F

7.友元函数是成员函数,它可以访问类中私有成员。F

8.对象数组的元素必须是同一个类的对象。T

9.用class定义的类中,默认的访问权限是公有的。F

10.运算符new可以创建变量或对象,也可以创建数组。F

三、写出下列程序的输出结果:

1、

#include

using namespace std;

class Test

{

public:

Test()

{

cout<<”constructor of Test”<

}

};

Test a;

int main()

{

cout<<”main() start”<

Test b;

return 0;

}

输出结果:construction of Test

main()start

constructor of Test

2、

#include

class Student

{

public:

Student(int i=0,double j=0)

{ num=i;score=j; }

void print()

{ cout<

friend void fun(Student &rs);

private:

int num;

double score;

};

void fun(Student &rs)

{ rs.num=1100;

rs.score=80;

rs.print();

}

void main()

{ Student s1(1002,50),s2;

s1.print();

相关文档
最新文档