c 期末考试复习题

发布 2021-04-21 12:08:28 阅读 3566

一、 填空题。

中有两种数据类型: (整型 )和 ( 字符型 )可以使用signed修饰符。

在c++中,用数组、指针、和( 引用 )作为函数参数,能够将参数值带回。

2.为了降低函数调用的时间开销,建议将小的调用频繁的函数定义为(内联函数 ),方法是在函数类型前加上( inline )关键字。

3.面向对象的程序设计有四大特征,它们是抽象、封装、( 继承 )、多态 )。

4.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是( 拷贝每一个数据成员 )。或逐一拷贝。

5.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到( 默认 )构造函数,否则应用程序会产生一个编译错误。

6.静态数据成员必须在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象( 共享 )。

7.在c++中,定义重载函数时,应至少使重载函数的参数个数或参数类型( 有一个不同 )。

8.在c++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的( 封装 )特性。

9.预编译指令由三种,它们是:文件包含、 (宏定义)(条件编译)

11.在c++中,函数的参数有两种传递方式,它们是值传递和( 引用传递 )。

12.当非静态成员函数被调用时,该成员函数的( this指针 )指向调用它的对象。

13.拷贝构造函数使用( 一个已经存在的对象 )作为参数初始化创建中的对象。

14.在公有继承的情况下,基类数据成员在派生类中的访问权限( 保持不变 )。

15.在c++中,构造派生类对象时,总是先从( 基类 )的初始化开始的。

16.当需要统计程序中某个类创建对象的个数时,需要给该类定义( 静态数据

)成员。17.在多个类之间有重复继承时,为避免被重复继承的基类数据成员在内存中有多个拷贝,应将该基类定义为( 虚基类 )。

18.在c++类中,有一种不能定义对象的类,这样的类只能被继承,称之为( 抽象类 ),定义该类至少具有一个( 纯虚函数 )。

19.在c++中构造一个对象时,其数据成员在构造函数中初始化。对于内嵌的对象、 (常量) (基类)数据成员需要在构造函数的成员初始化列表中初始化。

20.在类的定义中,说明为protected的数据成员称为保护成员。保护数据成员具有双重作用:对于其派生类而言, (是公有的);而对于其外部的程序而言, (是私有的 )。

22.如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为___1 _。

23.已知字母a的ascii码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+4’的值为__ e__。

24.数组与函数参数联系密切,当用数组元素作函数参数时,这是属于值传递;当数组名作为参数时,这是属于引用传递,对形参的改变可影响到实参。

25.利用“对象名。成员变量”形式访问的对象成员仅限于被声明为 public 的成员;若要访问其他成员变量,需要通过成员函数或友元函数函数。

26.一个__类__和_对象__的关系,正如基本数据类型与该类型的变量一个。

27.类成员的默认访问方式是__私有_ _

28.一个类有_多个_个构造函数,有___一个__析构函数。

29.类的__静态__成员函数不能对类中的非静态成员进行默认访问。

30.如果说明类b是类a的友元类,则类b的所有成员函数都是类a的__友元函数___

32.类有两种用法:一种是类的实例化,即生成类的_对象___另一种是通过__继承___派生出新的类。

34.如果一个类中有一个或多个纯虚函数,则这个类称为__抽象类___

36.设所有变量均为整型,则表达式(e=2,f=5,e++,f++,e+f)的值为_9_。

37.已知c的ascii码为十进制数99,设k为字符型变量,则表达式k=‘c’+1的值为___d___

38.函数的形参在未被调用之前不会分配空间,函数的形参的。

个数和类型要和实参的相同。

39.类的成员分为数据成员和_成员函数___

40.类完成了面向对象程序设计的__封装___特性。

41.构造函数是__对象___被创建时自动执行,对象消失时自动执行的成员函数称为__析构函数___对象

42.c++将类继承分为单继承和多继承两种。

43.在继承机制下,当对象消亡时,编译系统先执行派生类的析构函数,然后才执行派生类中子对象类的析构函数,最后执行基类的析构函数。

44.类的__public__数据成员是类所有对象共享的成员。

45.友元函数__不是_类的成员函数。(是/不是)

46.如果类a继承了类b,则类a称为___派生类___类b称为___基类___

48.__纯虚函数___是一个在基类中说明的虚函数,但未给出具体的实现,要求在其派生类实现。

二、选择题。

1.面向对象的( b )是一种信息隐蔽技术,目的在于将对象的使用者与设计者分开。不允许使用者直接存取对象的属性,只能通过有限的接口与对象发生联系。

a.多态性 b.封装性c.继承性d.重用性。

2.c++的合法注释是( b )。

