ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:20.25KB ,
资源ID:11794671      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11794671.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(东南大学C++期末考试题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

东南大学C++期末考试题.docx

1、东南大学C+期末考试题(完整word版)东南大学C+期末考试题亲爱的读者:本文内容由我和我的同事精心收集整理后编辑发布到文库,发布之前我们对文中内容进行详细的校对,但难免会有错误的地方,如果有错误的地方请您评论区留言,我们予以纠正,如果本文档对您有帮助,请您下载收藏以便随时调用。下面是本文详细内容。最后最您生活愉快 O(_)O 2008-2009学年C+(下)期末考试模拟试题一、选择题(每题2分,共30分) 1. 下列程序段的运行结果是( )。 char c=”tv0willn”;coutstrlen(c); A. 4 B. 3 C. 9 D. 字符串中含有非法字符,输出结果不确定 2. 已知

2、定义类A,该类的构造函数的参数都没有缺省值。执行语句: A a1(2) ,a2(1,2), *p=new A3; 则自动调用该类缺省的构造函数的次数为( )。 A. 1 B. 2 C. 3 D. 5 3. 下列叙述正确的是( )。 A. 虚函数是一个static类型的成员函数 B. 虚函数是一个非成员函数 C. 包含虚函数的基类为虚基类 D. 包含存虚函数的基类为抽象类 4. 下列关于赋值兼容性规则的叙述不正确的是( )。 A. 派生类的对象可以赋值给基类的对象 B. 基类的对象可以赋值给派生类的对象 C. 派生类的对象可以初始化基类对象的引用 D. 可以将派生类对象的地址赋值给其基类的指针变

3、量5. 设有定义int a3=1,3,5,7,9,11,13,15,17;int *p=a2;则*(p+1)的值为( )。 A. 15 B. 7 C. 14 B. 66. C+中多态性包括两种:编译时的和运行时的。运行时多态性是通过( )实现的。 函数重载 运算符重载 类继承关系 动态链接 虚函数A. 和 B. 和 C. 和 D. 和 7. 关于动态内存分配,对delete运算符的下列说法中,( )是错误的。A. 应与new运算符配合使用。B. 可以在类的成员函数中使用。C. 对同一个指针变量可任意多次使用该运算符。D. 若a是一个二维数组,则delete a; 可删除a所占用的存储空间。 8

4、. 设int x; int *p2=&x, *p1=&x; *p1=a; *p2=*b; 则变量a和b的类型分别是( )。 A. int 和int B. int *和int C. int和int * D. int *和int * 9. 下列关于成员函数的叙述不正确的是( )。 A. 成员函数一定是内联函数 B. 成员函数可以重载 C. 成员函数可以设置参数的默认值 D. 成员函数可以是静态的 10. 以下不属于类的访问权限的是( )。 A. public B. protected C. static D. private 11. 若要使用ifstream流定义一个流对象并打开一个文件时,应在程

5、序开始使用#include命令,使之包含( )。A. iostream.h B. fstream.h C. stdio.h D. strstream.h 12. 下列叙述不正确的是( )。 A. 对象之间可以相互赋值 B. 对象可以用作函数参数 C. 对象可以用作数组的元素 D. C+中可以有指向对象的指针 13. C+中不能被派生类继承的是( )。 A. 虚函数 B. 析构函数 C. 静态成员函数 D. 运算符重载函数 14. 不属于构造函数的特点是( )。 A. 具有与类名相同的函数名 B. 返回类类型返回值 C. 允许重载 D. 在定义类的对象时自动调用 15. 类型相同的两个指针不能进

6、行的运算是( )。 A. + B. - C. = D. =二、填空题(每题2分,共20分) 1. 函数参数传递方式有三种,分别为:值传递、地址传递和( )。 2. 面向对象的程序设计的三大特征是:( )、继承性和多态性。 3. 假定A为一个类,则语句A(A &x);是此类( )构造函数的原型说明。 4. 在类的继承与派生中,缺省的继承方式是( )。 5. C+的两种多态性分别是( )多态性和( )多态性。 6. 运算符重载有两种实现方法,一种是通过友元函数来实现,另一种通过( )函数来实现。 7. 根据数据的组织形式不同,可将文件分为二进制文件和( )文件。 8. 若希望类中的成员只能被该类的

7、成员函数及该类的派生类的成员函数访问,则应加上访问权限:( )。 9. 假定类A中有一个公用属性的静态数据成员b,在类外不通过对象名访问该成员b的写法为( )。三、阅读程序题(每题5分,共30分) 1. 下列程序运行结果为( )。 #include #include char s(char *w,int y) char t, *s1, *s2; s1=w; s2=w+y+5; while(s1s2) t=*s1+;*s1=*s2-;*s2=t; return *s1; return *s1+2;void main(void) char *p=123; couts(p,strlen(p); 2.

8、 下列程序的输出结果是( )。#include class Apublic: int X; A(int x)X=x*x;class S int x; A a;public: S(int b,int c):a(c) x=b+a.X; void show()coutx=xendl;void main(void) S s1(2,3); s1.show(); 3. 下列程序的运行结果是( )。#include class Apublic: int n; A()coutA;class B:public Apublic: B()coutB;class C:public B A a;public: C():

9、a(),B()coutC;void main(void) C c; 4. 下列程序的运行结果是( )。#include class Baseprotected: int *p;public: Base(int a=0) p=new int (a); Base() delete p; virtual void print() cout*pendl;class Derived:public Base static int y;public: Derived(int b=0) *p=b;y+; void print() cout*p,yprint(); Derived d1(20); d1.prin

10、t(); 5. 下列程序的运行结果是( )#include class B int a,b;public: B(int aa=0,int bb=0)a=aa;b=bb; void operator +(); void operator +(int); void show()coutatb;void B: operator +() a+=2; b+=5;void B: operator +(int) a+=5; b+=2;void main(void) B x(3,5); x+; x.show(); 6. 下列程序的运行结果是( )。#include class Apublic: A(int n

11、)num=n; int compare(A a) if(this-num=a.num)return 1; else return 0; private: int num; void main(void) A aa(5); A bb(10); A cc(5); coutpare(bb)t; coutpare(aa)endl;四、完善程序(每空2分,供20分) 1. 下面的程序中定义了圆类Circle、长方形类Rect、圆角长方形类RoundRect,其中RoudRect共有继承于Circle和Rect类。试完成程序。#include #include class Circle double ra

