C++期中考试试卷

上传人:cl****1 文档编号:563342007 上传时间:2022-10-01 格式:DOC 页数:7 大小:56KB
返回 下载 相关 举报
C++期中考试试卷_第1页
第1页 / 共7页
C++期中考试试卷_第2页
第2页 / 共7页
C++期中考试试卷_第3页
第3页 / 共7页
C++期中考试试卷_第4页
第4页 / 共7页
C++期中考试试卷_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C++期中考试试卷》由会员分享,可在线阅读,更多相关《C++期中考试试卷(7页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计试卷一、选择题(每空2分,共20分)1. 下面选项中不属于面向对象程序设计特征的是(C ) 。A)继承性 B)多态性 C)相似性 D)封装性2. 可用作C+语言用户标识符的一组标识符是( B )。A) void define +WORD B) a3_b3 _123 YNC) for -abc CaseD) 2a DO sizeof3. 假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a21的值为(A)。A) 0 B) 4 C) 8 D) 64. 以下哪一关键字可用于重载函数的区分( C )A)externB)staticC)constD)virtual5

2、. 下列有关继承和派生的叙述中,正确的是( C )A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现6. 下列关于this指针的说法正确的是( B )A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针7. 在下列关于C+函数的叙述中,正确的是( C )A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先

3、声明D)函数不能自己调用自己8. 下列运算符中,不能重载的是 ( C )A)&B)!=C).D)-9. 关于结构化程序设计方法说法错误的是( )。 A)在数据处理过程中,采用的是自顶向下、分而治之的方法。B)将整个程序按功能划分为几个可独立编程的子过程模块。C)以“对象”或“数据”为中心。D)数据和处理数据的过程代码是分离的、相互独立的实体。10. 关于静态成员的描述中,( )是错误的。A)静态成员可分为静态数据成员和静态成员函数。B)静态数据成员定义后必须在类体内进行初始化。C)静态数据成员初始化不使用其构造函数。D)静态数据成员函数中不能直接引用非静态成员。二、阅读程序写出程序运行结果(每

4、题6分,共30分)1、#include class Sample int n; public: Sample(int i)n=i; friend int add(Sample &s1,Sample &s2); ; int add(Sample &s1,Sample &s2) return s1.n+s2.n; void main() Sample s1(10),s2(20); coutadd(s1,s2)endl; 2、#include class Apublic:A();A(int i,int j);A()coutaDonstructor.n;void print();private:int

5、 a,b;A:A()a=b=10;coutDefault constructor.n;A:A(int i,int j) a=i,b=j;coutConstructor.n;void A:print()couta=a,b=bendl;void main()A m,n(15,18);m.print();n.print();3、#include using namespace std;class Base public: Base(int i) cout i; Base () ;class Base1: virtual public Base public: Base1(int i, int j=0

6、) : Base(j) cout i; Base1() ;class Base2: virtual public Base public: Base2(int i, int j=0) : Base(j) cout i; Base2() ;class Derived : public Base2, public Base1 public: Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c), Base2(d), Base(a) cout b; private: Base2 mem2; Base1 mem1;void m

7、ain() Derived objD (1, 2, 3, 4); 4、#include using namespace std;class Testpublic:Test() Test()cout#;int main()Test temp2, *pTemp2; return 0;5、#include using namespace std;class point public: static int number; public:point() number+;point() number-; int point:number=0; void main() point *ptr; point

8、A,B;point *ptr_point=new point3; ptr=ptr_point; point C; delete ptr;coutpoint:number; 三、程序编写题(第一题为必做题,后面三题选做二题)1、首先编写一个选择排序函数,然后在主函数中调用排序函数对10个整数从小到大进行排序。提示:采用数组名作为函数参数。选择排序:每一趟从待排序的序列中选出一个最小的数据。(10分)代码:#include using namespace std;int *select(int a,int n)int i,j,k,temp;int *p;for(i=0;in;i+)k=i;for(

9、j=i;jn;j+) if(ajak)k=j;if(i!=k) temp=ak; ak=ai; ai=temp;p=a;return p;void main()int data10,i,*q;cout请输入个整数:endl;for(i=0;idatai; q=select(data,10);for(i=0;i10;i+) cout*q ; if(i!=9) q=q+1;coutendl;2、建立一个CPoint类,该类有两个私有成员变量x,y,表示点的坐标。有一个构造函数用于设置坐标,还有两个公有的成员函数:分别用于获取x和y 的坐标。由CPoint派生出CCircle类,派生类CCircle

10、增加一个私有成员变量用于表示半径,并用派生类的构造函数设置半径,同时增加三个成员函数:一个用于获取半径,另两个分别用于获取圆外接正方形左上角的x坐标和y坐标。(20分)#includeusing namespace std;class Pointprivate:int x,y;public:Point(int a,int b);int getx();int gety();Point:Point(int a,int b)x=a;y=b;int Point:getx()return x;int Point:gety()return y;class Circle:public Pointprivat

11、e:int r;public:Circle(int a,int b,int c):Point(a,b)r=c;int getr();int Circle:getr()return r;void main()Point a(2,2);couta.getx()endl;Circle b(1,2,3);coutb.getx()endl;3、设计一个类Time(时间),该类用于表示时间值(时、分、秒)。要求能设置时间和输出时间。再设计一个日期类Date,该类用于表示日期值(年、月、日)。要求除了能够通过相应的成员函数设置和获取日期值外,还能够实现将日期加一天的操作。利用建立的日期类和时间类多重派生出日

12、期时间类DateTime,并实现日期和时间的设置和输出。(20分)#includeusing namespace std;class Timeprivate:int hour,minute,second;public:Time(int h,int m,int s);Time();Time:Time(int h,int m,int s)hour=h;minute=m;second=s;Time:Time()couthour minute secondendl;class Dateprivate:int year,month,day;public:Date(int y,int mo,int d);Date();Date:Date(int y,int mo,int d)year=y;month=mo;day=d;Date:Date()coutyear month dayendl;class DateTime:public Time,public Datepublic:DateTime(int y,int mo,int d,int h,int m,int s):Date(y,mo,d),Time(h,m,s);void main()Da

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号