ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:89KB ,
资源ID:1324046      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++-219及答案解析.doc)为本站会员(bowdiet140)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++-219及答案解析.doc

1、二级 C+-219 及答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.有如下类定义: class A char*a: public: A():a() A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.Dew charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-12.有下列程序: #include stdio.h struc

2、t st int x,y,date2=1.10,2,20; void main() struct st *p=date; printf(“%d,“, p-y); printf(“%d/n“,(+p)-x); 程序的运行结果是_。(分数:2.50)A.10,1B.20,1C.10,2D.20,23.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是二一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对4.C+中的模板包括_。(分数:2.50)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板

3、5.数据结构中,与所使用的计算机无关的是数据的(分数:1.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构6.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型7.数据流程图(DFD 图)是 _ 。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法

4、的需求分析工具8.有如下类定义: class Test char a;const char b; public: Test(char c)a=c;b=c; /第 1 行 void f(char a)constthis-a=a;) /第 2 行 void g(char b)this-b=b;) /第 3 行 char h()constreturn a;) /第 4 行 ; 编译时没有错误的行是_。(分数:2.00)A.第 1 行B.第 2 行C.第 3 行D.第 4 行9.有如下程序: #includeiostream using namespace std; class A public: s

5、tatic int a; void init()a=1; A(int a=2)init();a+; ; int A:a=0; A obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1C.2D.310.下面 _ 机制允许对一个函数名给出多个函数定义(分数:2.00)A.封装性B.继承性C.函数重载D.多态性11.下列选项中,能用作数据常量的是_。(分数:2.50)A.o115B.o118C.1.5e1.5D.115L12.对下列二叉树 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBE

6、G13.设有定义语句 int(*f)(int);,则下列叙述正确的是_。(分数:2.50)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是其类型为 int 类型的地址14.有如下数组声明:int value 30;,下标值引用错误的是 _ 。(分数:2.00)A.value30B.value0C.value10D.value2015.执行语句序列 ofstream outfile(“DATA. DAT“); if(.)cout“OK“;else cout“FAI

7、L“; 后,如果文件打开成功,显示“OK”,否则显示“FAIL”。由此可知,上面 if 语句的处的表达式是_。(分数:2.50)A.outfile.fail()或 outfileB.outfile.good()或!outfileC.out.file.good()或 outfileD.outfile.fail()或!outfile16.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const;B.operator long(BigNumber);C.long operator long()con

8、st;D.long operator long(BigNumber);17.若有以下程序: #includeiostream usingnamespacestd; voidsub(intx,inty,int*2) *z=y+x; int main() int a,b,C; sub(8,4, switch(x) fcase 1: switch(y) case 0;a+;break; case 1:b+break; case 2:a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%d/n“,a,b); 程序的运行结果是_。(分数:2.50)A.a=1,b=0B.a

9、=2,b=2C.a=1,b=1D.a=2,b=121.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.charB.intC.floatD.long int22.下列关于 C+流的描述中,错误的是 _ 。(分数:2.00)A.cout“A“表达式中输出字符 AB.eof 函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件23.概要设计中要完成的事情是 _ 。(分数:2.00)A.系统结构和数据结构的设计B.系统结构和过程的设计C.过程和接口的设计D.数据结构和过程的

