付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+考试试卷得 分一、单项选择(每空1分,共20分)(注意选项填写到下面表格中!)12345678910Cbdcb111213141516171819201.已知:char *s=n123456u;则couts+2; 的输出结果为()oA)123456B) 3C)3456D) 22.已知:char *s=Habcden;贝ij sizeof(s) sizeof(*s)、strlen(s)的值依次为()oA)6 1 5B)4 1 5 C) 6 5 4D) 4 4 53. 下列语句中正确的是()。A)char *s; *s=abcdefgM;B)char *s; cins;C)char *s l=
2、”abcd”,*s2=”ehykM;strcpy(sl,s2);D)char *s=nabcdefg; cout*s;4. C+中,关于构造函数和析构函数,正确的描述是()。A)在定义类时,必须自定义构造函数和析构函数,在创建对彖时自动调用构造函数,在释 放对象时自动调用析构函数B)构造函数和析构函数均可以重载C)已知类Student以及Student巾;在使用p=new Student;时自动调用无参构造函数创建动态对 象,在delelte p;时自动调用析构函数释放动态对象D)构造函数和析构函数都可以成为虚函数5.关于拷贝构造函数的描述正确的是()OA)通常的拷构造函数的参数是象的指型B)
3、如果不自定拷构造函数,系提供默的拷构造函数C)如果有自定的构造函数,系就不再提供拷构造函数D)如果需要用已有象新建的象初始化,就必自定拷构造函数6. 有关静成的描述的是()oA)某个的静数据成由 的所有象所共享B)的公有静数据成既可以用的象,也可以直接用作用域运算符“::通”名来C)静数据成既可以是私有成,也可以是公有成D)中一旦定了静数据成,就必定静成函数,以便静数据成行操作7. 一个的友元函数或友元能通成 运算符 的()oA)所有成B)私有成C)保成D)公有成8. 下面关于承方式的描述中 的是()oA)公有承,基的公有成和保成在派生中都成公有成B)私有承,基的公有成和保成在派生中都成私有成
4、C)保承,基的公有成和保成在派生中都成保成D)无哪种承方式,基中的私有成在派生中都无法直接9. 型兼容是指在基象可以出的地方,都可以使用公有派生的象,已知:class BaseClass ;class DerivedClass:public BaseClass ; BaseClassb,*pb;DerivedClass d,*pd;)oF面不属于型兼容的是(A) b=d;B) BaseClass &bb=d;C)pd=&b;),其他方面都必须与基类屮相应的虚函数D)pb=&d;10. 在派生类中重新定义虚函数时,除了(保持一致。A)参数个数B)参数类型C)函数名称D)函数体16.下列关于get
5、lineO函数的叙述中,错误的是()O11. 下列运算符中,必须使用成员函数进行重载的是()。A)=B) =C)D) +12. 下列关于运算符重载的描述中,错误的是()。A)运算符重载不可以改变优先级B)运算符重载不可以改变结合性C)运算符重载不可以改变运算符的操作数个数D)加法运算符“ +和”赋值运算符“二都”重载之后,意味着“ +=也”被重载了13. 有关运算符重载的说法错误的是()。A)在一个类中,可以对一个操作符进行多次重载B)重载赋值运算符“二时”,为了保持原有特性,重载运算符函数中应该使用返回语句“remm *this; ”C)C+屮所有的运算符都可以被重载D)如果在某个类屮使用成
6、员函数对运算符重载,其左操作数必须是该类的对象14. 已知某个类的友元函数重载了 +=和-,a, b , c是该类的对象,贝IJ “ a+=b-c ”被C+编译 器解释为()oA) opera tor+=(a ,ope ra tor-(b,c)B) a.operator+=(b.operator-(c)C) operator+=(a,b.operator-(c)D) a.operator+=(operator-(b,c)15. 下面4个选项屮,专门用于读取单个字符的是()。A) cin.read()B) cin.get() C) cin.put() D) cin.getline()A) get
7、Une()函数仅用于从键盘而不能从文件读取字符串B) getline()函数读取字符串长度是受限制的C) getline()函数读取字符串时,遇到终止符就停止D) getline()函数中所使用的终止符默认是换行符,也可指定其他终止符17. 打开文件的方式中,()以追加方式打开文件。A) ios:inB) ios:out C) ios:app D) ios:trunc18. 当使用ofs忧am流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()OA) ios: outl ios:binaryB) ios:inl ios:binaryC) ios:outD) ios:in19. 有关
8、函数模板和模板函数说法错误的是()。A) 函数模板只是对函数的描述,编译器不为其产生任何执行代码,所以它不是一个实实在 在的函数B) 模板函数是实实在在的函数,它由编译系统在遇到具体函数调用时所生成,并调用执行C) 函数模板需要实例化为模板函数后才能执行D) 当函数模板和一般函数同名时,系统先去匹配函数模板,将其实例化后进行调用20 个()允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。A)类模板 B)模板类 C)函数模板D)模板函数得分二、判断题(每空 1分,共20分)注意:请将判断题结果(正确为 T,错误为F)填写到下面表格屮!1234567891011
9、1213141516171819201.定中的成默的限是private。2. 一个中的保成和公有成 似,在程序的任何地方都可以被。3. 系提供的缺省构造函数没有参数,所以自定构造函数必有参数。4. 一旦自定了构造函数,系便不再提供缺省的构造函数。5. 一个只能有一个构造函数和一个析构函数。6. 静数据成必在中行定和初始化。7. 静成函数中不能非静成。8. 重插入运算符“vv必”采用成重。9. 如果A是B的友,那么A中的所有成函数都可以B中的所有成。10. 放派生的象,首先用基的析构函数,然后用派生的析构函数。11. 有虚函数的称虚基,它不能用来定象。12. 虚函数只有在有承的情况才会存在。13
10、. 已知:class Base 1 /;class Base2/;class Derived:public Base 1,public Base2 Derived():Base2(),Base 1()/;建 De rive d的象,先用的构造 Base2的构造函数,然后用 Base 1的构造函数,最后 用 Derived函数。14. 基的指或引用用虚函数采用后期定。15. 由抽象基 承得到的派生肯定是具体。16. 友元函数内能任何象的任何成。17. 二元运算符采用成函数重,只需要一个参数,而且参数可以是内部型。18. 一元运算符采用某个的友元函数重需要一个参数,参数的象,不能是其他型。19.
11、C+的输入/输出流库中,ios类是一个虚基类,istream类、ostream类以及streambuf 类都是ios类的派生类。20. 设inf是一个ifstream 类的流对象,贝ij inf.seekg(10,ios:beg);表示将文件指针从文件当 前位置向后移动10个字节。得 分 三、读程序写结果(每空2分,共32分)1(注意将结果写在下面相应横线上!)(1) (2)(3)(6)(7)(8)(10)(11)(12)(13)(14)(15)(16)1.写出下面程序的运行结果。# include class Apublic:A()coutnA:A()called.nn; virtualA(
12、) coutnA:-A()called.nn;);class B:public Apublic:B(int i) cout,B:B()calied.nn;bufter=new chari; virtual B() delete buffer;cout,B:B()called.nM;private:char* buffer;void fun(A*a) delete a; void main()A new B(10);iun(b);运行结果:_(1)_(2)_(4)2. 写出下面程序的运行结果。# include class Shapepublic:void Draw()coutHS hape e
13、ndl;virtual void Print()=O;;class Circle:public Shape private:double r;public:void Draw()coutnCircle ne ndl;void SetData(double radius)r=radius;void Print()coutarea:3.14*r*rendl;;class Rectangle:public Shapeprivate:double a,b;public:void Draw()coutnRectangleHendl;void SetData(double x,double y)a=x,b
14、=y;void Print()coutMarea:,a:icbendl;void main()Circle c;Rectangle r;Shape *spl=&c;Shape &sp2=r;c.SetData(lO);r.SetData(3,5);spl-Draw();c.Print();sp2.Draw();r.Print();运行结果:(5)(6)(8)3. 写出下面程序的运行结果(注:运行结果中首行的空白行不考虑)。# include class CArraypublic:CArray(int i) Length=i;Buffer=new charLength+l;C Array ()
15、delete Bufter; int GetLength() return Length; char& operator(int i);private:int Length;char* Bufter;char&CArray:opcrator(int i) static char ch;if( i=0)return Bufieri;else coutHn Index out of range/1;re turn ch;void main() int ent;CArray string 1(6);char *string2=nNankaiH;for(cnt=0;cnt8;cnt+)stringl
16、cnt=string2cnt;coutendl;for(cnt=0;cnt8;cnt+)coutstringlcnt;coutAnM;couts tring 1 .GetLength()endl;运行结果:_(9)_(10) _(ID (12)(13) _(14)4. 写出下面程序的运行结果。# include void fun(char *s)int n=0;whik(sn!=(r)n+;char t,*p=s+n-l;while (sp)t=*s;*s=*p;*p=t;S+;p;void main()char strO=nabcdefgH;iun(str);coutstrendl;tun(
17、str+l);coutstrendl;运行结果:一(15)(1 得分四、程序填空(每空2分,共28分)(注意将结果写在下面相应横线上!)(1)(2)(3)(5)(7)(8)(10)(11)(12)(13)(14)1.下面的程序是一个类模板,可实现求三个变量的和,请将程序补充完整# include (1)class IT Type al, a2, a3;public: a 1=b1;a2=b2; a3=b3;(3)(5) return a l+a2+a3;void main()fF x(12,13,14), y(16,17,18);coutx.sum( ) y.sum( )endl;2. 下面的
18、程序将一个普通函数作为类的友元函数,求坐标点之和,并且程序输出结果为2,2,4,请将程序补充完整。# include class PointintX,Y;public:(4) X=x; Y=y; Countp+; )Point(Point &p) X=p.X; Y=p.Y; Countp+; Point()Countp-;(5)static int Countp;void display()coutXH,*YH,n;;Point myfun(Point p 1, Point p2, Point p3) Point fmp(pl.X+p2.X+p3.X, pl.Y+p2.Y+p3.Y);(6)(
19、7)void main()Point pp0,ppl(l,2),pp2(l);Point p=myfun(ppO,pp 1 ,pp2);p display ();cout (8)endl;/ 输岀 Countp 的值3. 下面的程序将一个已有文件的内容复制到另一个文件中。请将程序补充完整。# include # include # includevoid main()(9)_ infile.open(,d:iile 1 .txt,ios:in);if( Jin file) coutfile 1 .txt cant open.nu;abort(); outfile.open(,d:file2.t
20、xt,ios:out);if( Jouttile) coutfile2.txt can! open.nM;abort(); char str8O=OH;while (!in file .eof() infile.read(str,sizeof(str);coutstr;(10)coutendl;infile.close();(11)n的数组空4. ARRAY类的定义如下,构造函数把参数n的值赋给s,给v动态分配长度为间,然后利用数组参数 a初始化v所指向的数组。请将类定义补充完整。class ARRAY int *v;int s;public:ARRAY( int a, int n );ARRAY() delete v;int size() return s; int&operator(int n);;(12) ARRAY(int a, int n)if( n=0 ) v=NULL; s=0; return; s=n;v= _(13)fbr(int i=0; iB()caned. A:A()called. Shape(6) area:314(7) Shape area:15(9) Index out of range.10) Index out of range.(11) Nankai(12) Index out ofrang
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理不良事件的培训与教育
- 临床患者身份识别及查对制度
- 主题教育深化行动-1
- 独之秀职业规划方案
- 护理老人课件下载站
- 2025年前台防疫接待礼仪考试真题
- 辽宁省部分地区2025-2026学年高一上学期期末语文试卷(含答案)
- 2026年人教部编版新教材语文三年级下册第五单元过关检测题及答案(共2套)
- 部编版语文二年级上册七单元群文阅读案例分析
- 2026六年级数学上册 分数乘法思维方法
- 九连环解法教学课件
- 成品包装管理办法
- 博士申请职业目标个人自述范文
- PCS-985发变组保护培训课件
- 中医康复宣传
- 尾矿综合利用项目协议书
- T/CECS 10279-2023纤维增强聚合物基管廊
- 《光伏电站项目全过程管理手册》(第三分册:施工、验收、运维)
- 自杀自伤患者的护理课件
- 商铺退房合同协议
- 七年级语文下册第27课现代诗二首省公开课一等奖新课获奖课件
评论
0/150
提交评论