《大学C期末考试题库2.pdf》由会员分享,可在线阅读,更多相关《大学C期末考试题库2.pdf(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2012年大学C+期末考试题库一、单选题:1.能作为C+程序的基本单位是()。A.字符 B.语句 C.函数 D.源程序文件2.程序中主函数的名字为()。A.main B.M A I N C.M ain D.任意标识符3.关于C+与 C语言的关系的描述中,()是错误的。A.C语言是C+的一个子集;B.C语言与C+是兼容的;C.C+对 C语言进行了一些改进;D.C+和 C语言都是面向对象的4.可用作C+语言用户标识符的一组标识符是()oA.v o id defin e+W0R D B.a3_b3 _123 Y NC.fo r -abc C as e D.2a D O s iz eo f5.存储以下
2、数据,占用存储字节最多的是()。A.0 B.O C.“0 D.0.06.设 in t a=12;则执行完语句a+=a*a;后,a 的值是()。A.12 B.144 C.156 D.28 87.假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式匚的表达式是(abcA.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(flo at)c D.1.0/a/b/c8.以下说法中正确的是()。A.C+程序总是从第一个定义的函数开始执行B.C+程序总是从main 函数开始执行C.C+函数必须有返回值,否则不能使用函数D.C+程序中有调用关系的所有函数必须放在同一个程序文
3、件中9.下面有关构造函数的描述中,正确的是()。A.构造函数可以带有返回值 B.构造函数的名字与类名完全相同C.构造函数必须带有参数 D.构造函数必须定义,不能缺省10.在声明类时,下面的说法正确的是()。A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是r egis t erC.p r iv at e,p u blic,p r o t ect ed可以按任意顺序出现D.没有用p r iv at e,p u blic,p r o t ect ed定义的数据成员是公有成员11.在下面有关析构函数特征的描述中,正确的是()。A.一个类可以有多个析构函数C.析构函数不能指定返回类型12
4、.构造函数是在()时被执行的。A.程序编译 B.创建对象B.析构函数与类名完全相同D.析构函数可以有一个或多个参数C.创建类 D.程序装入内存13.下面有关静态成员函数的描述中,正确的是()A.在静态成员函数中可以使用t his 指针B.在建立对象前,就可以为静态数据成员赚值C.静态成员函数在类外定义是,要用s t at ic前缀第1页 共4 3页C+程序设计试卷D.静态成员函数只能在类外定义14.下面有关友员函数的描述中,真确的说法是()A.友员函数是独立于当前类的外部函数B.一个友员函数不可以同时定义为两个类的友员函数C.友员函数必须在类的外部进行定义I).在类的外部定义友员函数时必须加上
5、fr ien d关键字15.友员的作用之一是(A.提高程序的运行效率C.实现数据的隐蔽性16.使用派生类的主要原因是(A.提高代码的可重用性C.加强类的封装性1 7 .在 C+中继承方式有几中(A.1 B.2B.加强类的封装D.增加成员函数的种类)B.提高程序的运行效率D.实现数据的隐藏)C.3 D.41 8 .假设已经定义好了类s t u de n t,现在要定义类de r i v e d,它是从s t u de n t 私有派生的,则定义类de r i v e d的正确写法是()A.c l a s s de r i v e d:s t u de n t p r i v a t e /B.c
6、 l a s s de r i v e d:s t u de n t p u b l i c /C.c l a s s de r i v e d:p u b l i c s t u de n t /D.c l a s s de r i v e d:p r i v a t e s t u de n t /.1 9.派生类的对象对它的基类成员中()是可以访问的。A.公有继承的公有成员;B.公有继承的私有成员;C.公有继承的保护成员;D.私有继承的公有成员o2 0.类中定义的成员默认为()访问属性。A.p u b l i c B.p r i v a t e C.p r o t e c t e d D
7、.f r i e n d2 1 .下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选 用()合适。A.内联函数;B.重载函数;C.递归调用;D.嵌套调用。2 2 .C+对 C 语言作了很多改进,下列描述中()使得C 语言发生了质变,从面向过程变成了面向对象。A.增加了一些新的运算符;B.允许函数重载,并允许设置缺省参数;C.规定函数说明必须用原型;D.引进了类和对象的概念;2 3 .按照标识符的要求,()符号不能组成标识符。A.连接符 B.下划线C.大小写字母D.数字字符2 4.下列变量名中,()是合法的。A CH I N A2 5.下列各种函数中,A构造函数B
8、 b y t e-s i z e C do u b l e D A+a)不是类的成员函数。B析构函数 C友元函数 D 拷贝构造函数2 6 .下 列()是正确的语句。A;B a=1 7 C x+y2 7 .不能作为函数重载判断的依据的是()A.返回类型 B.c o n s t2 8 .通常,拷贝构造函数的参数是()D c o u t n C.参数个数 D.参数类型A.某个对象名B.某个对象的成员名第 2 页 共 4 3 页C+程序设计试卷C.某个对象的引用名 D.某个对象的指针名2 9.下面对静态数据成员的描述中,正确的是()A 类的不同对象有不同的静态数据成员值B 类的每个对象都有自己的静态数
9、据成员C 静态数据成员是类的所有对象共享的数据1)静态数据成员不能通过类的对象调用3 0.假定A B 为一个类,则执行AB x;语旬时将自动调用该类的()A.有参构造函数 B.无参构造函数 C.拷贝构造函数 D.赋值构造函数3 1 .C+程序从上机到得到结果的几个操作步骤依次是()。A.编译、编辑、连接、运行 B.编辑、编译、连接、运行C.编译、运行、编辑、连接 D.编辑、运行、编辑、连接32.假定一条定义语句为“i n t a 10,x,*p=a;,若要把数组a中下标为3 的元素值赋给x,则不正确的语句为()。A.x=p 3;B.x=*(a+3);C.x=a 3 ;D.x=*p+3;33.关
10、于封装,下列说法中不正确的是()。A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的34.预处理命令在程序中都是以()符号开头的。A.*B.#C.&D.35.存储以下数据,占用存储字节最少的是()oA.0 B.O C.0 D.0.036.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车37.假定变量m定义为“i n t m=7;,则定义变量p的正确语句为()。
11、A.i n t p=&m;B.i n t *p=&m;C.i n t&p=*m;D.i n t *p=m;38.下面的哪个保留字不能作为函数的返回类型?。A.v o i d B.i n t C.n e w D.l o n g39 .采用重载函数的目的是()。A.实现共享 B.减少空间 C.提高速度 D.使用方便,提高可读性40.假定A B 为一个类,贝 心 )为该类的拷贝构造函数的原型说明。A.A B(A B x);B.A B(i n t x);C.A B(A B&x):D.v o i d A B(A B&x);41、C+对 C语言作了很多改进,下列描述中()使得C语言发生了质变,从面向过程变
12、成了面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;42、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。A.类 B.对象 C.函数体 D.数据块43、关于n e w 运算符的下列描述中,()是错误的。A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符d e le t e 删除;第 3 页 共 4 3 页C+程序设计试卷c、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值;44、()不是构造函数的特征。A、构造函数的函数
13、名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。45、假定一个类的构造函数为B(in t x,in t y)a=x ;b=a*y ;,则执行B x(3,5);语句后,x.a和 x.b 的值分别为()A、3 和 5 B、5 和 3 C、3 和 1 5 D、2 0 和 546、关于成员函数特征的下列描述中,()是错误的。A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设置缺省参数值;D、成员函数可以是静态的:47、在公有继承的情况下,基类成员在派生类中的访问权限()。A、受限制 B、保持不变 C、受保护 D、不受保护48、友元的作用
14、是(A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;49、在 C+中,关于下列设置缺省参数值的描述中,()是正确的。A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义性声明中指定参数的缺省值;D、设置缺省参数值时,必须全部都设置;5 0、关于d e le t e 运算符的下列描述中,()是错误的。A、它必须用于n e w 返回的指针:B、使用它删除对象时要调用析构函数;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。5 1、c o n s t in t *
15、p 说明不能修改(A、p 指针;B、p指针指向的变量;C、p 指针指向的数据类型;D、上述A、B、C三者;5 2、当需要打开A盘上的以x x k.d at 文件用于输入时,则定义文件流对象的语句为()。A、fs t r e ar n fin(A:x x k.d at”,1)B、ifs t r e am fin(A:x x k.d at ,io s:n o c r e at e)C o fs t r e am fin(A:x x k.d at )D、ifs t r e am fin(A:x x k.d at ,io s:ap p)5 3、派生类的对象对它的基类成员中()是可以访问的。A、公有继承
16、的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员;5 4、假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为()。A、n-l B、n C、n+1 D、n+25 5、在 in t a=3;*p=&a;中,*p 的 值 是(A、变量a 的地址值 B、无意义 C、变量p的地址值 D、35 6、下列常量中,()不是字符常量。A、0 0 5 B、n C、c D、a”5 7、在 in t a=3,*p=&a;中,*p 的 值是()。A)变量a 的地址值 B)无意义 C)变量p的地址值 D)35 8、以下4 个选项中,不能看作一条语句的是()。第 4 页 共
17、 4 3 页C+程序设计试卷A)if(b=0)m=l;n=2;B)a=0,b=0,c=0;C)if(a 0);D);5 9、()不是构造函数的特征。A)构造函数的函数名与类名相同 B)构造函数可以重载C)构造函数可以设置缺省参数 D)构造函数必须指定类型说明6 0、以下程序段中与语句k=a b?1:0;功能等价的是().A)if(a b)k=l;B)if(a b)k=0C)if(a b)k=l;D)if(a n,C)c,D)a62、表 示“x 大于1 而小于1 0”的逻辑表达式是()。A)l x l&x 1 0 C)!(x l|x 1 063、关于成员函数特征的下列描述中,()是错误的。A)成
18、员函数一定是内联函数 B)成员函数可以重载C)成员函数可以设置缺省参数值 D)成员函数可以是静态的64、有以下程序J t in cl u de v o id m ain()in t i,s=0;fo r(i=l;i 1 0;i+=2)s+=i;co u t s;程序执行后的输出结果是()oB)char s 3=/,C+/,;co u t s en dl;C)char s3=C 0 ;co u t s en dl;D)char s3=C;c out s en dl;A)C)65、A)66、A)自然数1 9 的累加和 B)自然数1 1 0 的累加和自然数1 9 中的奇数之和 D)自然数1 1 0
19、中的偶数之和设有定义:in t n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是()。p=1;B)*q=2;C)q=p;D)*p=5;()能正确输出结果:C+。char s =/,C+,/;co u t s en dl;67、有以下程序段in t a1 0 =l,2,3,4,5,6,7,8,9,1 0 ,*p=a,b;b=p 5;b 中的 值 是()A)5 B)6 C)8 D)968、有以下程序in cl u de v o id m ain()char*p 1 0 =abc,aabdfg,dcdbe,abbd,cd;co u t p 3 en dl;)执行后输出结果是A)dcdb
20、e B)abbd C)abc D)abb69、下列静态数据成员的特性中,()是错误的。第 5 页 共 4 3 页C+程序设计试卷A)说明静态数据成员时前边要加修饰符st at icB)静态数据成员要在类体外进行初始化C)静态数据成员不是所有对象所共用的D)引用静态数据成员时,要在其名称前加 类名 和作用域运算符70、有以下语句st ru ct S in t g;char h;T;则下面叙述中不正确的是()oA)S是结构体名 B)该结构体包含2个成员C)S是 st ru ct 类型的变量 D)T是 st ru ct S类型的变量71、派生类的对象对它的基类成员中()是可以访问的。A)公有继承的公
21、有成员B)公有继承的私有成员C)公有继承的保护成员D)私有继承的公有成员72、实现运行时的多态性用。A、重载函数B、构造函数C、析构函数D、虚函数73.下列变量名中,()是合法的。A.C H I N A B.by t e-siz e C.do u bl e D.A+a74.在 in t b3=l ,3,2 ,4,5,6,0 ;b2 2 的值是(7A.0 B.2 C.5 D.675.下列各运算符中,()优先级最高。A.+(双目)B.*(单目)C.=D.*=76.下列fo r循环的次数为()。fo r(in t i(0),x=0;!x&i p=5;C.A.*p=5;D.*A1.p=5;9 9.关于
22、n e w 运算符的下列描述中,()是错的。A.它可以用来动态创建对象和对象数组;B.使用它创建的时象或对象数组可以使用运算符d e l e t e 删除;C.使用它创建对象时要调用构造函数;D.使用它创建对象数组时必须指定初始值。1 0 0 .派生类的构造函数的成员初始化列中,不能包含()。A.基类的构造函数;B.派生类中子对象的初始化;C.基类的子对象初始化;D.派生类中一般数据成员的初始化1 0 1 .派生类的对象对它的基类成员中()是可以访问的。A.公有继承的公有成员;B.公有继承的私有成员;C.公有继承的保护成员;D.私有继承的公有成员。1 0 2 .C+类体系中,不能被派生类继承的
23、有()。A.构造函数 B.虚函数 C.静态成员函数 D.赋值操作函数1 0 3 .下面标识符中正确的是()。A.a b c B.3 a b C.i n t D.+a b1 0 4 .下列哪项()不是面向对象程序设计的主要特征?a.封装 b.继承 c.多态 d.结构1 0 5 .已知i=5,j=0,下列各式中运算结果为j=6 的表达式是()oA.j=i+(+j)B.j=j+i+C.j=+i+j D.j=j+i1 0 6 .若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a b?a:c a+&c d)?+d:a b”的 值 为()。A)9 B)6 C)8 D)0134、下面有关重
24、载函数的说法中正确的是()oA)重载函数必须具有不同的返回值类型。B)重载函数形参个数必须不同。C)重载函数必须有不同的形参列表。D)重载函数名可以不同。135、C+语言的跳转语句中,对于b r e a k 和 c o nt i nue 说法正确的是()A)b r e a k 语句只应用于循环体中。B)c o nt i nue 语句只应用于循环体中。C)b r e a k 是无条件跳转语句,c o nt i nue 不是。D)b r e a k 和 c o nt i nue 的跳转范围不够明确,容易产生问题。13 6、l o n g i n t 的字节数是().,A)4 B)1 C)0 D)8
25、13 7、下列非法的字符常量是()。A)B)C)a D)A 二、填空:1.C+语言的头文件与源程序文件扩展名分别是()和()。2.在 C+程序中使用基本输入与输出流时需要包含的头文件名是()。3.在 C+语言中,惟一的一个三目运算运算符是()。4.C+中当一个函数无返回值时,则函数的类型是(5.一个类中可以有()个构造函数,只 能 有()个析构函数。6.一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为()搬,而把成员函数(方法)定 义 为()权限.第1 1页 共4 3页C+程序设计试卷7.在定义类的对象时,C+程序将自动调用该对象的()函数初始化对象自身.在撤销类的对象时,C+程
26、序将自动调用该对象的()函数.8.类继承中,缺省的继承方式是().9.在C+语言中,用转义字符序列()或操纵符()表示输出一个换行符。10.表达式a=a+l表示成增量表达式为(11.当不需要函数返回任何值时I则应把该函数类型定义为()1 2,用于输出表达式值的标准输出流对象是()。,用于从键盘上为变量输人值的标准输人流对象是()。13、变量分为全局和局部两种,(变量没有赋初值时,其值是不确定的。14、假定类AB中有一个公用属性的静态数据成员b b,在类外不通过对象名访问该成员bb的写法为()。15、类的成员分为 和 o16、一个 和 的关系,正如基本数据类型与该类型的变量一样,如in tx;。
27、17、对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。18、类有两种用法:一种是,即生成类的对象;另 一 种 是 通 过,派生出新的类。19、C+语言提供的 机制允许一个派生类继承多个基类,即使这些基类是相互无关的。20、声 明 虚 函 数 的 方 法 是 在 基 类 中 的 成 员 函 数 原 型 前 加 上 关 键 字。21、如果一个类中有一个或多个纯虚函数,则 这 个 类 称 为。22、静态数据成员在定义或说明时,前面要加上关键字 o23、如果成员函数不需要访问类的 成员,则可以把它声明为静态成员函数。24、友元可以是,也可以是。25、若需要把一个函
28、数“void fun();定义为一个类A的友元函数,则应在类A的定义中加入一条语句:O26、运 算 符 函 数 中 的 关 键 字 是,它和 一起组成该运算符函数的函数名。27、类中运算符重载一般采用两种形式:和。28、面向对象程序设计的3大机制为:、和。2、类的访问权限有、和_ _ _ _ _ _ _ _ 三种。29、构造函数是 被创建时自动执行,对 象 消 失 时 自 动 执 行 的 成 员 函 数 称 为。30、如果类A继承了类B,则类A称为,类B称为 o31、如果一个特定的类型S当且仅当它提供了类型T的行为时,则称类型S是类型T的一_ O32、在类定义中,将_ _ _ _ _ _ _置
29、于虚函数的函数原型的末尾可以声明该函数为纯虚函数。33、类的静态成员分为 和 o34、友元函数的声明可以放在类的 部分,也可以放在类的 部分,它们是没有区别的。35、如果说类B是类A的友元类,则类B的所有成员函数都是类A的 o36、设a和b是两个整型变量,我们用a+b的形式求这两个变量的和;设c和d为浮点型变量,我们用c+d的形式求这两个变量的和。显然运算符“+”具有不同的用途,这是_ 的 例 子。37、对于双目运算符,若重载为类的成员函数,有一个参数;若重载为友元函数,则有一个第1 2页 共4 3页C+程序设计试卷参数。3 8、当建立,程序自动调用该类的构造函数。3 9、在 C+中有二种参数
30、传递方式:_ _和 _ _ o4 0、模板对处理数据的类型的要求不同可以分为两种类型:一 和4 1、异常是通过、和 来实现的。4 2、虚函数实现了 C+的 一机制,类实现了 C+的 机制。4 3、面向对象程序设计的 _ 机制提供了重复利用程序资源的一种途径。4 4、C+语言程序设计的三种基本结构是:_ _ _ _ _ _、_ _ _ _ _ _ _、_ _ _ _ _ _ _。4 5、为了避免嵌套的条件语句if-e lse 的二义性,C+语言规定e lse 与 配对使用。4 6、定义函数时,在函数的类型前加上修饰词_ _ _ _ _,指明将该函数定义为内联函数。4 7、有说明语句:*p;则*p
31、+运 算 首 先 访 问,然后使 的值加1。4 8、执 行 in t *p=n e w in t 操作,可 以 得 到 一 个 动 态 分 配 整 型 对 象 的。4 9、有说明语句:in t *p;则(*2+运算首先访问_ _ _ _ _ _,然 后 使 的值加1。5 0 .C+目标程序经 后生成扩展名为e x e 的可执行程序文件。5 1 .1 6 位计算机中整型占 个字节存储空间。5 2 .要在屏幕上显示 H e llo ,w o rld !z/应执行语句cout5 3 .表达式8&3 的结果是5 4 .作为语句的函数调用是通过 来体现的。5 5 .执行 if (x =0 1|x =0)
32、c o u t zza b c dz/;e lse c o u t w x y z”;屏幕上显示的是5 6 .设一维整型数组d a t a 已进行了初始化,则其元素个数可由操作符si ze o f 通过表达式_计算出来。5 7 .若一全局 变 量 只 允 许 本 程 序 文 件 中 的 函 数 使 用,则定义它时应加上修饰符5 8 .设 有 i n t w3 4 ;,pw 是 与 数 组 名 w 等价的数组指针,则 pw 应初始化为5 9 .要使引用p r 代表变量c h ar *p;,则p r 应 初 始 化 为 _ _ _。6 0 .在 C+中封装性、继承性和 是面向对象思想的主要特征。6
33、 1 .假 设 i n t a=l,b=2;则表达式a+b 的值为。6 2 .下面的程序实现输出x,y,z 三个数中的最大值,请填入正确的内容。#i n c l ud e vo i d m ai n ()i n t x=5,y=8,z=9,u,v;i f u=x;e l se u=y;if v=u;e l se v=z;c o ut w v=v e n d l;)6 3 .C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 方式。6 4 .在 C+语言中,访问一个对象的成员所用的运算符是,访问一个指针所指向 的 对 象 的 成 员 所 用 的 运
34、算 符 是。第1 3页 共4 3页C+程序设计试卷6 5 .C+语言支持的两种多态性分别是编译时的多态性和 的多态性。6 6 .设有如下程序结构:c l ass Bo x ;vo i d m ai n ()Bo x A,B,C;该程序运行时调用 次构造函数;调 用 次析构函数。6 7 .目前,有两种重要的程序设计方法,分别是:_ _和6 8 .C+语言提供的基本控制结构可以分为3 种类型:顺序结构、一 .和循环结构。6 9 .函数的调用主要分为传值调用和 调用。前者的特点是7 0 .函数重载时要求同名函数的 或 不同,否则无法确定是哪个函数o7 1 .静态数据成员是类的所有对象中的 成员,而非
35、静态数据成员是属于_ 对象的。7 2 .设A 为 t e st 类的对象且赋有初值,则语句t e st B(A);表示。7 3 .面向对象程序设计方法中的每个对象都具有 和 两方面的特征。7 4 .“类”指的是。7 5 .构造数据类型,包括数组、和类等。7 6 .C+中数据类型标识符S i g n e d Ch ar,其字节数为,范围是。7 7 .在 函 数 体 内 部 定 义 的 变 量 称 为。在所有函数体外部定义的变量称为7 8 .有 一 数 学 表 达 式 为 2/3(f-3 2),要 写 成 对 应 的 C+的表达式时,正确地写法应写7 9 .类的静态成员是 的成员,不是 的成员,静
36、态成员在进行引用性说明,在_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 进行定义性说明。8 0 .使 用 传 统 的 结 构 化 程 序 设 计 方 法 设 计 程 序 的 步 骤 是、8 1 .“封装”指的是。8 2 .可 以 让 新 类继承已定义的类的_ _和 这个新类称为原 来 的 类 称 为 新 类 可 以 从 一 个 类 中 派 生,这叫,也可以从多个类中派生,称为 o8 3 .指针类型变量用于存储 在内存中它占有 存储单元。8 4 .类有三种继承方式,分别是:、一。三、判断下列描述的正确性:1 、C+中标识符内的大小写字母是没有区别的。()2 、C+是一种以编
37、译方式实现的高级语言。()3、在 公 有 继 承 中,基 类 中 的 公 有 成 员 和 私 有 成 员 在 派 生 类 中 都 是 可 见 的。()4、在 私 有 继 承 中,基 类 中 所 有 成 员 对 派 生 类 都 是 不 可 见 的。()5、返 回 值 类 型、参 数 个 数 和 类 型 都 相 同 的 函 数 也 可 以 重 载。()第1 4页 共4 3页C+程序设计试卷6、使 用 关 键 字 c l a s s 定 义 的 类 中 缺 省 的 访 问 权 限 是 私 有(p r i v a t e)的。()7、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都
38、是非法的。()8、C+中使用了新的注释符(),C语言中注释符(/*/)不能在C+中使用。()9 、W h i l e 循环语句的循环体至少执行 次。()1 0、引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。()1 1、类封装了数据和操作。()1 2、在类的定义中,必须 包 含 p r i v a t e、p u b l i c、p r o t ec t ed 三种存取方式对应的部分。()1 3、类中的数据成员不能为指针类型。()1 4、析构函数可以有形参。()1 5、派生类至少有一个基类。()1 6、在公有和保护继承方式下,派生类的对象可以对基类的保护成员进行访问。()
39、1 7、全局函数和静态成员函数也能声明为虚函数。()1 8、在一个类的对象空间里不包含静态成员的空间。()1 9、友元本身就是类的成员。()2 0、运算符重载后,原运算符的优先级和结合特性会改变。()2 1、个类只能有一个对象。()2 2、在类中不能对所定义的数据成员进行初始化。()2 3、类的公有成员函数是类与外界的接口。()2 4、构造函数没有函数类型。()2 5、在 派 生 类 的 构 造 函 数 的 初 始 化 表 中 不 能 对 包 含 基 类 的 子 对 象 初 始 化。()2 6、在 公有和保护继承方式下,派生类的成员可以对基类的保护成员进行访问。()2 7、只有类的成员函数才能
40、声明为虚函数。()2 8、在一个类的对象空间里已经包含了静态成员的空间。()2 9、C+不允许将构造函数、析构函数和虚函数声明为友元函数。()3 0、运算符重载后,原运算符的优先级和结合特性不会改变。()3 1 .C+中使用了新的注释符(),C语言中注释符(/*/)不能在C+中使用。()3 2 .数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。()3 3 .隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。()3 4 .宏定义命令是以分号结束的。()3 5 .W hile 循环语句的循环体至少执行一次。()3 6 .返回值类型、参数个数和类型都相同的函数也可以重载。
41、()3 7.函数形参的作用域是该函数的函数体。()3 8.静态类标识符在它的作用域之外是不存在的。()3 9.对象成员的表示与结构变量成员表示相同,使用运算符.或()4 0 .某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。()4 1 .对象数组的元素可以是不同类的对象。()第1 5页 共4 3页C+程序设计试卷4 2.c o n s t c ha r *p 说明了 p是指向字符串的常量指针。()4 3、引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。()4 4、无论是私有继承还是保护继承中,基类中所有成员对派生类对象都是不可见的。()4 5、当 b r e
42、a k语句用在双重循环的内循环中时,它只能退出内循环到外循环中去,而不能 直 接 退 出 整 个 双 重 循 环。()4 6、F o r 循环是只有可以确定的循环次数时才可使用,否则不能用f o r 循环。()4 7、返回值类型、参数个数和参数类型都相同的函数也可以重载。()4 8、通 常 的 拷 贝 初 始 化 函 数 的 参 数 是 某 个 对 象 的 成 员 名 或 对 象 的 引 用 名。()4 9、友元函数是类的成员函数,所以可以存取或修改该类中的私有成员。()5 0、已知:类 A中一个成员函数说明如下:v o id S e t(A&a);其中A&a 的含意是将a的 地 址 值 赋
43、给 变 量 S e t 。()5 1、在语句c o n s t c ha r *p t r 中,p t r 是指向字符串的常量指针。()5 2、多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序,而 与 派 生 类 构 造 函 数 中 所 定 义 的 成 员 初 始 化 列 表 的 各 项 顺 序 无 关。()5 3、在说明语句in t a(1 5),&b=a,*p=&a;中,b的值的*P的是不相等的。()5 4、已知:in t a(5),b(1 0);表达式+a+b+有二义性。()5 5、在不同类型操作数组成的表达式中,其表达式的类型一定是最高类型d o u bl
44、 e型()5 6、br ea k 语句也可以用于i f体内,它可退出i f语句。()5 7、在一个被调用函数中,一个r et u r n 语句可返回多个值给调用函数。()5 8、在传值调用中,要求实参和形参的类型完全一致并且个数相等。()5 9、fo r 循环中,循环变量的作用域是该循环的循环体内。()6 0、所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。()6 1、co n s t ch a r *p 说明了 p是指向字符串的常量指针。()6 2、私有继承中,基类中所有成员对派生类的对象都是不可见的。()四、指出函数或程序的功能。1、t e
45、m p l a t e v o i d A C(T y p e&x,T y p e&y )(T y p e a=x;x=y ;y=a ;)2、i n t A B(i n t *a ,i n t n)i n t x=a 0 ;fo r (i n t i=l;i n;i+)i f(a i x)x=a i ;第16页 共4 3页C+程序设计试卷r et u r n x;3.i n t A B(i n t *a ,i n t n)i n t x=a O ;fo r (i n t i=l;i n;i+)i f(a i x)x=a i ;r et u r n x;)4.fl o a t fa ct(i n
46、 t n)fl o a t t=l;fo r(i n t i=l;i =n;i+)t*二i;r et u r n t;)#i n cl u de v o i d m a i n()fl o a t t;i n t n=1 0;co u t fa ct (n)en dl;)五、写出程序运行结果(每小题3分,共1 5分)1、t fi n cl u de i n t a =2,4,6,8,1 0);i n t&i n dex(i n t i)r et u r n a i ;)v o i d m a i n()(i n t i;i n dex(3)=1 2;fo r (i=0;i =4;i+)co u
47、 t a i z,)2、#i n cl u de v o i d f(i n t *m,i n t n)(i n t t em p;t em p=*m;*m=n;n二t em p;)v o i d m a i n O(i n t a=5,b=1 0;f(&a,b);co u t a /z z,ben dl;)3、t t i n cl u de i n t i=1 5;v o i d m a i n()第1 7页 共4 3页C+程序设计试卷i n t i;i=1 0 0;:i=i+1;co u t :i en dl;)4、i n cl u de cl a s s t o y(p u bl i c
48、:t o y(i n t q,i n t p)(qu a n =q;p r i ce=p;)i n t get _ qu a n ()(r et u r n qu a n;)i n t get _ p r i ce()-r et u r n p r i ce;.p r i v a t e:i n t qu a n,p r i ce;m a i n()t o y o p 3 2 =t o y (1 0,2 0),t o y (3 0,4 8),t o y (5 0,6 8),t o y (7 0,8 0),t o y(9 0,1 6),t o y(1 1,1 2 0),;i n t i;fo r
49、 (i=0;i 3;i+)(co u t o p i 0 ,get _ qu a n(),”;co u t o p i 0 .get _ p r i ce(),z nz,;co u t o p i 1 .get _ qu a n(),;co u t o p i 1 .get _ p r i ce()n;co u t n;r et u r n 0;5、i n cl u de cl a s s ex a m p l e(p u bl i c:ex a m p l e(i n t n)(i=n;c o u t,zC o n s t r u ct i n g n ex a m p l e(),co u
50、 t ,zD es t r u ct i n g n,z;i n t get _ i ()r et u r n i;第1 8页 共4 3页C+程序设计试卷)p r i v a t e:i n t i;);i n t s qr _ i t(ex a m p l e o)(-r et u r n o.get _ i ()*o.get _ i ();m a i n ()(ex a m p l e x(1 0);co u t x.get i ()e n d l;co u t s qr _ i t (x)e n d l;r et u r n 0;6、#i n cl u de cl a s s T es