10、设计24.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B差C交D并25.下列关于函数重载的叙述中,错误的是_。(分数:2.00)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同D.重载函数的参数个数或参数类型必须有所不同26.有如下类定义: class Point int xx, yy; public: Point(): xx(0), yy(0) Point(in

11、t x, int y=0): xx(x),yy(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point 类的构造函数被调用的次数是_。(分数:1.00)A.2 次B.3 次C.4 次D.5 次27.下列关于 this 指针的描述中,正确的是_。(分数:1.00)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针28.有如下程序: #includeiostream using namespace std; void fl(intx,inty) int z=x;x=y;

12、y=z; void f2(int x,int y) int z=x;x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:2.50)A.10B.16C.26D.3629.假定 int 类型变量占用两个字节,其有定义 int x10 0,2,4;,则数组 x 在内存中所占字节数是(分数:2.00)A.3B.6C.10D.2030.关于 C+语言与 C 语言关系描述中错误的是(分数:1.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C

13、 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言31.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.p-qC.p*qD.p%q32.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_ 。(分数:2.00)A.这是运算符的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值33.已知 n 是一个 int 型变量,下列语句中错误的是 _ 。(分数

14、:2.00)A.long*p=new longn;B.long pn;C.long*p=new longn;D.long p10;34.函数定义为 Fun(int i),变量定义 n=100,则下面调用正确的是_。(分数:1.00)A.Fun(20);B.Fun(20+n);C.Fun(n);D.Fun(n);35.有如下程序: # includeiostream usmg namespace std; class A public: A(int i): r1(i) void print()(cout“E“r1“-“; void print()constcout“C“r1*r1“一“; pri

15、vate: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.运行时出错B.E2-Cl6-C.C4-C16-D.E2-E4-36.计算机能直接执行的程序是_。(分数:2.50)A.源程序B.目标程序C.汇编程序D.可执行程序37.下列关于类定义的说法中,正确的是_。(分数:1.00)A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义38.已知主函数中通过如下语句

16、序列实现对函数模板 swap 的调用: int a10,b10; swap(a,b,10); 下列对函数模板 swap 的声明中,会导致上述语句序列发生编译错误的是_。(分数:2.50)A.templatetypename Tvoid swap(T a,T b,int size);B.templatetypename Tvoid swap(int size,T a,T b);C.templatetypename T1,typename T2void swap(T1 a,T2 b,int size);D.templateclass T1,class T2void swap(T1 a,T2 b,i

17、nt size);39.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员40.下面程序的运行结果为 _ 。 #includeiostream.h void main() char a=“3“; switch(a) case“3“:cout“3“; case“2“:cout“2“;break; default:cout“1“; (分数:2.00)A.3B.321C.31D.32二级 C+-21

18、9 答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.有如下类定义: class A char*a: public: A():a() A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.Dew charstrlen(aa)+1 B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-1解析:解析 对动态分配存储空间的考查,在 C+中,回车键需计一字符,即总的长度

19、为 strlen(aa)+1。2.有下列程序: #include stdio.h struct st int x,y,date2=1.10,2,20; void main() struct st *p=date; printf(“%d,“, p-y); printf(“%d/n“,(+p)-x); 程序的运行结果是_。(分数:2.50)A.10,1B.20,1C.10,2 D.20,2解析:解析 data2是两个结构体组成的数组,p 指向结构体数组的首地址,p-y 访问第一个结构体的第二个元素;(+p)x 访问第二个结构体的第一个元素。所以输出为 10,2。3.下列叙述中正确的是(分数:2.0

20、0)A.实体集之间一对一的联系实际上就是二一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对 解析:解析 实体集之间一对一的联系不一定是一一对应的关系。例如,在一个教室中,实体集“学生”与实体集“座位”之间是一对一的联系。因为实体集“学生”中的每一个学生最多与实体集“座位”中的一个座位有联系(学生坐在该座位上);并且实体集“座位”中中的每一个座位也最多与实体集“学生”中的一个学生有联系(座位上坐着该学生)。但该教室中的学生与座位之间不一定是一一对应的关系,因为有可能某些座位是空的,没有学生去坐。因此,选项 A 中的说法是错误的。在关系模型中,

21、由于使用表格数据来表示实体之间的联系,因此,可以直接描述多对多的实体联系。因此,选项 B 中的说法也是错误的。关系模型是与格式化模型完全不同的数据模型,它与层次模型、网状模型相比有着本质的区别。关系模型是用表格数据来表示实体本身及其相互之间的联系,它是建立在数学理论基础上的。因此,选项 C 中的说法也是错误的。4.C+中的模板包括_。(分数:2.50)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板 D.变量模板和对象模板解析:解析 模板是一种对类型进行参数化的工具,通常有两种形式:函数模板和类模板。函数模板针对仅参数类型不同的函数;类模板针对仅数据成员和成员函数类型不同的类。5

22、.数据结构中,与所使用的计算机无关的是数据的(分数:1.00)A.存储结构B.物理结构C.逻辑结构 D.物理和存储结构解析:解析 数据结构概念一般包括 3 个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。6.关于关键字 class 和 typename,下列表述中正确的是_。(分数:1.00)A.程序中的 typename 都可以替换为 class B.程序中的 class 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class

23、或 typename 来声明参数的类型解析:解析 此题考查的是 class 和 typename 两个关键字。关键字 class 除了能用来定义类以外还能用来声明模板的虚拟类型参数。在用作声明虚拟类型参数时 typename 与 class 可以互换,但不能使用typename 来定义类;在模板形参表中除了可以用 typename 和 class 声明虚拟类型参数外,还可以使用普通类型声明常规函数,故选项 C 错误。7.数据流程图(DFD 图)是 _ 。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具 解析:解析 数据流程

24、图是一种结构化分析描述模型,用来对系统的功能需求进行建模。8.有如下类定义: class Test char a;const char b; public: Test(char c)a=c;b=c; /第 1 行 void f(char a)constthis-a=a;) /第 2 行 void g(char b)this-b=b;) /第 3 行 char h()constreturn a;) /第 4 行 ; 编译时没有错误的行是_。(分数:2.00)A.第 1 行B.第 2 行C.第 3 行D.第 4 行 解析:解析 类 Test 中的常成员函数 h()返回数据成员 a 的值。9.有如下

