c期末考试复习题张桐

上传人:ni****g 文档编号:493709874 上传时间:2023-02-21 格式:DOC 页数:30 大小:137.01KB
返回 下载 相关 举报
c期末考试复习题张桐_第1页
第1页 / 共30页
c期末考试复习题张桐_第2页
第2页 / 共30页
c期末考试复习题张桐_第3页
第3页 / 共30页
c期末考试复习题张桐_第4页
第4页 / 共30页
c期末考试复习题张桐_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《c期末考试复习题张桐》由会员分享,可在线阅读,更多相关《c期末考试复习题张桐(30页珍藏版)》请在金锄头文库上搜索。

1、一、 填空题(每空1分,共15分,将正确答案写在( )中)1.C+中有两种数据类型: ( 整型 )和 ( 字符型 )可以使用signed修饰符。在C+中,用数组、指针、和( 引用 )作为函数参数,能够将参数值带回。2.为了降低函数调用的时间开销,建议将小的调用频繁的函数定义为(内联函数 ),方法是在函数类型前加上( inline )关键字。3.面向对象的程序设计有四大特征,它们是抽象、封装、( 继承 )、( 多态 )。4.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是( 拷贝每一个数据成员 )。或逐一拷贝5.用new申请某一个类的动态对象数组时,在该类中

2、必须能够匹配到( 默认 )构造函数,否则应用程序会产生一个编译错误。6.静态数据成员必须在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象( 共享 )。7.在C+中,定义重载函数时,应至少使重载函数的参数个数或参数类型( 有一个不同 )。8.在C+中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的( 封装 )特性。9.预编译指令由三种,它们是:文件包含、 ( 宏定义)(条件编译)10.静态的成员函数没有隐含的 ( this指针 ),所以,它们只能直接访问类的静态的数据成员。11.在C+中,函数的参数有两种传递方式,它们是值传递和( 引用传递 )。12.当非静态成

3、员函数被调用时,该成员函数的( this指针 )指向调用它的对象。13.拷贝构造函数使用( 一个已经存在的对象 )作为参数初始化创建中的对象。14.在公有继承的情况下,基类数据成员在派生类中的访问权限( 保持不变 )。15.在C+中,构造派生类对象时,总是先从( 基类 )的初始化开始的。16.当需要统计程序中某个类创建对象的个数时,需要给该类定义( 静态数据 )成员。17.在多个类之间有重复继承时,为避免被重复继承的基类数据成员在内存中有多个拷贝,应将该基类定义为( 虚基类 )。18.在C+类中,有一种不能定义对象的类,这样的类只能被继承,称之为( 抽象类 ),定义该类至少具有一个( 纯虚函数

4、 )。19.在C+中构造一个对象时,其数据成员在构造函数中初始化。对于内嵌的对象、 ( 常量) ( 基类)数据成员需要在构造函数的成员初始化列表中初始化。 20.在类的定义中,说明为protected的数据成员称为保护成员。保护数据成员具有双重作用:对于其派生类而言, (是公有的);而对于其外部的程序而言, ( 是私有的 )。21.控制格式输出的操纵符中,(setprecision )是设置数据精度的,( hex )是设置十六进制的。22.如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为_1 _。23已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式

5、ch=a+4的值为_ e_。24数组与函数参数联系密切,当用数组元素作函数参数时,这是属于值传递;当数组名作为参数时,这是属于 引用 传递,对形参的改变可影响到实参。25利用“对象名.成员变量”形式访问的对象成员仅限于被声明为 public 的成员;若要访问其他成员变量,需要通过 成员 函数或友元函数函数。26一个_类_和_对象_的关系,正如基本数据类型与该类型的变量一个。27类成员的默认访问方式是_私有_ _. 28一个类有_多个_个构造函数,有_一个_析构函数。29类的_静态_成员函数不能对类中的非静态成员进行默认访问。30如果说明类B是类A的友元类,则类B的所有成员函数都是类A的_友元函

6、数_。31利用成员函数对二元运算符重载,其左操作数为this 指针 右操作数为成员函数参数 。32类有两种用法:一种是类的实例化,即生成类的_对象_ ;另一种是通过_继承_派生出新的类。33运算函数中的关键字是_operator_,它和运算符一起组成该运算符函数的函数名。34如果一个类中有一个或多个纯虚函数,则这个类称为_抽象类_。35文件的打开是通过通过使用类_fstream_的成员函数_open( )_来实现的。36设所有变量均为整型,则表达式(e=2,f=5,e+,f+,e+f)的值为_9_。37已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=c+1的值为_d_。38函