12、dius;public: Circle(double r): double area()return 3.14*radius*radius;class Rect double width, height;public: Rect(double w, double h)width=w; height=h; double area()return height*width;class RoundRect: public Circle, Rect char color5;public: RoundRect( ):Circle(r),Rect(w,h) strcpy(color,c); char *g

13、etcolor()return color;void main(void) RoundRect rr(0.8,1,0.25,白色); coutrr.getcolor()endl; 2. 下列程序通过重载运算符“*”,直接实现两个一维数组对应元素相乘运算。设数组a,b分别为:int a10=1,2,3,4,5,6,7,8,910;int b10=1,2,3,4,5,6,7,8,9,10;相乘后的结果为1,4,9,16,25,36,49,64,81,100。同时通过重载运算符“=”,直接实现两个一维数组的赋值运算。试完善程序。#include #include class A int x10;pu

14、blic: A()for(int i=0;i10;i+)xi=0; A(int *p) for(int i=0;i10;i+) A operator *(A a) A t; for(int i=0;i10;i+) return t; A operator =(A a) for(int i=0;i10;i+) return *this; void show()for(int i=0;i10;i+)coutxit;void main(void) int a10=1,2,3,4,5,6,7,8,9,10; int b10=1,2,3,4,5,6,7,8,9,10; A a1(a),a2(b),a3;

15、 a3=a1*a2; a3.show(); 3. 下面的程序的功能是比较两个字符串是否相等,若相等返回1,否则返回0。请完成程序。#include int f(char *s1, char *s2) char *p=s1,*q=s2; while( ) q+; p+; return ( );void main(void) char s1100,s2100; cin.getline(s1,100); cin.getline(s2,100); coutdata=p-data)/非空链表,p的数据项比首节点的数据项小,插入到链首 p-next=head; return head; p2=p1=hea

16、d; while( )/找到要插入的位置 p1=p2;p2=p2-next; if(p2-datadata)/p代表的结点的数据项最大,插入到表尾 p2-next=p;p-next=0; else/插入到p1和p2指向的结点之间 五、上机编程题(每题50分,共100分) 1. 建立一个str类,完成对字符串循环左移的功能。即从第二个字符开始,以后的每个字符都依次前移一个字符,而原来的第一个字符放在串中的最后一个字符。当要平移m个字符时,则要进行m次的循环左移。例如:“ABCD”循环左移2个字符后为“CDAB”。要求如下:(1)私有数据成员char * w;指向待左移字符串。int m, len

17、; 分别用于存储循环左移的次数及字符串的长度。(2)公有成员函数构造函数str(char *p, int n, int k):初始化各数据成员。void move():循环左移。void show():输出字符串数据成员(3)编写一个程序测试该类,使用以下测试数据:a=”ABCD”,左移3个字符。要求输出字符串。 2. 请将压缩包中的文本文件in.dat的内容读入到数组A33中,并将转置后的数组A的内容写入到文本文件out.dat中。请完成程序。结尾处,小编送给大家一段话。米南德曾说过,“学会学习的人,是非常幸福的人”。在每个精彩的人生中,学习都是永恒的主题。作为一名专业文员教职,我更加懂得不

18、断学习的重要性,“人生在勤,不索何获”,只有不断学习才能成就更好的自己。各行各业从业人员只有不断的学习,掌握最新的相关知识,才能跟上企业发展的步伐,才能开拓创新适应市场的需求。本文档也是由我工作室专业人员编辑,文档中可能会有错误,如有错误请您纠正,不胜感激!At the end, Xiao Bian gives you a passage. Minand once said, people who learn to learn are very happy people. In every wonderful life, learning is an eternal theme. As a p

19、rofessional clerical and teaching position, I understand the importance of continuous learning, life is diligent, nothing can be gained, only continuous learning can achieve better self. Only by constantly learning and mastering the latest relevant knowledge, can employees from all walks of life keep up with the pace of enterprise development and innovate to meet the needs of the market. This document is also edited by my studio professionals, there may be errors in the document, if there are errors, please correct, thank you!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1