25、程序: #includeiostream using namespace std; class A public: static int a; void init()a=1; A(int a=2)init();a+; ; int A:a=0; A obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:1.00)A.0B.1 C.2D.3解析:解析 本题考查构造函数,本题中对类中的 a 数据成员先是赋值为 0,当定义了对象 obj 时,执行构造函数,将 a 的值变为了 1,所以输出 1。10.下面 _ 机制允许对一个函数名给出多个函数定义(分数:

26、2.00)A.封装性B.继承性C.函数重载D.多态性 解析:11.下列选项中,能用作数据常量的是_。(分数:2.50)A.o115B.o118C.1.5e1.5D.115L 解析:解析 选项 A 的第一个字母是 o 而不是数字 O,所以不构成数值常量;选项 B 中,8 不是八进制数字,八进制数为 O 到 7;选项 C 中字母“e”后面的指数是小数而非整数,不合法,不是一个合法的指数形式的数值常量;在选项 D 中,可以在整型常量的后面加一个字母 L,表示这个常量在内存中占 4 字节。12.对下列二叉树 (分数:1.00)A.ACBDFEG B.ACBDFGEC.ABDCGEFD.FCADBEG解

27、析:解析 二叉树的遍历有三种:前序、中序和后序。中序遍历首先遍历左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点,分析本题二叉树,对其进行中序遍历,结果为 ACBDFEG。13.设有定义语句 int(*f)(int);,则下列叙述正确的是_。(分数:2.50)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参 C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是其类型为 int 类型的地址解析:解析 定义语句 int(*f)(int)中 f 是指向函数的指针变量,该函数中也只有一个 int 型的形参。14

28、.有如下数组声明:int value 30;,下标值引用错误的是 _ 。(分数:2.00)A.value30 B.value0C.value10D.value20解析:15.执行语句序列 ofstream outfile(“DATA. DAT“); if(.)cout“OK“;else cout“FAIL“; 后,如果文件打开成功,显示“OK”,否则显示“FAIL”。由此可知,上面 if 语句的处的表达式是_。(分数:2.50)A.outfile.fail()或 outfileB.outfile.good()或!outfileC.out.file.good()或 outfile D.outfi

29、le.fail()或!outfile解析:16.若要对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是_。(分数:2.50)A.operator long()const; B.operator long(BigNumber);C.long operator long()const;D.long operator long(BigNumber);解析:解析 类型转换符必须作为成员函数重载。在重载类型转换符时,其类型名就是返回值类型,因此不需要声明返回值的类型。重载类型转换符“long”的形式如下: operator long(参数表);17.若有以下程序:

30、#includeiostream usingnamespacestd; voidsub(intx,inty,int*2) *z=y+x; int main() int a,b,C; sub(8,4, switch(x) fcase 1: switch(y) case 0;a+;break; case 1:b+break; case 2:a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%d/n“,a,b); 程序的运行结果是_。(分数:2.50)A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1 解析:解析 本题考查的是 switch.c

31、ase 分支语句,x=1 时,首先执行 case 1 进行嵌套判断,y=0 时switch(0)成立,执行 case 0,a 自加 1,遇到 break,退出嵌套,接着执行 case 2,a 自加为 2,b 自加为 1,遇到 break,结束循环,此时 a=2,b=1,故选项 D 正确。21.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.charB.intC.float D.long int解析:解析 unsigned:修饰整型数据,无符号数据类型。22.下列关于 C+流的描述中,错误的是 _ 。(分数:2.00)A.cout“A“表达式中输出字符 A B.eof 函数可

32、以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件解析:解析 在 C+中输入用“cin”,输出用“cout”。23.概要设计中要完成的事情是 _ 。(分数:2.00)A.系统结构和数据结构的设计 B.系统结构和过程的设计C.过程和接口的设计D.数据结构和过程的设计解析:解析 软件概要设计的基本任务是:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。24.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1

33、 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B差 C交D并解析:解析 关系 T 中的元组是 R 关系中有而 S 关系中没有的元组的集合,所以进行的是差的运算。25.下列关于函数重载的叙述中,错误的是_。(分数:2.00)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同 D.重载函数的参数个数或参数类型必须有所不同解析:解析 两个或两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数进行最佳匹配,自动确定调用哪个函数,这就是函数的重

