ImageVerifierCode 换一换
你正在下载:

C习题.docx

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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C习题.docx

1、C 习题一、单项选择题1有以下类的说明,请指出错误的地方。 class CSample int a2. 5; (A) Csample(); (B) public: CSample(int val); (C) CSample(); (D) ;答:A分析:类的数据成员不能直接赋初值。2在C十中,可以把具有相同内部存储结构和相同操作的对象看成属于同一类。在指定一个类后,往往把属于这个类的对象称为类的 。从语言角度来说,类是一种数据类型,而 是具有这种类型的变量。 A实例 B实物 C特征 D对象答:AD3有关类的说法不正确的是 。 A类是一种用户自定义的数据类型 B只有类中的成员函数才能存取类中的私有

2、数据 C在类中,如果不作特别说明,所有的数据均为私有类型 D在类中,如果不作特别说明,所有的成员函数均为公有类型答:D4有关类和对象的说法下列不正确的有 。 A对象是类的一个实例 B任何一个对象只能属于一个具体的类 C一个类只能有一个对象 D类与对象的关系和数据类型和变量的关系相似答:C5有关构造函数的说法不正确的是 。 A构造函数名字和类的名字一样 B构造函数在说明类变量时自动执行 C构造函数无任何函数类型 D构造函数有且只有一个答:D6有关析构函数的说法不正确的是 。 A析构函数有且只有一个 B析构函数无任何函数类型 C析构函数和构造。数一样可以有形参 D析构函数的作用是在对象被撤消时收回

3、先前分配的内存空间答:C分析:构造函数可以有形参,但析构函数不能有形参。7在类的定义体外定义成员函数时,需要在函数名前加上 (1) ,而在域外使用成员函数时,需要在成员名外加上 的名字。 A类标记 B类域标记 C类对象 D域运算符答:BC8若函数是在运行时被激活的,则该函数称为 。 A内联函数 B非内联函数 C成员函数 D静态成员函数答:B9在类的定义形式中,数据成员、成员函数和 组成了类定义体。 A成员的访问控制信息 B公有消息 C私有消息D保护消息答:A10 的功能是对对象进行初始化。 A析构函数B数据成员 胸造函数D静态成员函数答:C11 只能访问静态成员变量,静态成员函数和类以外的函数

4、和数据不能访问类中的非静态成员变量。 A静态函数 B虚函数 C构造函数 D析构函数答:A12若却queue是类,aQueue是它的一个对象,pl是类对象aQueue的一个指针,那么类对象 aQueue可以通过 来访问类的成员,类对象 aQueue的指针p1 可以通过 来访问类的成员。 A: B C; D答:BD13局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用 。提供对全局变量的访问。 A域运算符 B类运算符 C重载 D引用答:A14在下列关键宇中,用以说明类中公有成员的是 。 Apublic B private Cprotected Dfriend答:A15下列的各

5、类函数中, 不是类的成员函数。 A构造函数B析构函数C友元函数D拷贝初始化构造函数答:C16 不是构造函数的特征。 A构造函数的函数名与类名相同 B构造函数可以重载 C构造函数可以设置默认参数 D构造函数必须指定类型说明答:D17 是析构函数的特征。 A一个类中只能定义一个析构函数 B析构函数名与类名不同 C析构函数的定义只能在类体内 D析构函数可以有一个或多个参数答:A18通常拷贝初始化构造函数的参数是、。 A某个对象名 B某个对象的成员名 C某个对象的引用名 D某个对象的指针名答:C19关于成员函数特征的下述描述中, 是错误的。 A成员函数一定是内联函数 B成员函数可以重载 C成员函数可以

6、设置参数的默认值 D成员函数可以是静态的答:A分析:成员函数可以是时联函数,也可以是非内联函数。20下述静态数据成员的特性中, 是错误的。 A说明静态数据成员时前边要加修饰符StatiC B静态数据成员要在类体外进行初始化 C引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符 D静态数据成员不是所有对象所共用的答:D21友元的作用。 A提高程序的运用效率 B加强类的封装性 C实现数据的隐藏性 D增加成员函数的种类答:A22类模板的使用实际上是将类模板实例化成一个具体的 。 A类B对象C函数D模板类答:A23一个 允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数 的返回值

