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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+笔试-241 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.假定 AB 为一个类,则执行 AB x;语句时将自动调用该类的(分数:2.00)A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数2.磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的(分数:2.00)A.inB.outC.appD.ate3.实现运行时的多态性用(分数:2.00)A.重载函数B.构造函数C.析构函数D.虚函数4.友元函数的作用是(分数:2.00)A.提高程序的效率B.加强类的封装性C.实现数据的隐蔽性D.增加成员函数的种类5.设

2、 char 型变量 x 中的值为 10100111,则表达式(2+x)(3)的值是(分数:2.00)A.10101001B.10101000C.11111101D.010101016.下列叙述中正确的是(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题C.数据库管理系统就是数据库系统D.以上三种说法都不对7.通常初始化拷贝构造函数的参数是(分数:2.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名8.在 C+语言程序中(分数:2.00)A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义和

3、调用均可以嵌套C.函数的定义和调用均不可以嵌套D.函数的定义不可以嵌套,但函数的调用可以嵌套9.对下列二叉树进行前序遍历的结果是(分数:2.00)A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY10.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据11.与数学式子 (分数:2.00)A.3*xn/(2*x-1)B.3*x*n/(2*x-1)C.3*pow(x,n)*(1/(2*x-1)D.3*pow(n,x)/(2*x-

4、1)12.有以下程序int f1(int x, int y)return xy? x:y;int f2(int x, int y)return xy? y:x;main()int a=4,b=3,c=5,d,e,f;d=f1(a,B) ;d=f1(d,C) ;e=f2(a,B) ;e=f2(e,C) ;f=a+b+c-d-e;coutd“, “f“, “eend1;执行后输出结果是(分数:2.00)A.3,4,5B.5,3,4C.5,4,3D.3,5,413.下列运算符中,不能重载的是(分数:2.00)A.?:B.+C.-D.14.以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是(分

5、数:2.00)A.ofstream myfile:myfile, open(“d:ofiletxt“);B.ofstream *myfile=new ofstream;myfile-open(“d;ofile.txt“);C.ofstream myfile(“d:ofile.txt“);D.ofstream *myfilenew (“d:ofile.txt“);15.算法的时间复杂度是指(分数:2.00)A.算法程序运行的具体时间B.算法程序的长度C.算法程序执行过程中基本运算的次数D.运行时算法程序所占的内存容量16.已知类 A 中有公用数据成员 B *b;其中 B 为类名。则下列语句错误的

6、是(分数:2.00)A.A():d(newB.A(const A main()int a=4,b=3,c5;f(a,B) ;f(a,C) ;f(b,C) ;couta“,“b“,“cend1;执行后输出结果是(分数:2.00)A.3,4,5B.5,3,4C.5,4,3D.4,3,519.使用静态数据成员的好处不包括(分数:2.00)A.可以节省内存空间B.是为了解决数据共享问题C.可以直接用类名来引用D.可以提高运算速度20.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(分数:2.00)A.调用语句B.命令C.口令D.消息21.下面程序的输出结果是main()int a=15

7、, b=21,m=0;switch(a%3)case 0, m+; break;case 1 :m+;switch(b%2)default: m+;case 0:m+ ;break;coutmend1(分数:2.00)A.1B.2C.3D.422.下列数据结构中能使用对分查找的是(分数:2.00)A.二叉链表B.带链的栈C.有序线性链表D.有序顺序表23.若有以下程序:main()int k=2,i2,m;m=(k+i*=k);coutm“,“iend1;执行后的输出结果是(分数:2.00)A.8,6B.8,3C.6,4D.7,424.以下关于私有和保护成员的叙述中,不正确的是(分数:2.00

8、)A.私有成员不能被外界引用,保护成员可以B.私有成员不能被派生类引用,保护成员在公有继承下可以C.私有成员不能被派生类引用,保护成员在保护继承下可以D.私有成员不能被派生类引用,保护成员在私有继承下可以25.有关析构函数的说法中错误的是(分数:2.00)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数和构造函数一样可以有形参D.析构函数的作用是在对象被撤销时做清理工作26.下列叙述中正确的是(分数:2.00)A.软件就是程序清单B.软件就是存放在计算机中的文件C.软件应包括程序清单以及运行结果D.软件包括程序和文档27.以下叙述中不正确的是(分数:2.00)A.在类的定义中通常

9、是用数据成员描述对象的属性,用成员函数描述对象的行为B.类的一个成员只能具有一种访问控制属性C.构造函数和析构函数是特殊的成员函数,因此不允许重载D.通过对象只能访问类的公有成员28.以下叙述中不正确的是(分数:2.00)A.一个类的所有对象都有各自的数据成员,它们共享函数成员B.一个类中可以有多个同名的成员函数C.一个类中可以有多个构造函数、多个析构函数D.在一个娄中可以声明另一个类的对象作为它的数据成员29.按“先进先出”原则组织数据的结构是(分数:2.00)A.有序表B.栈C.队列D.二叉树30.在关系数据库中,用来表示实体之间联系的是(分数:2.00)A.树结构B.网结构C.线性表D.

10、二维表31.执行下列程序的结果是main()float x1,y;y+x *+x;coutyend1;(分数:2.00)A.9.000000B.6.000000C.1.000000D.程序有错误32.若已定义 int a256,执行语句 couthexa;的结果是(分数:2.00)A.100B.256C.ffeD.ff33.以下有关析构函数的叙述中错误的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参C.析构函数不允许有显式的返回值D.析构函数名前必须冠有符号“”34.设有定义:Class personint num;char name10;public:

11、void init(int n,char*m);person std30则以下叙述不正确的是(分数:2.00)A.std 是一个含有 30 个元素的对象数组B.std 数组中的每个元素都是 person 类的对象C.std 数组中的每个元素都有自己的私有变量 num 和 nameD.std 数组中的每个元素都有各自的成员函数 init35.以下叙述中不正确的是(分数:2.00)A.C+语言中的文本文件以 ASCII 码形式存储数据B.C+语言中,对二进制文件的访问速度比文本文件快C.C+语言中,随机读写方式不适用于文本文件D.C+语言中,顺序读写方式不适用于二进制文件二、填空题(总题数:15,

12、分数:30.00)36.在深度为 4 的满二叉树中,叶子结点的个数为 【1】 。(分数:2.00)填空项 1:_37.在一个容量为 25 的循环队列中,若头指针 front9,尾指针 rear16,则该循环队列中共有 【2】 个元素。(分数:2.00)填空项 1:_38.在面向对象方法中,允许作用于某个对象上的操作称为 【3】 。(分数:2.00)填空项 1:_39.软件生命周期包括八个阶段。为使各时期的任务更明确,又可以分为以下三个时期:软件定义期,软件开发期,软件维护期。编码和测试属于 【4】 期。(分数:2.00)填空项 1:_40.在数据库系统中,数据具有独立性。由于数据的存储结构与逻

13、辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。这种独立性称为 【5】 。(分数:2.00)填空项 1:_41.在任何类中都有三种访问权限的数据成员,这三种权限是 public、private 和 【6】 。(分数:2.00)填空项 1:_42.下列程序的输出结果是 【7】 。# includeiostream. hvoid main() char a= “abcdabcabfgacd“int i1=0,i2=0,i=0;while (ai)if (ai=“a“) i1+;if (ai=“b“) i2+;i+;cout i1“ “

14、i2end1;(分数:2.00)填空项 1:_43.如下程序编译时发生错误,错误的原因是 show 函数实现语句错误,则正确的语句应该为 【8】 。# includeiostream.hclass testprivate:int num;public:test(int)void show();test: :test(int n) num=n;test: show() coutnumend1; void main()test T(10);T. show ( );(分数:2.00)填空项 1:_44.下列程序的运行结果是 【9】 。#includeiomanip. hint Func(int *

15、a, int n)int s=1;for(int i=0;in; i+)s*= * a+;return s;void main( )int a=1,2,3,4,5,6,7,8);int b=Func(a,6)+Fnnc(cout“b= “bend1;(分数:2.00)填空项 1:_45.下列程序的输出结果为 【10】 。#ineludeiostream. hint void main() int n=3, m=12;max(m, n)+cout“m=“m“, n= “nend1;(分数:2.00)填空项 1:_46.下面程序编译时发现 ma39 错误,其原因是 【11】 。# includei

16、ostream. hclass FunArrayint *pa; /指向一个数组空间int size; /数组元素个数public:FunArray(int a , int thesize): pa(A) , size(thesize) int Size( )return size;void main( )int s =3,7,2,1,5,4;FunArray ma (s, sizeof (s)/sizeof(int) );ma3 = 9coutma3end1;(分数:2.00)填空项 1:_47.下列程序的执行结果是 【12】 。#includeiostream. hclass Studen

17、tpublic:Student(int xx)x=xx;virtual float calcFuition( );protected:int x;float Student: calcTuition()return float(x* x)class GraduateStudent:public Studentpublic:GraduateStudent(int xx) :Student(xx) float calcTuition( );float GraduateStudent: calcTuition( )return float(x * 2);void main( )Student s(2

18、0);GraduateStudent gs(30);couts.calcTuition()“ “gs. calcTuition()end1;/计算学生 s 和研究生 gs 的学费(分数:2.00)填空项 1:_48.下列程序中需要清理动态分配的数组,划线处应有的语句是 【13】 。#includeiostream, hclass personint age, tall;public:person() age= 0; tall= 40; cout“A baby is born. “end1;person(int i) age=i, tall=40, cout“A old person. “end

19、1;person(int i, int i) age = i; tall = j; cout “ a old person with tall. “end1;person( ) cout“ person dead. “end 1;void show()cout“age= “age“ ,tall= “tallend1;void main()person * ptr;ptr = new person3;ptr0=person ( )ptr1=person(18);ptr2=person(20,120);for(int i=0;i3; i+)ptri. show( );_(分数:2.00)填空项 1

20、:_49.下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应该出现的语句是 【14】 。#includeiostream, h#includefstream, hvoid main()fstream filel, file2;char fnl 10, fn210, ch;cout“输入源文件名“;cinfn1;cout“输入目标文件名“;cinfn2;file1. open(fn1, ios : in);_ while(ch=file1. get() ! =EOF)coutch;file2. put(ch)file1, close()file2, close();(分数:

21、2.00)填空项 1:_50.下列程序的输出结果是非曲直 【15】 。#includeiostream, hclass baseint x, y;public:base(int i, int j)x=i; y=j;virtual int add()return x+ y;class three: public baseint z;public:three(int i, int j, int k) :base(i, j)z=k; int add() return (base: add()+z); ;void main()three * q=new three(lO,20,30);coutq-ad

22、d()end1;(分数:2.00)填空项 1:_二级 C+笔试-241 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.假定 AB 为一个类,则执行 AB x;语句时将自动调用该类的(分数:2.00)A.有参构造函数B.无参构造函数 C.拷贝构造函数D.赋值重载函数解析:解析 当没有显式调用指定形式的构造函数,则系统自动调用无参构造函数,如果没有为类指定此构造函数,则系统自动为其生成一个最简单的无参构造函数。2.磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的(分数:2.00)A.inB.outC.app D.ate解析:解析 根

23、据选项的含义,可知 app 表示追加的含义。可以选定正确答案为 C。3.实现运行时的多态性用(分数:2.00)A.重载函数B.构造函数C.析构函数D.虚函数 解析:解析 多态性是通过虚函数来完成的,不同类层次上的类通过虚函数,可以做到运行时根据指针的指向确定调用哪个对象的成员函数。4.友元函数的作用是(分数:2.00)A.提高程序的效率 B.加强类的封装性C.实现数据的隐蔽性D.增加成员函数的种类解析:解析 友元函数的引入是为了提高程序的效率,减少通过接口访问的限制,但却破坏了类的封装性。5.设 char 型变量 x 中的值为 10100111,则表达式(2+x)(3)的值是(分数:2.00)

24、A.10101001B.10101000C.11111101D.01010101 解析:解析 本题考查二进制操作的几种形式,需要考生熟练掌握整数向二进制的转换和求反、异或等操作。6.下列叙述中正确的是(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题 C.数据库管理系统就是数据库系统D.以上三种说法都不对解析:解析 数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件就是数据库管理系统(DBMS)。数据库管理系统与计算机

25、系统内的其他软件一样,也在操作系统 (OS)的支持下工作,它与操作系统的关系极为密切。操作系统、数据库管理系统与应用程序在一定的硬件支持下就构成了数据库系统。7.通常初始化拷贝构造函数的参数是(分数:2.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名 D.某个对象的指针名解析:解析 拷贝构造函数顾名思义,就是对两个对象进行拷贝生成。因此,其参数是指向某个对象的指针。8.在 C+语言程序中(分数:2.00)A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义和调用均可以嵌套C.函数的定义和调用均不可以嵌套D.函数的定义不可以嵌套,但函数的调用可以嵌套 解析:解析 本题考查函

26、数的定义,调用及其嵌套之间的关系。9.对下列二叉树进行前序遍历的结果是(分数:2.00)A.ZBTYCPXAB.ATBZXCYP C.ZBTACYXPD.ATBZXCPY解析:解析 按照二叉树前序遍历的方法:在访问根结点、遍历左子树与遍历右于树这三者中,首先访问根结点,然后遍历左子树,最后遍历右于树;并且在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。对本题中的二叉树进行前序遍历的结果应是 ATBZXCYP。10.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数

27、据库系统比文件系统能管理更多的数据解析:解析 数据库系统只是减少了数据冗余,但避免一切冗余;数据库系统中数据的一致性并不是指数据类型一致,而是指采用了统一的数据结构方式,数据库系统与文件系统比较,数据库系统解决了数据共享问题。11.与数学式子 (分数:2.00)A.3*xn/(2*x-1)B.3*x*n/(2*x-1)C.3*pow(x,n)*(1/(2*x-1) D.3*pow(n,x)/(2*x-1)解析:解析 本题考查考生将数学表达式翻译成 C+语句的能力。12.有以下程序int f1(int x, int y)return xy? x:y;int f2(int x, int y)ret

28、urn xy? y:x;main()int a=4,b=3,c=5,d,e,f;d=f1(a,B) ;d=f1(d,C) ;e=f2(a,B) ;e=f2(e,C) ;f=a+b+c-d-e;coutd“, “f“, “eend1;执行后输出结果是(分数:2.00)A.3,4,5B.5,3,4C.5,4,3 D.3,5,4解析:解析 本题只需要考生按照执行顺序分析即可得出正确答案为 C。13.下列运算符中,不能重载的是(分数:2.00)A.?: B.+C.-D.解析:解析 在 C+中,?:是唯一一个三目运算符,不能被重载。14.以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是(分数:

29、2.00)A.ofstream myfile:myfile, open(“d:ofiletxt“);B.ofstream *myfile=new ofstream;myfile-open(“d;ofile.txt“);C.ofstream myfile(“d:ofile.txt“);D.ofstream *myfilenew (“d:ofile.txt“); 解析:解析 本题考查文件对象的创建方法。可以直接定义文件对象,也可以用 new 来动态生成。很明显,选项 D 中使用 new 的方式是错误的。15.算法的时间复杂度是指(分数:2.00)A.算法程序运行的具体时间B.算法程序的长度C.算法

30、程序执行过程中基本运算的次数 D.运行时算法程序所占的内存容量解析:解析 算法的时间复杂度是用算法程序执行过程中所需要的基本运算次数来衡量的。16.已知类 A 中有公用数据成员 B *b;其中 B 为类名。则下列语句错误的是(分数:2.00)A.A():d(newB.A(const A main()int a=4,b=3,c5;f(a,B) ;f(a,C) ;f(b,C) ;couta“,“b“,“cend1;执行后输出结果是(分数:2.00)A.3,4,5B.5,3,4C.5,4,3D.4,3,5 解析:解析 考生根据分析可以得知 f 函数的功能是交换两个变量的值。表明看起来,在 main

31、函数中,使用三次 f 函数完成三个变量的交换。真的如此么?只要考生注意到 f 函数采用值传递,而值传递的缺点就是不会改变形参的值,因此,上述操作根本无法改变原来三个变量的值!故三个变量的值依然保持不变。19.使用静态数据成员的好处不包括(分数:2.00)A.可以节省内存空间B.是为了解决数据共享问题C.可以直接用类名来引用D.可以提高运算速度 解析:解析 静态成员在一个类中只保存一份,供类的不同对象共享,因此它可以节省内存空间。由于静态成员不属于某个对象,因此引用时必须用类名来标识。20.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(分数:2.00)A.调用语句B.命令C.口

32、令D.消息 解析:解析 在面向对象方法中,一个对象请求另一对象为其服务是通过发送消息来实现的。21.下面程序的输出结果是main()int a=15, b=21,m=0;switch(a%3)case 0, m+; break;case 1 :m+;switch(b%2)default: m+;case 0:m+ ;break;coutmend1(分数:2.00)A.1 B.2C.3D.4解析:解析 本题考查 switch 语句的嵌套。实际上,只要考生按照顺序进行分析可以发现里层嵌套的switch 语句根本不用分析,因为执行流程根本不能到达那里。22.下列数据结构中能使用对分查找的是(分数:2

33、.00)A.二叉链表B.带链的栈C.有序线性链表D.有序顺序表 解析:解析 对分查找只能适用于顺序存储的有序线性表。23.若有以下程序:main()int k=2,i2,m;m=(k+i*=k);coutm“,“iend1;执行后的输出结果是(分数:2.00)A.8,6B.8,3C.6,4 D.7,4解析:解析 首先进行括号内的运算,注意赋值表达式是从右向左进行的。因此,只要考生细心运算就可以得到正确答案为 C。24.以下关于私有和保护成员的叙述中,不正确的是(分数:2.00)A.私有成员不能被外界引用,保护成员可以 B.私有成员不能被派生类引用,保护成员在公有继承下可以C.私有成员不能被派生

34、类引用,保护成员在保护继承下可以D.私有成员不能被派生类引用,保护成员在私有继承下可以解析:解析 私有成员和保护成员都不能被外界引用,这与继承方式无关。25.有关析构函数的说法中错误的是(分数:2.00)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数和构造函数一样可以有形参 D.析构函数的作用是在对象被撤销时做清理工作解析:解析 本题考查析构函数的有关特性。考生不仅要熟记析构函数和构造函数的特点,还要深刻理解它们的内插,只有这样才可以灵活运用。26.下列叙述中正确的是(分数:2.00)A.软件就是程序清单B.软件就是存放在计算机中的文件C.软件应包括程序清单以及运行结果D.软件

35、包括程序和文档 解析:解析 软件应包括程序和文档。27.以下叙述中不正确的是(分数:2.00)A.在类的定义中通常是用数据成员描述对象的属性,用成员函数描述对象的行为B.类的一个成员只能具有一种访问控制属性C.构造函数和析构函数是特殊的成员函数,因此不允许重载 D.通过对象只能访问类的公有成员解析:解析 构造函数是可以重载的,从而保证了类的多态性。28.以下叙述中不正确的是(分数:2.00)A.一个类的所有对象都有各自的数据成员,它们共享函数成员B.一个类中可以有多个同名的成员函数C.一个类中可以有多个构造函数、多个析构函数 D.在一个娄中可以声明另一个类的对象作为它的数据成员解析:解析 本题

36、考查类的基本概念。构造函数和析构函数比较特殊,析构函数只有一个。29.按“先进先出”原则组织数据的结构是(分数:2.00)A.有序表B.栈C.队列 D.二叉树解析:解析 栈是按“先进后出”原则组织数据的结构;队列是按“先进先出”原则组织数据的结构;而有序表与二叉树均不是。因此,本题的正确答案为 C。30.在关系数据库中,用来表示实体之间联系的是(分数:2.00)A.树结构B.网结构C.线性表D.二维表 解析:解析 在关系数据库中,用来表示实体之间联系的是二维表。31.执行下列程序的结果是main()float x1,y;y+x *+x;coutyend1;(分数:2.00)A.9.000000

37、 B.6.000000C.1.000000D.程序有错误解析:解析 本题比较简单,考查自增运算符的运算规则以及运算符优先级的知识点。自增运算符的优先级高于乘法运算符的优先级。32.若已定义 int a256,执行语句 couthexa;的结果是(分数:2.00)A.100 B.256C.ffeD.ff解析:解析 本题考查流操作中格式的控制,hex 的作用是将随后的输出数按照十六进制形式输出。33.以下有关析构函数的叙述中错误的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参 C.析构函数不允许有显式的返回值D.析构函数名前必须冠有符号“”解析:解析 析构函

38、数不能有形参。34.设有定义:Class personint num;char name10;public:void init(int n,char*m);person std30则以下叙述不正确的是(分数:2.00)A.std 是一个含有 30 个元素的对象数组B.std 数组中的每个元素都是 person 类的对象C.std 数组中的每个元素都有自己的私有变量 num 和 nameD.std 数组中的每个元素都有各自的成员函数 init 解析:解析 首先,std 是对象数蛆,里面有 30 个对象,每个对象都有自己的私有数据成员,由于成员函数是公有的,在内存中存在一份即可,各个对象都可以使用

39、。35.以下叙述中不正确的是(分数:2.00)A.C+语言中的文本文件以 ASCII 码形式存储数据B.C+语言中,对二进制文件的访问速度比文本文件快C.C+语言中,随机读写方式不适用于文本文件 D.C+语言中,顺序读写方式不适用于二进制文件解析:解析 本题考查 C+语言中文件的概念,包括二进制文件和文本文件,对不同的文件类型采用不同的读写方式。二、填空题(总题数:15,分数:30.00)36.在深度为 4 的满二叉树中,叶子结点的个数为 【1】 。(分数:2.00)填空项 1:_ (正确答案:8)解析:解析 二叉树有一个性质,即在二叉树的第 k 层上,最多有 2k-1(k1)个结点。而对于满

40、二叉树来说,每一层上的结点数都达到最大值,即在满二叉树的第 k 层上有 2k-1个结点。因此,在深度为 4 的满二叉树中,所有叶子结点在第 4 层上,即其结点数为2k-12 k-1837.在一个容量为 25 的循环队列中,若头指针 front9,尾指针 rear16,则该循环队列中共有 【2】 个元素。(分数:2.00)填空项 1:_ (正确答案:7)解析:解析 设循环队列的容量为 m。如果 rearfront,则循环队列中的元素个数为 rearfront;如果 rearfront,则循环队列中的元素个数为 m+(rearfront)。在本题中,front9,rear16,即 rearfron

41、t,因此,循环队列中的元素个数为rearfont16-97。38.在面向对象方法中,允许作用于某个对象上的操作称为 【3】 。(分数:2.00)填空项 1:_ (正确答案:方法)解析:解析 在面向对象方法中,所谓方法是指允许作用于某个对象上的各种操作。因此,允许作用于某个对象上的操作称为方法。39.软件生命周期包括八个阶段。为使各时期的任务更明确,又可以分为以下三个时期:软件定义期,软件开发期,软件维护期。编码和测试属于 【4】 期。(分数:2.00)填空项 1:_ (正确答案:软件开发)解析:解析 通常,软件生命周期包括八个阶段,问题定义、可行性研究,需求分析、系统设计、详细设计、编码、测试

42、、运行维护。为使各时期的任务更明确,又可以分为以下三个时期:软件定义期:包括问题定义、可行性研究和需求分析三个阶段;软件开发期:包括系统设计、详细设计,编码和测试四个阶段;软件维护期;即运行维护阶段。40.在数据库系统中,数据具有独立性。由于数据的存储结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。这种独立性称为 【5】 。(分数:2.00)填空项 1:_ (正确答案:物理独立性)解析:解析 通过系统提供的映象功能,在数据库系统中,使数据具有两方面的独立性;一是物理独立性二是逻辑独立性。其中,物理独立性是指:由于数据的存储

43、结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。41.在任何类中都有三种访问权限的数据成员,这三种权限是 public、private 和 【6】 。(分数:2.00)填空项 1:_ (正确答案:protected)解析:解析 本题考察类的访问权限,属于基本知识,考生应熟练掌握。42.下列程序的输出结果是 【7】 。# includeiostream. hvoid main() char a= “abcdabcabfgacd“int i1=0,i2=0,i=0;while (ai)if (ai=“a“) i1+;if (a

44、i=“b“) i2+;i+;cout i1“ “i2end1;(分数:2.00)填空项 1:_ (正确答案:4 3)解析:解析 分析 while 循环体可以判断出:i1 用于统计字符串中字符 a 的数量,i2 用于统计字符 b 的数量。因此,考察数组 a 的内容可得其数量分别为 4 和 3。43.如下程序编译时发生错误,错误的原因是 show 函数实现语句错误,则正确的语句应该为 【8】 。# includeiostream.hclass testprivate:int num;public:test(int)void show();test: :test(int n) num=n;test:

45、 show() coutnumend1; void main()test T(10);T. show ( );(分数:2.00)填空项 1:_ (正确答案:void test: show()coutnumend1;)解析:解析 show 成员函数的声明和实现不一致,即实现部分应有 void 修饰符,这样才能编译通过。44.下列程序的运行结果是 【9】 。#includeiomanip. hint Func(int * a, int n)int s=1;for(int i=0;in; i+)s*= * a+;return s;void main( )int a=1,2,3,4,5,6,7,8);

46、int b=Func(a,6)+Fnnc(cout“b= “bend1;(分数:2.00)填空项 1:_ (正确答案:b762)解析:解析 考生要注意*和+运算的优先级问题,此外要注意的是 a 作为整个数组的首地址传递给func 函数。45.下列程序的输出结果为 【10】 。#ineludeiostream. hint void main() int n=3, m=12;max(m, n)+cout“m=“m“, n= “nend1;(分数:2.00)填空项 1:_ (正确答案:m13,n3)解析:解析 本题考察引用作为形参进行参数传递的知识。max 函数的功能是返回较大的那个数,而max(m,n)+的作用是将较大值再进行增一运算。46.下面程序编译时发现 ma39 错误,其原因是 【11】 。# includeiostream. hclass FunArrayint *pa; /指向一个数组空间int size; /数组元素个数public:FunArray(int a , int thesize): pa(A) , size(thesize) int Size( )return size;void main( )int s

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