2013年春季学期《C++程序设计》作业题目及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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();