7、能取任意类型。 A函数模板B模板函数C类模板D模板类答:C24模板是实现类属机制的一种l具,其功能非常强大,它既允许用户构造类属函数,即 ;也允许用户构造类属类,即 。 A模板函数 B函数模板 C模板类 D类模板答:AC二、填空题1任何类中允许有三种类型的数据 、 、 。答:public private protected2类中的数据和成员函数默认类型为 。答:私有3结构中p玫据和成员函数默认类型为 。答:公有4在类内部定义的 数据不能被不属于该类的函数来存取,定义为 的数据、函数则可以在类外部进行存取。答:pritvale public5 是一种特殊的成员函数,它主要用来为对象分配内存空间,

8、对类的数据成员进行初始化并执行对象的其他内部管理操作。答:构造函数6一个类有 个析构函数。答:l7静态数据成员在定义或说明时前面要加上关键字 。答:static8 成员函数的实现中不能直接引用类中说明的非静态成员。答:静态9定义在类内部的函数为类默认状态 ,在类外部每次调用该函数时,定义的函数代码会在调用函数位置展开。答:内联函数10以下程序运行的结果为、。 Include”iostreamh” class CSample private: int i; static int k; public: CSample(); void Display(); ; CSample:CSample() i

9、0; k+; void Csample :Display() cout ”i=” i”,k=” k endl; int csample:k=0; void main() CSample a,b; aDisplay(); bDisplay(); 答:i0,k2 i0,k211以下程序运行的结果为。 Include”iostreamh” class CSample int i; public: CSample(); void Display(); CSample(); ; CSarnple:CSample() cout”Constructor”,”; i=0; ; void CSample:Dis

10、play() cout”i=”i”,”; CSample:CSample() cout”Destructor”endl; void main() CSample a; aDisplay(); 答:Constructor,i=0,Destructor12以下程序运行的结果为。 include”streamh” class CSample int i; public: CSample(); CSample(int val); void Display(); CSample(); ; CSample:CSample() cout”Constructor”end1; CSample:CSample(i

11、nt val) cout”Constructor”end1; i=val; void CSample:Display() cout”i”iend1; CSample:CSample() cout”Destructor”endl; void main() CSample a,b(10); aDisplay(); bDisplay(); 答:Constructor1 Constructor2 i0 i=10 Destructor Destructor13以下程序运行的结果为。 include”iostreamh” C1ass CCouter int value; public: CCounter(

12、); CCounter(int val); CCounter(); ; class CExample intvalue; public: CCounter car; CExample(); cexample(int val); void DISplay(); CExample(); ; CCounter:CCounter() cout”ccounter Constructorl”endl; value0; CCounter:CCounter(int val) cout”CCounter constructor2”endl; valueval; CCounter:CCounter() cout”

13、CCounter Destructor”endl; CExarnple:CExample() cout”CExample constructorl”endl; value0; CExample:CExample(int val) cout”CExamPle Constructorl”endl; value=val; void CExample:Display() cout”value” valueendl; CExample:CExample() cout”CExample Destructor”endl; void main() CExample e(2); eDisplay(); 答:cc

14、ounter Constructor2 CExample Constructor2 Value=2; CExample Destmctor CCoullter Destructor14以下程序运行的结果为。 #includeiostreamh Class B public: B(); B(int i , int j); void Printb (); private: int a,b; ; classA public: A(); A(int i,int j); void printa(); private: B c; ; A:A(int i,int D):c(i,j) ; void A:pri

15、nta() cprintb(); B:B(int i,int j) a=i;bj; void B:: printb() cout ”a=” a”,b=” b endl; void main() A m(78); mprinta(); 答:a7,b815阅读以下程序后填空。 #includeiostreamh class queue int q100;存放队列中的各个元素 int head,rear;head和 rear分别为队头、队尾 public: queue(); void qgut(int i); int qget(); ; queue:queue()构造函数 headrear0; co

16、ut”queue initializedn”; void queue:qput(int i) if(head100) cout”queue is fulln”; return; head十十; qhead=i; int queue:qget() if(rear=head) cout ”queque is emptyn”; return 0; rear; return qrear; void main) queue a,b; aqPut(10); bqput(20); aqput(20); bqPut(19); coutta.qget()endl;操作1 coutta.qget()endl;操作

17、2 coutta.qget()endl;操作3 coutta.qget()endl;操作4 操作1输出的结果是,操作2输出的结果是,操作3输出的结果是,操作4输出的结果是。答:10202019二、类和对象一、单项选择题l已知一个类A, 是指向类A成员函数的指针。假设类有三个公有成员:void fl(int),void f2(int)和 int a。 AAp Bint A:pc。A:a Cvoid A:pa DApp答:C2运算符一*的功能是 。 A用来表示指向对象指针对指向类成员指针的操作 B用来表示对象对指向类成员指针的操作 C月来表示指向对象指针对类成员的操作 D用来表示对象类成员的操作答

