




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试题纸(B卷) 课程名称: 程序设计基础(二) 适用专业年级: 2009级计算机、软件、网络、电本 考生学号: 考 生 姓 名: 一、 单项选择题(每题1分,共15分)1、 对于对象和类的关系,说法不正确的是( )。A)同属于一类的对象,具有相同的数据成员和成员函数B)对象是具体,是类的对象,同其他变量一样,先定义后使用C)同一类的不同对象,其具有的操作可不同,具体的操作也不同D)不同类的对象,可有相同的操作2、 不可以成为类的数据成员的是( )。A)对象 B)另一个类 C)类的指针或引用 D)其他简单的数据类型3、 关于类的继承的特性,不正确的是( )。A)子类对父类具有数据和程序代码的共项特征 B)子类与父类间有所差别C)会增加代码的冗余 D)类间具有层次结构4、 下列不正确的是( )。A)对象必须先说明后使用,其说明的一般形式是:“类名 对象名”B)类的说明是不分配内存空间的,只在程序运行时对对象分配空间C)同一类的不同对象,占有不同的内存空间D)同类不同对象的成员函数占有相同的内存空间,对象中存储的是这些共享代码在内存中的地址5、 关于内联函数的说法不正确的是( )。A)在说明类的同时定义成员函数,则函数隐含为内联函数B)可以在类外用inline关键字,对成员函数进行说明,则该函数也为内联函数C)当内联函数被调用时,内联函数的代码在调用处被展开D)当内联函数被调用时,内联函数将返回结果6、 对象的创建可以在定义类的同时创建对象,也可以在使用对象时创建,关于这两种说法正确的是( )。A)前者创建的对象是全局对象后者创建的对象是局部性的B)前者创建的对象的作用域是整个程序,后者创建的对象的作用域是所在的函数C)前者创建的对象在整个程序运行期间都可被调用D)后者创建的对象的生存期也是整个程序7、 面向对象程序设计的基本特点中,下列选项中哪个不是的( )。A)抽象性 B)复用性 C)继承性 D)多态性8、 在C+语言中,下面虚基类的说明中正确的是( )。A)virtual class B:public A; B)class B:public A virtual; C)class B:virtual public A; D)class virtual B:public A;9、 一个类中有( )个析构函数。A)0 B)1 C)2 D)多个10、 下面描述中,表达错误的是( )。A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承是基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的11、 逻辑错误是由于设计不当造成的,下面( )不会产生逻辑错误。A)char ch16=”welcome to china” B) int num5=5,i; i=num5;C)char *p; p=c D)int i=5; j=5;12、 下列( )可以引起运行异常。A) 数组长度不足 B)硬件资源不符合要求 C)数组下标溢出 D)相关头文件未被引用13、 下列说法正确的是( )。A)当异常产生时,可中断程序从头开始B)当异常产生时,必须恢复、继续运行程序C)具体程序处理异常的方法可不同D)在程序中嵌入错误处理语句就可以防止程序异常的出现14、 用来抛弃异常的语句块是( )。 A)catch语句块 B)try语句块 C)throw语句块 D)abort语句块15、 对于类的私有成员、公有成员的正确说法是( )。A)所有成员只对内,不对外B)公有成员也叫接口,是与外部联系的通道C)私有成员主要对数据成员而言,当然有些成员函数也是私有的D)类的私有成员、公有成员只是相对而言,可以随时改变的二、 填空题(每题1分,共10分)1. 对象就是C语言中的结构变量。2. 声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。3. 内联函数体内不能有循环语句和switch语句。4. catch可以通过类型相容或自动转换来接受抛弃的数据。5. 同类不同对象的成员函数占有相同的内存空间,对象中存储的是这些共享代码在内存中的地址。6. 重载函数是靠参数的个数和类型来区分的,参数的传递方式和返回值类型是不起作用的。7. 当内联函数被调用时,内联函数将返回结果。8. 拷贝构造函数的形参必须是本类对象的引用。9. 对象代表着正在创建的系统中的一个实体。10. 重载函数必须有不同的形参名,且重载函数名可以不同。三、 阅读程序,将程序运行结果填写答题册上。(每小题5分,共25分)1、 #include using namespace std;class B0 public:void display() coutB0:display()endl; ;class B1: public B0 public: void display() coutB1:display()endl; ;class D1: public B1 public: void display() coutD1:display()display(); p=&b1; p-display(); p=&d1; p-display();2、 #include class Sample protected: int x; public: Sample() x=0; Sample(int val) x=val; void operator+() x+; ; class Derived:public Sample int y; public: Derived():Sample() y=0; Derived(int val1,int val2):Sample(val1) y=val2; void operator-() x-; y-; void disp() coutx= x y= y endl; ; void main () Derived d(3,5); d.disp(); d+; d.disp (); d-; d-; d.disp(); 3、 #includevoid swap1(int a,int b) int t; t=a; a=b; b=t; void swap2(int *a,int *b) int t; t=*a; *a=*b; *b=t; void swap3(int &a,int &b) int t; t=a; a=b; b=t; void main() int x=4,y=5; coutx,yendl; swap1(x,y); coutx,yendl; swap2(&x,&y); coutx,yendl; swap3(x,y); coutx,yendl;4、 #include #include class Vector public: Vector(int s=100); int& Elem(int ndx); void Display(void); void Set(void); Vector(void); protected: int size; int *buffer;Vector:Vector(int s)buffer=new intsize=s;int& Vector:Elem(int ndx)if(ndx=size)couterror in indexendl;exit(1);return bufferndx;void Vector:Display(void)for(int j=0; jsize; j+)coutElem(j); coutendl; void Vector:Set(void)for(int j=0; jsize; j+)Elem(j)=j+1;Vector:Vector(void)delete buffer;void main()Vector a(10); Vector b(a); a.Set();b.Display(); 5、 #includeClass exception private: char *ch; Public: Exception(char *m) ch=m; Void print( ) cerrchendl; ;Void fun1( ) throw exception(“exception”); Void fun2( ) try fun1( ); Catch() cerrfun1:catch “; throw; Void main( ) try fun2( ); Catch() cerr”main:catch “; 四、 程序填空题(根据题意要求,将程序补充完整,每空2分,共20分)1、下面的程序用来求两个点之间的距离。#include #includeclass Point double x,y; public: Point(double i, double j)x=i;y=j;double getx() return x; double gety() return y; void disp() cout(xy); (1) ; double distance( (2) ) double d,dx,dy; dxa.xb.x;dya.yb.y; d= (3) ; return d; void main() (4) p1(2,2),p2(5,5); p1.disp(); cout与; p2.disp(); cout之间距离=distance(p1,p2)endl; 2、根据提示将Clock类补充完整 class Clockpublic:Clock(int NewH=0,int NewM=0,int NewS=0);void ShowTime();Clock& operator +(); /前置单目运算符重载Clock operator +(int); /后置单目运算符重载private:int Hour,Minute,Second;Clock:Clock(int NewH,int NewM,int NewS)if( )Hour=NewH;Minute=NewM;Second=NewS;elsecoutTime error!endl;void Clock:ShowTime()coutHour:Minute:Second=60)Second=Second-60;Minute+;if(Minute=60)Minute=Minute-60;Hour+;Hour=Hour%24; ;Clock Clock:operator +(int) /后置单目运算符重载Clock old= ; ;return old;3、输入两个整数,求它们的平方和#includeUsing namespace std;Void main(void)int a,b;int fun1(int x,int y);cinab;cout”a,b的平方和:”fun1(a,b)endl;int fun1(int x,int y) ;return(fun2(x)+fun2(y);int fun2(int m) ;五、 编程题(第1小题8分,第2小题10分,第3小题12分,共30分)1、声明并实现一个复数类,有实部和虚部两个属性,用成员函数计算复数的加减法以及显示输出复数的值。2、设计程序,使其实现以秒计时的功能。首先定义一个watch类,它有两个私有变量begin、end,分别表示开始时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小儿留置针穿刺课件
- 农副品委托销售合同范本
- 三伏天养生课件
- 丝织物商铺转让合同范本
- 上海大型仓库租赁协议书
- 油画定制合同范本模板模板
- 工厂物流仓库出租合同范本
- 农场小规模养殖合同范本
- 2025年私人住宅租赁信托协议
- 期货从业资格之《期货法律法规》练习题库及答案详解【基础+提升】
- 2025至2030中国金属键合线行业战略规划及投融资动态研究报告
- 企业会计准则实施典型案例
- 降低留置针堵管发生率:PDCA质量持续改进
- 居间工程合同协议书范本
- 香港应聘简历模板
- 高考英语一轮专项复习:高考试题中的熟词生义(含解析)
- 2025年全国卷高考历史小论文题指导分析及例题鉴赏
- 《Java程序设计任务式教程》课件 603 构造方法
- 军队基本医疗设备配备标准
- 特种设备监察培训
- GB/T 23713.1-2024机器状态监测与诊断预测第1部分:一般指南
评论
0/150
提交评论