7、数的形参在未被调用之前 不会 分配空间,函数的形参的 个数和类型 要和实参的相同。39类的成员分为数据成员和_成员函数_。40类完成了面向对象程序设计的_封装_特性。41构造函数是_对象_被创建时自动执行,对象消失时自动执行的成员函数称为_析构函数_对象 42C+将类继承分为 单继承 和 多继承 两种。43在继承机制下,当对象消亡时,编译系统先执行 派生类 的析构函数,然后才执行派生类中子对象类的析构函数,最后执行 基类 的析构函数。44类的_public_数据成员是类所有对象共享的成员。45友元函数_不是_类的成员函数。(是/不是)46如果类A继承了类B,则类A称为_派生类_,类B称为_基类

8、_。47运算符重载后,原运算符的优先级和结合特性_不会_改变。(会/不会)48_纯虚函数_是一个在基类中说明的虚函数,但未给出具体的实现,要求在其派生类实现。49文件的关闭是通过通过使用类_fstream_的成员函数_close( )_来实现的。二、选择题1面向对象的( B )是一种信息隐蔽技术,目的在于将对象的使用者与设计者分开。不允许使用者直接存取对象的属性,只能通过有限的接口与对象发生联系。A多态性 B封装性 C继承性 D重用性2C+的合法注释是( B )。A/*This is a C program/* B/ This is a C programC “This is a C prog

9、ram” D/*This is a C program/3关于C+和C语言的描述中,( D )是错误的?AC是C+的一个子集 B C程序在C+环境可以运行C C+程序在C环境可以运行 D C+是面向对象的而C是面向过程的4运算符 +、=、=、% 中,优先级最低的运算符是( C )。A. + B.a+&cd)?+d:ab” 值为( D )。A9 B6 C8 D0 (假)6对while、dowhile循环结构,下面说法正确的是( B )。 A只是表达形式不同Bdowhile结构中的语句至少执行一次(先执行后判断)Cwhile结构中的语句至少执行一次 D条件成立时,它们有可能一次也不执行7对中断语句

10、的说法下面不正确的是( B )。A用户可以指定中断的位置 B用户可以指定转移的位置Cbreak语句可以跳出本循环 Dcontinue语句可以结束本次循环8以下正确的说法是( )。A用户若需要调用标准函数,调用前必须重新定义B用户可以直接调用所有标准库函数 C用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数D用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数9下列哪个不是重载函数在调用时选择的依据( )。A参数类型 B参数个数 C函数类型 D函数名10对数组名作函数的参数,下面描述正确的是(B)。A数组名作函数的参数,调用时将实参数组复制给形参数组B数组

11、名作函数的参数,主调函数和被调函数共用一段存储单元C数组名作参数时,形参定义的数组长度不能省略D数组名作参数,不能改变主调函数中的数据11如果x是整型变量,则合法的形式是( D )。A(x+5)B*xC&*xD*&x12在定义一个共用体变量时,系统为其分配存储空间的原则是(B)。A按所有成员需要的存储空间总和分配。B.按成员中占存储空间最大者分配。C按成员占存储空间最小者分配。 D.按第一个成员所需的存储空间分配。13下面( B )项是对构造函数和析构函数的正确定义。Avoid X:X(), void X:X()BX:X(参数), X:X() (析构括号没参数)CX:X(参数), X:X(参数

12、)Dvoid X:X(参数), void X:X(参数)14拷贝构造函数具有的下列特点中,( D )是错误的。A 如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的B 拷贝构造函数只有一个参数,并且是该类对象的引用C. 拷贝构造函数是一种成员函数D. 拷贝构造函数的名字不能用类名15类的析构函数的作用是( D )。A.一般成员函数 B.类的初始化 C.对象初始化 D.删除对象16下列对派生类的描述中,( D )是错误的。A一个派生类可以作为另一个派生类的基类B派生类至少有一个基类C派生类的成员除了它自己的成员外,还包含了它的基类成员D派生类中继承的基类成员的访问权限到派生类保持不变1

13、7继承具有( B ),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。A规律性 B.传递性 C.重复性 D.多样性18C+类体系中,能被派生类继承的是( B )。A构造函数 B虚函数 C析构函数 D友元函数19下列关于动态联编的描述中,错误的是(D)。 A动态联编是以虚函数为基础 B动态联编是运行时确定所调用的函数代码的 C动态联编调用函数操作是指向对象的指针或对象引用 D动态联编是在编译时确定操作函数的(如果已经确定还谈什么动态)20关于纯虚函数和抽象类的描述中,错误的是( C )。 A纯虚函数是一种特殊的虚函数,它没有具体的实现 B抽象类是指具有纯虚函数的类 C一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类(如果派生类没有重新定义纯虚函数,而派生类只是继承基类的纯虚函数,则这个派生类仍然还是一个抽象类)D. 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出21C+源文件的扩展名为( A )。Acpp Bc Ctxt Dexe22在C+语言中,( A )的陈述是正确的。A能使用关键字并区分大小写 B能使用关键字并不区分大小写C 不能使用关键字并

展开阅读全文
相关资源
相关搜索

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

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