18、:A3己知fl(int)是类A的公有成员函数,p是指向成员函数fl( )的指针,采用 是正确的。 Apf1 Bp=a:f1* Cp=a:f1*() DPf1()答:B4已知:p是一个指向类A数据成员m的指针,AI是类A的一个对象。如果要给m赋值为5, 是正确的。 AA1p5 B. A1-p5 CA1p5 DA1p5答:C5己知:类A中一个成员函数说明如下: void Set(Aa);其中,Aa的含义是 。 A指向类A的指针为a B将a的地址值赋给变量Set C. a是类A的对象引用,用来作函数Set()的形参 D变量A与a按位相与作为函数Set()的参数答:C6下列关于对象数组的描述中, 是错

19、误的。 A对象数组的下标是从0开始的 B对象数组的数组名是一个常量指针 C对象数组的每个元素是同一个类的对象 D对象数组只能赋初值,而不能在定义后赋值 答:D7,下列定义中, 是定义指向数组的指针p. Aint*p5 Bint(*p)5 C(int*)p5 Dint*p 答:B8下列说明中 const charptr; Ptr应该是、。 A指向字符常量的指针 B指向字符的常量指针 C指向字符串常量的指针 D指向字符串的常量指针答:C9已知:Print()函数是一个类的常成员函数,它无返回值,下列表示中,是正确的。 Avoid prit( ) const Bconst void print()

20、Cvoid const print() Dvoid pfint(const)答:A10关于new运算符的下列描述中, 是错误的。 A它可以用来动态创建对象和对象数组 B使用它创建的对象或对象数组,可以使用运算符delete删除 C使用它创建对象时要调用构造函数 D使用它创建对象数组时必须指定初始值答:D11关于delete运算符的下列描述中, 是错误的。 A它必须用于new返回的指针 B它也适用于空指针 C对一个指针可以使用多次该运算符 D指针名前只用一对方括号符,不管所删除数组的维数答:C二、空题1以下程序的执行结果是。 Include”iostreamh” class Sample int

21、 X; public: void setx(int i) xi; int putx()return x; ; Void main() Samplep; Sample A3; A0setx(5); Alsetx(6); A2Setx(7); For(int j0;j3;j) pAj; coutPPutx()” ”; coutendl; :5,6,72以下程序的执行结果是,。 includeiostreamh class Sample int X; public: void setx(int i) x=i; int putx()return x; ; Void main() samplep; Sa

22、mple A3; A0setx(5); Alsetx(6); A2Setx(7); P=A 0; for(int j=0;j3;j) coutpputx()” ”; coutend1 答:5,6,73以下程序的执行结果是。 includeiostreamh class box int length; int Width; boxanother box; public: box(); void Set(int new length,int new wdth); int get area(); void point at next(box*where to point); box*get next

23、(); ; bOX:bOX() length8;width8;another bOXNULL; void box:set(int new length, int new width) lengthnew length;widthnew width; int box:get area() return lenqthwidth; void box:point at next(boxWhere to point) another boxwhere to point; box*box::qet next() return another box; void main() box small,mediu

24、m,large; boxbox pointer; smallset(5,7); largeset(15,20); cout”小方框的面积是:”smallgetarea()endl; cout“中方框的面积是:”mediumqet、area()endl; cout”大方框的面积是:”largegetarea()endl; small pointatnext(medium);mediumPoint at next(large);box pointersmallbox pointerbox pointer-get next();cout”指向的方框的血积是:”boxPointerg6tarea()e

25、ndl; 答:小方框的面积是:35 中方框的面积是:64 大方框的面积是:300 指向的方框的面积是为644以下程序的执行结果是 。 includeiostream.h CldSS B int x,y; publiC: B()x=y=0;cout”Constructorl”endl; B(int i)Xi;y=0;cout”constructor2”endl;) B(int i,int j)x=i;yj;cout”Constructor3”endl; B()cout”Destructor”endl; void print() cout ”x=” x”,y=” y endl; ; void ma

26、in() bptr; ptr=new B3; Ptr0=B(); ptrlB(5); Ptr2B(2,3); For(int i=0;i3;i十十) ptriprint(); deleteptr; 答: Constructorl Constructorl Constructorl Constructorl Destructor Constructor2 Destructor Constructor3 Destructor X=0,y0 x5,y0 X=2,y3 Destructor Destructor Destructor6以下程序的执行结果是 。 includeiostreamh class A public: A(int i=0)mi;cout”constructor”mend1; void set(int i)mi; void print()constcoutmendl; A()

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2