c++期末考试选择题整理(共25页).doc
《c++期末考试选择题整理(共25页).doc》由会员分享,可在线阅读,更多相关《c++期末考试选择题整理(共25页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C + + 程 序 设 计选择题部分目录AASCII4BCDFGHJLMNPSTXYZASCII1、A的ASCII码为65,n为int型,执行 n =A+6-3;后,n的值为 B 。A)D B) 68 C) 不确定的值 D) 编译出错变量的基本要素1、 在C+ 中, 变量的三个基本要素是指:变量名、 变量类型 和 变量值 。标识符1、可用作C+语言用户标识符的一组标识符是( B)。A. void define +WORD B. a3_b3 _123 YNC. for -abc Case D. 2a DO sizeof2、按照标识符的要求,(A)符号不能组成标识符。 A
2、. 连接符 B. 下划线 C.大小写字母 D. 数字字符3、下列变量名中,( A )是合法的。 A CHINA B byte-size C double D A+aconst1、在C+函数的形参前加const关键字,是为了提高函数的_C A. 数据封装性 B. 可理解性 C. 可维护性 D. 可重用性c+与c语言的关系1、关于C+与C语言的关系的描述中,(D)是错误的。 A. C语言是C+的一个子集; B. C语言与C+是兼容的; C. C+对C语言进行了一些改进;D. C+和C语言都是面向对象的c向c+的转变1、C+对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,从面向过程变成了
3、面向对象。A、增加了一些新的运算符; B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型; D、引进了类和对象的概念;c与c+的共性1、 下列特性中, C 与 C+ 共有的是 ( D ) A、 继承 B、 封装 C、 多态性 D、 函数定义不能嵌套 2、 对于C/C+语言的函数,下列叙述中正确的是( A )。 A、 函数的定义不能嵌套,但函数调用可以嵌套 B、函数的定义可以嵌套,但函数调用不能嵌套 C、函数的定义和调用都不能嵌套 D、函数的定义和调用都可以嵌套3、 关于C+与C语言关系的描述中,( D )是错误的。 A、 C语言是C+语言的一个子集 B、 C语言与C+语言是兼容的
4、 C、 C+语言对C语言进行了一些改进 D、 C+语言和C语言都是面向对象的抽象类1、 下列描述中,( D ) 是抽象类的特性。 A、可以说明虚函数; B、可以进行构造函数重载; C、可以定义友元函数; D、不能说明其对象。2、 关于纯虚函数和抽象类的描述中,( C )是错误的。 A、 纯虚函数是一种特殊的虚函数,它没有具体的实现; B、抽象类是指具有纯虚函数的类; C、一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类; D、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。冲突解决1、 C+中解决命名冲突的机制是:D (A) 虚基类 (B) 虚函数 (C) 函数重载 (D) 名
5、字空间成员函数1、 下列不是描述类的成员函数的是( C ) A、构造函数 B、析构函数 C、友元函数 D、拷贝构造函数2、 关于成员函数特征的下述描述中,( A )是错误的。 A、成员函数一定是内联函数;(注:可以是内联函数,也可以是外联函数)B、成员函数可以重载; C、成员函数可以设臵参数的缺省值; D、成员函数可以是静态的。3、 下面关于类的成员函数描述不正确的是:A (A) 静态成员函数内可以直接访问类的非静态成员数据 (B) 静态成员函数内可以直接访问类的静态成员数据 (C) 非静态成员函数可以直接访问类的非静态成员数据 (D) 非静态成员函数可以直接访问类的静态成员数据(全局成员)拷
6、贝构造函数1、通常,拷贝构造函数的参数是(C ) A.某个对象名 B.某个对象的成员名 C.某个对象的引用名 D.某个对象的指针名2、假定AB为一个类,则( C )为该类的拷贝构造函数的原型说明。 A. AB(AB x); B. AB(int x); C. AB(AB& x); D. void AB(AB& x);3、类MyA的拷贝初始化构造函数是 ()A. MyA()B. MyA(MyA*)C. MyA(MyA&)D. MyA(MyA)答案:C解析:复制即拷贝构造函数使用对象的引用作形参,防止临时产生一个对象,A无参构造函数,B是指针作为形参,D项是对象,所以选择C项。存储字节1、存储以下数
7、据,占用存储字节最多的是( D)。 A. 0 B. 0 C. “0” D. 0.0代码运行流程1、C+程序从上机到得到结果的几个操作步骤依次是( B )。 A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接多态1、 实现运行时的多态性用( D ) A、重载函数 B、构造函数 C、析构函数 D、虚函数 2、所谓多态性是指 ()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象答案:B解析:多态性有两种静态多态性和动态多态性,静态多态性是指调用同名函
8、数,由于参数的不同调用不同的同名函数;动态多态性是指不同对象调用同名函数时,由于对象不同调用不同的同名函数。 多态性肯定具有相同的函数名,所以选择B项。3、有关多态性说法不正确的是()A. C+语言的多态性分为编译时的多态性和运行时的多态性B. 编译时的多态性可通过函数重载实现C. 运行时的多态性可通过模板和虚函数实现D. 实现运行时多态性的机制称为动态多态性答案:C解析:多态性分为静态的和动态的。静态通过函数的重载来实现,动态是通过基类指针或基类引用和虚函数来实现的。所以错误的是C项。堆运算符1、 关于堆运算符的下列描述中,( C )是错误的。 A、 使用堆运算符可以动态建立或删除对象; B
9、、new运算符创建对象时要调用构造函数; C、可以在使用new创建数组时,为每个数组元素指定初始值; D、delete运算符可以作用于空指针;delete运算符1、 关于delete运算符的下列描述中,( C )是错的。 A、 它必须用于new返回的指针; B、它也适用于空指针; C、对一个指针可以使用多次该运算符;D、指针名前只用一对方括号符,不管所删除数组的维数。动态联编1、 关于动态联编的下列描述中,( D )是错误的。 A、动态联编是以虚函数为基础的; B、动态联编是在运行时确定所调用的函数代码的; C、动态联编调用函数操作是指向对象的指针或对象引用; D、动态联编是在编译时确定操作函
10、数的for循环1、对 for( 表达式1 ; ;表达式3 ) 可理解为 B 。A)for( 表达式1 ;0 ;表达式3 )B)for( 表达式1 ;1 ;表达式3 )C)for( 表达式1 ;表达式1 ;表达式3 )D)for( 表达式1 ;表达式3 ;表达式3 )封装1、关于封装,下列说法中不正确的是(D )。 A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体 B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见) C. 通过封装,每个对象都成为相对独立的实体 D. 通过封装,对象的属性都是不可见的2、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体
11、,这实体也就是(A)。A.类 B.对象 C.函数体 D.数据块3、在 C+ 中实现封装是借助于 ( B ) A、 枚举 B、 类 C、 数组 D、 函数 返回类型1、决定C+语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D构造函数1、下列关于构造函数的论述中,不正确的是_C A. 构造函数的函数名与类名相同 B. 构造函数可以设置默认参数 C. 构造函数的返回类型缺省为int型 D. 构造函数可以重载2、下面有关构造函数的描述中,正确的是(B )。 A. 构造函数
12、可以带有返回值 B. 构造函数的名字与类名完全相同 C. 构造函数必须带有参数 D. 构造函数必须定义,不能缺省3、构造函数是在(B )时被执行的。 A. 程序编译 B. 创建对象 C. 创建类 D. 程序装入内存4、假定AB为一个类,则执行AB x;语句时将自动调用该类的( B ) A、有参构造函数 B、无参构造函数 C、拷贝构造函数 D、赋值重载函数 5、 构造函数不具备的特征的是 ( D ) A、 构造函数的函数名与类名相同 B、 构造函数可以重载 C、 构造函数可以设臵默认参数 D、 构造函数必须指定类型说明 6、 具有转换函数功能的构造函数,应该是( B )。 A、 不带参数的构造函
13、数; B、带有一个参数的构造函数; C、带有两个以上参数的构造函数; D、缺省构造函数。7、假定AB为一个类,则执行“AB a(2), b3,*p4;”语句时调用该类构造函数的次数为()A. 3B. 4C. 5D. 9答案:B解析:a(2)调用1次带参数的构造函数,b3调用3次无参数的构造函数,指针没有给它分配空间,没有调用构造函数。所以共调用构造函数的次数为4。8、假定一个类的构造函数为“A(int i=4, int j=0) a=i;b=j;”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()A. 1和0B. 1和4C. 4和0D. 4和1答案:A解析:带默认的构造函数,对
14、应实参没有值时就采用形参值。调用构造函数时,i=1,不采用默认值,而只有一个参数,j采用默认值0即j=0,因此a=1,b=0,选择A项。函数重载1、函数重载的目的是_B A. 实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间2、不能作为函数重载判断的依据的是(B ) A.返回类型 B. const C.参数个数 D. 参数类型3、 系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( D ) A 、参数个数 B、 参数的类型 C、 函数名称 D、函数的类型 4、 下列对重载函数的描述中,( A )是错误的。 A、重载函数中不允许使用
15、缺省参数; /注:可以使用,但要求不存在二义性。 B、重载函数中编译系统根据参数表进行选择; C、不要使用重载函数来描述毫无相干的函数; D、构造函数重载将会给初始化带来多种方式。5、下列有关重载函数的说法中正确的是()A. 重载函数必须具有不同的返回值类型B. 重载函数参数个数必须相同C. 重载函数必须有不同的形参列表D. 重载函数名可以不同答案:C解析:函数的重载必须函数名相同而形参类型或个数不同,与返回值无关。继承1、在C+中继承方式有几中( C ) A. 1 B. 2 C. 3 D. 42、 继承的情况下,基类成员在派生类中的访问权限( A ) A、 受限制 B、保持不变 C、受保护
16、D、不受保护 3、 C+类体系中,不能被派生类继承的有( B ) A、 转换函数 B、构造函数 C、虚函数 D、静态成员函数 4、 在C+中,数据封装要解决的问题是( D ) A、数据规范化排列 B、数据高速转换 C、避免数据丢失 D、切断了不同模块之间的数据的非法使用 5、 继承机制的作用是 ( C ) A、 信息隐藏 B、 数据封装 C、 定义新类 D、 数据抽象 6、 关于多继承二义性的描述中,( C )是错的。 A、一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性; B、解决二义性的最常用的方法是对成员名的限定法; C、基类和派生类中同时出现的同名函数,
17、也存在二义性问题; D、一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性。类的概念1、在下列关于类概念的各描述中, A 是错误的。A)类就是C语言中的结构体类型;B)类是具有共同行为的若干对象的统一描述体;C)类是创建对象的样板;D)类是抽象数据类型的实现。2、类是逻辑上相关的 函数 与数据的封装。特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的 继承 。3、 下面有关类说法不正确的是( C ) A、一个类可以有多个构造函数 B、一个类只有一个析构函数 C、析构函数需要指定参数 D、在一个类中可以说明具有类类型的数据成员类(
18、函数)模版1、 类模板的使用实际上是将类模板实例化成一个具体的( A ) A、 类 B、对象 C、函数 D、模板类 2、实现两个相同类型数加法的函数模板的声明是()A. add(T x,T y)B. T add(x,y)C. T add(T x,y)D. T add(T x,T y)答案:D解析:实现两个相同类型数加法结果应该和操作数具有相同类型。进行加法运算后结果也是和参数具有相同类型,需要返回值。A无返回值时要用void,B形参无类型,C形参y没有类型,所以选择D项。面向对象1、_不是属于面向对象程序设计的特性B A. 抽象性 B. 数据相关性 C. 多态性 D. 继承性内存分配1、动态内
19、存分配的主要目的是_B A. 使程序按动态联编方式运行 B. 正确合理的使用内存C. 提高程序的运行速度 D. 提高程序的可维护性内联函数1、 一个函数功能不太复杂,但要求被频繁调用,选用( A ) A、内联函数 B、重载函数 C、递归函数 D、嵌套函数 2、 在 ( C ) 情况下适宜采用 inline 定义内联函数。 A、 函数体含有循环语句 B、 函数体含有递归语句 C、 函数代码少、频繁调用 D、 函数代码多、不常调用3、一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数答案:A解析:内联函数特征代码少,频繁调用,执行效
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 期末考试 选择题 整理 25
限制150内