a./*this is a c program/* b.//this is a c program

c. “this is a c program” d./*this is a c program//

3.关于c++和c语言的描述中,( d )是错误的?

a.c是c++的一个子集b. c程序在c++环境可以运行。

c. c++程序在c环境可以运行 d. c++是面向对象的而c是面向过程的。

4.运算符 +、中,优先级最低的运算符是( c )。

ab.5.已知a=4,b=6,c=8,d=9,则“(a++,b>a++&c>d)?+d:aa.9b.6c.8d.0 (假)

6.对while、do…while循环结构,下面说法正确的是( b )。

a.只是表达形式不同b.do…while结构中的语句至少执行一次(先执行后判断)

c.while结构中的语句至少执行一次 d.条件成立时,它们有可能一次也不执行。

7.对中断语句的说法下面不正确的是( b )。

a.用户可以指定中断的位置b.用户可以指定转移的位置。

c.break语句可以跳出本循环d.continue语句可以结束本次循环。

8.以下正确的说法是( )

a.用户若需要调用标准函数,调用前必须重新定义。

b.用户可以直接调用所有标准库函数

c.用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数。

d.用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数。

9.下列哪个不是重载函数在调用时选择的依据( )

a.参数类型 b.参数个数 c.函数类型 d.函数名。

10.对数组名作函数的参数,下面描述正确的是(b)。

a.数组名作函数的参数,调用时将实参数组复制给形参数组。

b.数组名作函数的参数,主调函数和被调函数共用一段存储单元。

c.数组名作参数时,形参定义的数组长度不能省略。

d.数组名作参数,不能改变主调函数中的数据。

11.如果x是整型变量,则合法的形式是( d )。

a.&(x+5) b.*xc.&*xd.*&x

12.在定义一个共用体变量时,系统为其分配存储空间的原则是( b)。

a.按所有成员需要的存储空间总和分配。b.按成员中占存储空间最大者分配。

c.按成员占存储空间最小者分配。 d.按第一个成员所需的存储空间分配。

13.下面( b )项是对构造函数和析构函数的正确定义。

a.void x::x(),void x::~x()

b.x::x(参数), x::~x() 析构括号没参数)

c.x::x(参数), x::~x(参数)

d.void x::x(参数), void x::~x(参数)

14.拷贝构造函数具有的下列特点中,( d )是错误的。

a. 如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的。

b. 拷贝构造函数只有一个参数,并且是该类对象的引用。

c. 拷贝构造函数是一种成员函数。

d. 拷贝构造函数的名字不能用类名。

15.类的析构函数的作用是( d )。

a.一般成员函数 b.类的初始化 c.对象初始化 d.删除对象。

16.下列对派生类的描述中,( d )是错误的。

a.一个派生类可以作为另一个派生类的基类。

b.派生类至少有一个基类。

c.派生类的成员除了它自己的成员外,还包含了它的基类成员。

d.派生类中继承的基类成员的访问权限到派生类保持不变。

17.继承具有( b ),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。

a规律性 b.传递性 c.重复性 d.多样性。

18.c++类体系中,能被派生类继承的是( b )。

a.构造函数 b.虚函数 c.析构函数 d.友元函数。

19.下列关于动态联编的描述中,错误的是(d)。

a.动态联编是以虚函数为基础。

b.动态联编是运行时确定所调用的函数**的。

c.动态联编调用函数操作是指向对象的指针或对象引用。

d.动态联编是在编译时确定操作函数的(如果已经确定还谈什么动态)

20.关于纯虚函数和抽象类的描述中,错误的是( c )。

a.纯虚函数是一种特殊的虚函数,它没有具体的实现。

b.抽象类是指具有纯虚函数的类。

C期末考试复习题

c 期末考试复习题。一 选择题。1.在声明类时,下面的说法正确的是 c a.可以在类的声明中给数据成员赋初值 b.数据成员的数据类型可以是register 可以按任意顺序出现 d.没有用 private public protected定义的数据成员是公有成员。2.在一个类的定义中,包含有 c 成员...

C 期末考试复习题

一 选择题。1.在声明类时,下面的说法正确的是 c a.可以在类的声明中给数据成员赋初值 b.数据成员的数据类型可以是register 可以按任意顺序出现 d.没有用 private public protected定义的数据成员是公有成员。2.在一个类的定义中,包含有 c 成员的定义。a.数据 b...

c期末考试复习题

1.程序中主函数的名字为 a.main b.main c.main d.任意标识符。2.关于c 程序的书写,下列不正确的说法是 a.区分大小写 b.一行可以写多条语句 c.一条语句可写成多行。3.能正确表示逻辑关系 a 10 或a 0 的c 语言表达式是 a.a 10 or a 0 b.a 10 a...