


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD格式.一、选择题1. C+语言属于 ( C ) 。A 自然语言B 机器语言C面向对象语言D 汇编语言2. 下面选项中不属于面向对象程序设计特征的是( C) 。A继承性B 多态性C 相似性D封装性3. 可用作 C+语言用户标识符的一组标识符是( B ) 。A voiddefine+WORDB a3_b3 _123YNC for-abcCaseD 2aDOsizeof4.假定一个二维数组的定义语句为“int a34=3,4,2,8,6;,那么元素a21的值为 A。A 0B 4C8D65.以下情况中,哪一种情况不会调用拷贝构造函数BA用派生类的对象去初始化基类对象时B将类的一个对象赋值给该类
2、的另一个对象时C函数的形参是类的对象,调用函数进展形参和实参结合时D函数的返回值是类的对象,函数执行返回调用者时6.以下哪一关键字可用于重载函数的区分CA externB staticC constD virtual7.以下有关数组的表达中,正确的选项是BA C+中数组的存储方式为列优先存储B数组名可以作为实参赋值给指针类型的形参C数组下标索引从1 开场,至数组长度n 完毕D数组指针的语法形式为:类型名* 数组名 下标表达式 ;8. 以下有关继承和派生的表达中,正确的选项是( C ) A派生类不能访问通过私有继承的基类的保护成员B多继承的虚基类不能够实例化C如果基类没有默认构造函数,派生类就应
3、当声明带形参的构造函数D基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现9.实现运行时多态的机制是AA虚函数B重载函数C静态函数D模版函数10. 假设有下面的函数调用:专业资料整理WORD格式.专业资料整理WORD格式.fun(a+b, 3, max(n-1, b);其中实参的个数是AA3B4C5D611.以下关于this指针的说法正确的选项是BA this指针存在于每个函数之中B在类的非静态函数中this指针指向调用该函数的对象C this指针是指向虚函数表的指针D this指针是指向类的函数成员的指针12.在以下关于C+函数的表达中,正确的选项是CA每个函数至少要有一个参数B每
4、个函数都必须返回一个值C函数在被调用之前必须先声明D函数不能自己调用自己13.以下运算符中,不能重载的是 CA &B !=C .D -14.下面程序的输出结果是B #include using namespace std;int i = 0;int fun(int n)static int a = 2;a+;return a+n;void main()int k = 5;int i = 2;k += fun(i);k += fun(i);cout k;A 13B 14C 15D 1615.下面的程序段的运行结果为Dchar str = job, *p = str;cout *(p+2) end
5、l;A 98B无输出结果C字符 b的地址D字符 b专业资料整理WORD格式.专业资料整理WORD格式.16.下面程序的输出结果是C#include using namespace std;class Apublic:A (int i) x = i; void dispa () cout x “ ,; private :int x ;class B : public Apublic:B(int i) : A(i+10) x = i; void dispb() dispa(); cout x endl; private :int x ;void main()B b(2);b.dispb();A 1
6、0,2B 12,10C 12,2D 2,217. 下面程序的输出结果是C#include using namespace std;class Basepublic:Base(int i) cout i; Base () ;class Base1: virtual public Basepublic:Base1(int i, int j=0) : Base(j) cout i; Base1() ;class Base2: virtual public Base专业资料整理WORD格式.专业资料整理WORD格式.public:Base2(int i, int j=0) : Base(j) cout
7、 i; Base2() ;class Derived : public Base2, public Base1public:Derived(inta, int b, int c, int d) : mem1(a), mem2(b), Base1(c), Base2(d), Base(a) cout b; private:Base2 mem2;Base1 mem1;void main() Derived objD (1, 2, 3, 4); A 134122B 123412C 14302021D 14321218.下面程序的输出结果是C#include using namespace std;c
8、lass Basepublic:virtual void f() cout “ f0+; void g() cout “ g0+; ;class Derived : public Basepublic:void f() cout “ f+; void g() cout f(); p-g(); A f+g+B f0+g+C f+g0+D f0+g0+19.下面程序的输出结果是C#include using namespace std;class Samplefriend long fun (Sample s)专业资料整理WORD格式.专业资料整理WORD格式.if (s.x 2) return
9、1;return s.x * fun(Sample(s.x-1);public:Sample (long a) x = a; private:long x;void main()int sum = 0;for (int i=0; i4; i+)sum += fun(Sample(i);cout sum;A 12B 16C 10D 3420. 以下程序的输出结果是: D #include using namespace std; int fun(char *s) char *p=s;while (*p!=0) p+;return (p-s);void main()coutfun(abc)endl
10、;A0B.1C.2D.321. 有如下程序段: int i=1; while(1)专业资料整理WORD格式.专业资料整理WORD格式.i+;if (i=10) break;if(i%2=0) coutGetValue()Dx.GetValue( )25. 假定 AA 为一个类, int a() 为该类的一个成员函数,假设该成员函数在类定义体外定义,那么函数头为 A 。专业资料整理WORD格式.专业资料整理WORD格式.A int AA:a( )Bint AA:a()C AA:a()DAA:int a()26. 有如下程序:#include using namespace std; class
11、Testpublic:Test()Test()cout#;int main()Test temp2, *pTemp2;return 0;执行这个程序输出星号#的个数为 B 。A1B2C3D427. 有如下程序:#include using namespace std; class MyClass public:MyClass(int i=0)cout1; MyClass(const MyClass&x)cout2;MyClass& operator=(const MyClass&x)cout3; return *this; MyClass()cout4;int main()MyClass ob
12、j1(1),obj2(2),obj3(obj1);obj1=obj2;return 0; 运行时的输出结果是A。A 1123444 B 11114444C121444D1131444428. 有如下程序:专业资料整理WORD格式.专业资料整理WORD格式.#include using namespace std;class pointpublic:static int number;public:point() number+;point() number-;int point:number=0;void main() point *ptr; point A,B;point *ptr_poin
13、t=new point3;ptr=ptr_point;point C;delete ptr;cout1)#include 专业资料整理WORD格式.专业资料整理WORD格式.using namespace std;int f(int);int main()int n,s;coutn;s=f(n);coutThe result is sendl;return 0;int f(int n)/递归法求立方和函数if (n=1)return 1;elsereturn (f(n-1)+n*n*n);3.请将以下程序补充完整,使得输出结果为“Destructor Derived DestructorBas
14、e。#include using namespace std;class Basepublic:virtualBase () cout “ Destructor Baseendl; ;class Derived : public Basepublic:Derived() cout “ Destructor Derived endl; ;void main ()Base *pBase = new Derived;delete pBase;专业资料整理WORD格式.专业资料整理WORD格式.三、阅读程序,写出运行结果1.#include#includeusing namespace std;cla
15、ss CDchar name20;int number;public:void Init(char* aa, int bb)strcpy(name,aa);number=bb;char* Getname () return name;int Getnumber () return number;void Output() cout name number endl;CD dx;void main()CD dy;dx.Init(歌唱祖国 ,30);dy.Init(义勇军进展曲 ,3*dx.Getnumber ()+5);dx.Output();dy.Output();歌唱祖国 30义勇军进展曲
16、952#include using namespace std;专业资料整理WORD格式.专业资料整理WORD格式.int f(int a)return +a;int g(int& a)return +a;void main()int m=0,n=0;m+=f(g(m);n+=f(f(n);coutm=mendl;coutn=nendl;3. #include using namespace std; class Demopublic:Demo()coutdefault constructorn; Demo(const Demo &x)coutcopy constructorn;Demo us
17、erCode(Demo b)Demo c(b);return c; void main()Demo a,d;coutcalling userCode()n; d = userCode(a);执行上面的程序的过程中,构造函数Demo()和 Demo(const Demo&x)被调用的次数分别是多少次?五、编写程序1、编写函数计算 y=1!+2!+3!.n!,n 作为参数传递,在主函数调用该函数并输出结果。专业资料整理WORD格式.专业资料整理WORD格式.2、编写函数找出二维数组 5*4 中元素的最大值与最小值,并返回其最大值与最小值。测试结果。3、编写一个三角形类,有计算面积,显示面积的功能等
18、,并测试。要求有参数的构造函数及复制构造函数 下面关于类概念的描述中,D是错误的。A)类是抽象数据类型的实现B) 类是具有共同行为的假设干对象的统一专业资料整理WORD格式.专业资料整理WORD格式.描述体C)类是创立对象的样板D) 类就是 C 语言中的构造体类型D 面向对象程序设计思想的主要特征中不包括D 。A)封装性B)多态性C)继承性D)功能分解,逐步求精D01|11|1|1 在 C+中,函数原型不能标识 。A)函数的返回类型 B) 函数参数的个数 C) 函数参数类型 D)函数的功能D01|11|1|1 有关析构函数的说法不正确的选项是()。A) 析构函数有且仅有一个B) 析构函数和构造
19、函数一样可以有形参C) 析构函数的功能是用来释放一个对象D)析构函数无任何函数类型B01|11|2|1 X 类. 那么当程序执行到语句, X array3;时, 调用了D次构造函数。A)0B)1C)2D)3D01|13|1|1 类定义的内容允许被其他对象无限制地存取是C。A)private局部B)protected局部C)public局部D) 以上都不对C01|01|2|1 关于 new 运算符的以下描述中 ,(D )是错误的 . 。专业资料整理WORD格式.专业资料整理WORD格式.A) 它可以用来动态创立对象和对象数组B) 使用它创立对象或对象数组 , 可以使用运算符 DELETE删除C)
20、 使用它创立对象时要调用构造函数D) 使用它调用对象数组时不许指定初始值D01|01|2|1 对于下面程序段,表达式正确的选项是B。class Base public:int b;class Base1:public base ;class Base2:public base ;class Derived:public base1,public base2public:int fun ( ); Derived d;A d. Base1:bB d. Base :bC d.bDd. Base :fun( )B01|12|1|1 可以用 p.a 的形式访问派生类对象 p 的基类成员 a 其中 a 是
21、D。A私有继承的公有成员B公有继承的私有成员C公有继承的保护成员D公有继承的公有成员D 以下关于 C+类的描述中错误的选项是C 。A)类与类之间可以通过一些手段进展通信和联络B)类用于描述事物的属性和对事物的操作C)类与类之间必须是平等的关系,D)类与类之间可以通过封装而具有明确的独立性C01|12|1|1 以下描述中哪个是正确的B。A) 私有派生的子类无法访问父类的成员B)类A的私有派生子类的派生类C无法初始化其祖先类 A对象的属性,因专业资料整理WORD格式.专业资料整理WORD格式.为类 A的成员对类 C是不可访问的C) 私有派生类不能作为基类派生子类D) 私有派生类的所有子孙类将无法继
22、续继承该类的成员B01|11|1|1 以下关于构造函数说法不正确的选项是。A) 构造函数必须与类同名B)构造函数可以省略不写C)构造函数必须有返回值 D) 在构造函数中可以对类中的成员进展初始化C01|13|1|1 如果友元函数重载一个运算符时, 其参数表中没有任何参数那么说明该运算符是 D 。A)一元运算符B)二元运算符C)选项 A) 和选项 B)都可能D) 重载错误D01|14|1|1 在重载一个运算符时, 如果其参数表中有一个参数, 那么说明该运算符是D 。A)一元成员运算符B)二元成员运算符C)一元友元运算符D)选项 B) 和选项 C)都可能D01|12|1|1 一个类的友元函数能够访
23、问该类的D。A)私有成员B)保护成员C)公有成员D)所有成员D 以下关于类定义的说法中,正确的选项是 ( A ) 。A类定义中包括数据成员和函数成员的声明B类成员的缺省访问权限是保护的C 数据成员必须被声明为私有的D成员函数只能在类体外进展定义 A专业资料整理WORD格式.专业资料整理WORD格式.01|14|1|1 通过运算符重载,可以改变运算符原有的 ( A ) 。A操作数类型B操作数个数C优先级D结合性A01|14|1|1 在 C+语言中,数据封装要解决的问题是(D)。A) 数据的标准化 B 便于数据转换 C) 防止数据丧失D)防止不同模块之间数据的非法访问D01|13|1|1 对类成员
24、访问权限的控制 , 是通过设置成员的访问控制属性实现的 , 以下不是访问控制属性的是 ( D ) 。A)公有类型B)私有类型C)保护类型D)友元类型D01|11|1|1 在类的定义中 , 用于为对象分配内存空间 , 对类的数据成员进展初始化并执行其他内部管理操作的函数是 ( C ) 。A)友元函数B)虚函数C)构造函数D)析构函数C01|11|1|1 类的析构函数的作用是 ( D )。A)一般成员函数的初始化 B) 类的初始化C)对象的初始化 D)删除类创立的对象D01|13|1|1 以下说法正确的选项是 ( B )。A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B) 内联函
25、数在编译时是将该函数的目标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字inline定义专业资料整理WORD格式.专业资料整理WORD格式.B01|12|1|1 以下对派生类的描述中 , 错误的选项是 ( D ) 。A) 一个派生类可以作为另一个派生类的基类B) 派生类至少有一个基类C)派生类的成员除了自己的成员外,还包含了它的基类的成员D)派生类中继承的基类成员的访问权限到派生类保持不变D01|12|1|1 运算符的重载是对已有的运算符赋予多重含义,因此A。A)可以对根本类型如 int 类型的数据,重新定义“ +运算符的含义B) 可以改变
26、一个已有运算符的优先级和操作数个数C)只能重载 C+中已经有的运算符,不能定义新运算符D)C+中已经有的所有运算符都可以重载 A01|13|1|1 如果类 A 被说明成类 B 的友元,那么 D 。A)类 A 的成员即是类B 的成员B)类 B 的成员即是类 A 的成员C)类 A 的成员函数不得访问类B 的成员D)类 B 不一定是类 A的友元D01|13|1|1 不能作为重载函数的调用的依据是D。A)参数的个数B)参数的类型 C函数的类型D)函数的名称D01|13|1|1 在C+语言的面向对象设计框架中,类 是程序的根本组成单元。 类01|13|1|1 继承的方式的公有继承、私有继承和 保护继承
27、三种。 保护继承专业资料整理WORD格式.专业资料整理WORD格式.01|13|1|1在用 class 定义一个类时 , 数据成员函数的默认访问权限是私有的。 私有的01|13|1|1 类的构造函数是在 定义对象 时调用的。 定义对象01|13|1|1 类模板的使用实际上是将类模板实例化成一个具体的对象。 对象01|13|1|1 如果类 B继承了类 A, 那么称类 A为类 B的基类 , 类 B称为类 A 的派生类。 派生类01|13|1|1如果要把返回值为 void 的函数 A声明为 B类的友元数 , 那么应在类 B的定义中参加语句是12。02|10|1|1 有如下定义: class MAin
28、t value;public:MAint n=0 value=n;MA *ta,tb;其中 MA类的对象名标识符是(tb)。tb02|12|1|1 用来派生新类的称为 ( 基类 ) ,而派生出的新类称为它的子类或派生类。 基类02|12|1|1 面向对象的程序设计的主要特征是继承性、 封装性 和多态性。 封装性专业资料整理WORD格式.专业资料整理WORD格式.02|10|1|1 向对象的模型中,最根本的概念是对象和 类 。 类03|14|1|1 通过使用 new和delete 两个运算符进展的分配为静态存储分配。 F03|14|1|1 重载的运算符保持其原有的操作符个数、优先级和结合性不变。
29、T03|10|1|1 在面向对象方法中,类之间共享属性和操作的机制称为多态 性 。F03|12|1|1 可以用 p.a 的形式访问派生类对象 P的基类成员 a, 其中 a是公有继承的公有成员。TC+语言相对于 C语言的最根本的变化是引进了类和对象的概念。T03|10|1|1 类的析构函数的作用是删除类创立的对象。T02|13|1|2 动态分配内存空间操作符new和( ) 使用时必须成对出现。delete02|12|1|2 用以说明类中保护成员的关键字是 ( ) 。protected02|11|1|2 对于任意一个类,析构函数的个数最多为()个 。专业资料整理WORD格式.专业资料整理WORD格
30、式.102|08|1|2 假设有以下定义语句:Struct dataint i ;char;double f ;b;那么构造体变量占用的内存字节数是()。3.14*r*r03|02|1|2 分号是 C+语句的必要组成局部。()T03|12|2|2 公有派生时, 基类中所有成员在公有派生类中保持各个成员的访问权限。T04|12|2|2 以下程序中横线处正确的语句应该是。 include using namespace std; class Basepublic; void fun( )cout “Base : : fun endl; ;class Derived : public Basepub
31、lic: void fun( )_/ 显示调用基类的函数 fun( )cout “Derived : : fun endl;专业资料整理WORD格式.专业资料整理WORD格式.;004|11|2|2 写出以下程序的运行结果。#include class Apublic:A()cout1;A()cout2;class B:public Apublic:B()cout3;B()cout4;void main()B b; 132404|09|2|2 以下程序的执行结果为。 include void mian()专业资料整理WORD格式.专业资料整理WORD格式.int n=10;int* pn=&n
32、;int* &rn=pn;(*pn)+;coutn=nendl;(*rn)+;cout n= nendl;n=11 n=12专业资料整理WORD格式.专业资料整理WORD格式.05|08|2|2 定义描述复数的构造体变量,并实现复数的输入和输出. 设计 3 个函数分别完成复数的加法、减法运算。编写主函数验证复数的运算是否正确。#include struct complfloat real;float com;compl add(compl c1,compl c2)compl t ;t.real=c1.real+c2.real;t=c1+c2;return t;compl sub(compl c1,compl c2)compl t;t.real=c1.real-c2.real;t=c1-c2;return t;compl input(void) compl c;coutc.realc;return c;void output(compl c) cout 复数的实部: c.real 复数的虚部: cendl;void main()专业资料整理WORD格式.专业资料整理WORD格式.compl c1,c2,c3,c4,c5;c1=input();c2=input();c3=add(c1,c2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手术器械装配调试工应急处置考核试卷及答案
- 公立医院药品采购质量检查及整改措施
- 2025年割灌机项目规划申请报告
- 七年级第一学期体育课综合素质提升计划
- 轨道交通原材料、半成品、外购件的质量保证措施
- 高三政治二轮复习咨询辅导计划
- 路灯照明电气安装安全措施
- 机场突发事件应急预案和保障措施
- 家具制造现场成品保护措施
- 环境保护项目组织机构及管理措施
- 车库业主与租赁者安装充电桩协议书
- 办公设备(电脑、一体机、投影机等)采购 投标方案(技术方案)
- 园林工程竣工验收与养护期
- 儿童感觉统合能力发展评定量表
- 《养老护理员》-课件:协助老年人如厕
- 丙酸丙酯的分离工艺
- 二维层状材料的堆叠效应
- 审计资料交接清单
- 从业人员晨检记录表
- CQI-9热处理系统审核第三版(中文版)
- 马兰士CD6004 使用说明书
评论
0/150
提交评论