34、载。26.有如下类定义: class Point int xx, yy; public: Point(): xx(0), yy(0) Point(int x, int y=0): xx(x),yy(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point 类的构造函数被调用的次数是_。(分数:1.00)A.2 次B.3 次C.4 次 D.5 次解析:解析 本题考查默认构造函数和带参数的构造函数,题目中定义一个对象 a(2)以及对象数组 b3,共执行 4 次构造函数,对象指针不调用构造函数。所以本题答案为 C。27.下列关于 this 指针的描述中,正确的是_。(分数:1.

35、00)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针 解析:解析 this 作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。另外,全局函数和静态函数都不能使用 this 指针。所以答案为 D。28.有如下程序: #includeiostream using namespace std; void fl(intx,inty) int z=x;x=y;y=z; void f2(int x,int y) int z=x;

36、x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:2.50)A.10 B.16C.26D.36解析:解析 该题考查了函数参数传递的两种方式:引用传递和值传递。引用传递时 x 和 y 会交换,而值传递时二者不交换,因此选 10。29.假定 int 类型变量占用两个字节,其有定义 int x10 0,2,4;,则数组 x 在内存中所占字节数是(分数:2.00)A.3B.6C.10D.20 解析:解析 x 数组共有 10 个元素,在花括号内只提供 3 个初值,这表示只给前面

37、的 3 个成员赋值,后7 个元素的值为 0,所以,一共有 20 个字节。30.关于 C+语言与 C 语言关系描述中错误的是(分数:1.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言 解析:解析:C 语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言,C+语言是C 语言的超集,它包含了 C 语言的所有语言特性,并进行了扩充。31.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.

38、p-q C.p*qD.p%q解析:解析 本题考核指针的运算。C+语言中,指向同一字符串的指针之间能且只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。32.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_ 。(分数:2.00)A.这是运算符的重载运算符函数 B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 重载的是一个二元运算符“一”,所以此题选择 A。33.已知 n 是一个 int 型变量,下列语句中错误的是 _ 。(分数:2.0

39、0)A.long*p=new longn;B.long pn; C.long*p=new longn;D.long p10;解析:34.函数定义为 Fun(int i),变量定义 n=100,则下面调用正确的是_。(分数:1.00)A.Fun(20);B.Fun(20+n);C.Fun(n); D.Fun(n);解析:解析 本题考查函数的调用。当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是变量本身。35.有如下程序: # includeiostream usmg namespace std; class A public: A(int i): r1(i) void prin

40、t()(cout“E“r1“-“; void print()constcout“C“r1*r1“一“; private: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.运行时出错B.E2-Cl6- C.C4-C16-D.E2-E4-解析:解析 const 关键字可以用于参与对重载函数的区分。重载的原则是常对象调用常成员函数,一般对象调用一般成员函数。36.计算机能直接执行的程序是_。(分数:2.50)A.源程序B.目标程序C.汇编程序D.可

41、执行程序 解析:解析 由高级语言编写的程序称为“源程序”;由二进制代码表示的程序称为“目标程序”;由汇编语言编写的程序称为“汇编程序”。对于计算机本身来说,它只能接收和处理由 0 到 1 的代码构成的二进制指令和数据。所以计算机能识别的程序是“目标程序”。而计算可以直接执行的程序是可执行程序,即后缀为.exe 的程序。37.下列关于类定义的说法中,正确的是_。(分数:1.00)A.类定义中包括数据成员和函数成员的声明 B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义解析:解析 类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以

42、是受保护的。类的成员函数可以在类内定义。38.已知主函数中通过如下语句序列实现对函数模板 swap 的调用: int a10,b10; swap(a,b,10); 下列对函数模板 swap 的声明中,会导致上述语句序列发生编译错误的是_。(分数:2.50)A.templatetypename Tvoid swap(T a,T b,int size);B.templatetypename Tvoid swap(int size,T a,T b); C.templatetypename T1,typename T2void swap(T1 a,T2 b,int size);D.templatecl

43、ass T1,class T2void swap(T1 a,T2 b,int size);解析:39.下列描述中,错误的是 _ 。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员 D.保护继承时基类中的保护成员在派生类中仍是保护成员解析:解析 保护继承时基类中的公有成员在派生类中是保护成员。40.下面程序的运行结果为 _ 。 #includeiostream.h void main() char a=“3“; switch(a) case“3“:cout“3“; case“2“:cout“2“;break; default:cout“1“; (分数:2.00)A.3B.321C.31D.32 解析:解析 本题主要考查 switch 语句的使用,在第一个 case 处,因为满足条件,所以输出字符 3,但这个分支没有 break 语句终止,所以会继续执行下面的分支语句,即输出字符 2,这时出现 break 语句,结束整个语句,即输出 32。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1