春季学期《C++程序设计》作业题目及答案.docx
- 文档编号:5654486
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:18
- 大小:21.88KB
春季学期《C++程序设计》作业题目及答案.docx
《春季学期《C++程序设计》作业题目及答案.docx》由会员分享,可在线阅读,更多相关《春季学期《C++程序设计》作业题目及答案.docx(18页珍藏版)》请在冰点文库上搜索。
春季学期《C++程序设计》作业题目及答案
2013年春季学期《C++程序设计》作业
作业提交格式要求:
请同学们把答案集中单独写在一个.doc文档中,作为附件上传(不要把答案直接填写在题目的空中)。
特规定格式如下:
一、ABCDDAAAAA
二、
题号
1
2
3
4
5
6
7
8
9
10
结果
∨
∨
∨
∨
╳
╳
╳
╳
╳
╳
三、
(1)BeiJing
ShangHai
(2)x=8,y=7
(3)r=k:
i+j=90
……
以上只是举例,不是正确的输出结果。
请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。
鼓励独立完成作业,严惩抄袭。
第一部分(C++第1-7、8、9章)
一、单选题BDBCDDCDCB
1、C++是从早期的C语言逐渐发展演变来的,与C语言相比,它在求解问题方法上最大的改进是()。
A.面向过程B.面向对象C.安全性D.复用性
2、下列关于this指针的叙述中,正确的是()
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
3、若有以下类Z声明,函数fStatic的正确定义是()。
classZ
{inta;
public:
voidfStatic(Z&)static;
};
A.voidZ:
:
fStatic(Z&objZ){objZ.a=0;}
B.voidZ:
:
fStatic(Z&objZ){a=objZ.a;}
C.voidZ:
:
fStatic(Z&objZ){a=0;}
D.voidZ:
:
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=5B.a->p=5C.a.*p=5D.*a.p=5
9、下面对静态数据成员的描述中,正确的选项是()。
A.静态成员可以在类体内进行初始化
B.静态数据成员不可以被类的对象调用
C.静态数据成员可以直接用类名调用
D.静态数据成员不可以直接用类名调用
10、下列关于new运算符的描述中,错误的是()。
A.new运算符组成的表达式的值是地址值
B.创建对象时不调用构造函数
C.用它创建的对象须用delete来删除
D.可用它来创建动态的对象和对象数组
二、判断题TFFTTFFTFF
1.子对象的初始化可以不放在该类的构造函数中。
T
2.如果一个类中没有定义任何构造函数,则该类的对象便无法初始化。
F
3.构造函数和析构函数都不能重载。
F
4.如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数。
T
5.构造函数和析构函数都是系统自动调用的。
T
6.可以在类的构造函数中对静态数据成员进行初始化。
F
7.友元函数是成员函数,它可以访问类中私有成员。
F
8.对象数组的元素必须是同一个类的对象。
T
9.用class定义的类中,默认的访问权限是公有的。
F
10.运算符new可以创建变量或对象,也可以创建数组。
F
三、写出下列程序的输出结果:
1、
#include
usingnamespacestd;
classTest
{
public:
Test()
{
cout<<”constructorofTest”< } }; Testa; intmain() { cout<<”main()start”< Testb; return0; } 输出结果: constructionofTest main()start constructorofTest 2、 #include classStudent { public: Student(inti=0,doublej=0) {num=i;score=j;} voidprint() {cout< friendvoidfun(Student&rs); private: intnum; doublescore; }; voidfun(Student&rs) {rs.num=1100; rs.score=80; rs.print(); } voidmain() {Students1(1002,50),s2; s1.print(); fun(s2); } 输出结果: 1002,50 1100,80 3、 #include classA { private: inta; public: A(intaa){a=aa;}; ~A(){cout<<”DestructorA! ”< }; classB: publicA { private: intb; public: B(intaa=0,intbb=0): A(aa){b=bb;}; ~B(){cout<<”DestructorB! ”< }; voidmain() { Bobj1(5),obj2(6,7); return; }; 输出结果: DestrutorB! 7 DestrutorA! 6 DestrutorB! 0 DestrutorA! 5 4、 #include classA { public: A(inti=0) {m=i;cout<<”Constructorcalled.”< voidSet(inti) {m=i;} voidPrint()const {cout< ~A() {cout<<”Destructorcalled.”< private: intm; }; voidmain() { constintN=5; Amy; my=N; my.Print(); } 输出结果: Construtorcalled.0 Construtorcalled.5 5 Destrutorcalled.5 Destrutorcalled.5 第二部分(C++第10、11章) 一、单选题CAADDADA 1、在C++中,类与类之间的继承关系具有()。 A.自反性B.对称性C.传递性D.反对称性 2、intFunc(int,int);不可与下列哪个函数构成重载()。 A.intFunc(int,int,int) B.doubleFunc(int,int) C.doubleFunc(double,double) D.doubleFunc(int,double); 3、关于基类和派生类的描述中,错误的是()。 A.基类和派生类间是包含关系 b.派生类中可以定义自己的成员 c.基类成员在派生类中的访问权限与继承方式有关 d.一个派生类可以从一个基类派生,也可以从多个基类派生。 4、下列对运算符重载的描述中,正确的是()。 A.运算符重载可以改变结合性 B.运算符重载可以改变优先级 C.运算符重载可以改变操作数的个数 D.运算符重载不改变优先级和结合性 5、下列函数中,()不能重载。 A.成员函数B.非成员函数C.构造函数D.析构函数 6、当一个类某个函数被说明为virtual时,该函数在该类的所有派生类中()。 A.都是虚函数 B.只有被重新说明时才识虚函数 C.只有被重新说明为virtual时才是虚函数 D.都不是虚函数 7、实现运行时的多态性采用() A.重载函数B.构造函数C.析构函数D.虚函数 8、关于动态联编的下列描述中,()是错误的。 A.动态联编是在编译时确定操作函数的 B.动态联编是以虚函数为基础的 C.动态联编是在继承的前提下的一种多态性 D.动态联编时要求类的继承是公有的 二、判断题FFTTFFFTTF 1.C++支持运算符重载,所有运算符都可以重载。 F 2.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。 F 3.基类中的保护成员在其派生类中可以访问,而派生类对象不可访问。 T 4.运算符重载不能改变运算符的运算优先级、结合方向。 T 5.派生类的对象不可以给基类对象赋值。 F 6.静态联编是在运行时进行的,动态联编是在编译时进行的。 F 7.派生类的构造函数中应包含直接基类的构造函数。 F 8.私有继承方式下,基类中公有成员和保护成员在派生类中都是私有的。 T 9.抽象类不能定义对象,可以定义对象引用和对象指针。 T 10.一个对象在创建时,总是要被初始化的。 F 三、写出下面程序的输出结果。 1、 #include classBASE {public: voidget(inti,intj,intk,intl) {a=i;b=j;x=k;y=l;} voidprint()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计 春季 学期 C+ 程序设计 作业 题目 答案