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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+笔试-228 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有以下程序void fun(int*a,int i,int i)int t;if(ij);t=ai;ai=aj;aj=t;fun(a,+i,- -j);main( )int a=1,2,3,4,5,6,i;fun(a,0,5);for(i=0;i6;i+)coutai;执行后输出结果是(分数:2.00)A.6 5 4 3 2 1B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3 4 5 62.为了培养良好的程序设计风格,下列描述中正确的是(分数:2.00

2、)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无3.在最坏情况下,下列各排序方法的比较次数正确的是(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 n(n+1)/2C.快速排序为 n/2D.快速排序为 n(n-1)/24.阅读以下程序#includefstream.hvoid main( )ifstream infile;ofstream outfile;fstream iofile;iofile.open(“a.txt“,ios:in);iofile.close( );iofile.open(“b.txt“,ios:out);

3、下列描述错误的是(分数:2.00)A.对象 infile 只能用于文件输入操作B.对象 outfile 只能用于文件输出操作C.对象 iofile 在文件关闭后,不能再打开另一个文件D.对象 iofile 可以打开一个文件同时进行输入和输出5.以下程序的输出结果是intf( )static int i=0;int s=1;s+=i;i+;return s;main( )int i,a=0;for(i=0;i5;i+)a+=f( );coutaendl;(分数:2.00)A.20B.24C.25D.156.如下程序的输出结果是main( )float x=2.0,y;if(x0.0)y=0.0;

4、else if(x10.0)y=1.0/x;elsey=1.0;coutyendl;(分数:2.00)A.0.000000B.0.250000C.0.500000D.1.0000007.以下对 C/C+语言函数的描述中,正确的是(分数:2.00)A.C 程序由一个或一个以上的函数组成B.C 函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C+程序中调用关系的所有函数必须放在同一个程序文件中8.以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为main( )int a,b;scanf (“%d%d“,cinab;cout“a=“a“b=“b;a=a+b;b=a

5、-b;a=_;cout“a=“a“b=“bendl;(分数:2.00)A.a+bB.a-bC.b*aD.a/b9.如果 a=1,b=2,c=3,d=4,则表达式 ab? a: cd? c: d 的值为(分数:2.00)A.1B.2C.3D.410.以下有关析构函数的叙述不正确的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参C.析构函数指定返回类型D.析构函数名前必须冠有符号“”11.下列不是循环语句的是(分数:2.00)A.while 语句B.dowhile 语句C.for 语句D.ifelse 语句12.下列叙述中正确的是(分数:2.00)A.全局变量

6、的作用域一定比局部变量的作用域范围大B.静态类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值13.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是(分数:2.00)A.字符 AB.字符 aC.字符 eD.非法的常量14.有以下程序main( )int a3=1,2,3,4,5,0),(*p(分数:2.00)A.3,i;doif (i%2)i+;continue;i+;s+=i;while(i7);coutsendl;执行

7、后输出结果是(分数:2.00)A.16B.12C.28D.2117.以下关于类中静态成员的叙述不正确的是(分数:2.00)A.静态成员为类的所有对象所公有B.静态成员变量可以在类内任何位置上声明C.静态成员变量的赋初值必须放在类外D.定义静态成员变量时必须赋初值18.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试19.有以下程序段int k=0;while(k=1)k+;while 循环执行的次数是(分数:2.00)A.无限次B.有语法错,不能执行C.一次也不执行D.执行 1

8、次20.以下程序的输出结果是main( )int num=0;while(num=2)num+;coutnum;(分数:2.00)A.1234B.123C.12D.121.有以下程序main( )int p7=11,13,14,15,16,17,18,i=0,k=0;while(i7i+;)coutkendl;执行后输出结果是(分数:2.00)A.58B.56C.45D.2422.按“先进后出”原则组织数据的结构是(分数:2.00)A.有序表B.栈C.队列D.二叉树23.以下正确的描述为(分数:2.00)A.每个 C+语言程序必须在开头用预处理命令:B.预处理命令必须位于 C+源程序的首部C.

9、在 C+语言中预处理命令都以“ #“开头D.C+语言的预处理命令只能实现宏定义和条件编译的功能24.设有数组定义:char array=“China“;则数组 array 所占的空间为(分数:2.00)A.4 个字节B.5 个字节C.6 个字节D.7 个字节25.对下列二叉树进行中序遍历的结果是(分数:2.00)A.ZBTYCPXAB.ATBZXCYPC.TZBACYXPD.ATBZXCPY26.在测试中,下列说法错误的是(分数:2.00)A.测试是为了发现程序中的错误而执行程序的过程B.测试是为了表明程序的正确性C.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案D.成功的测试是发现

10、了至今为止尚未发现的错误的测试27.以下选项中合法的用户标识符是(分数:2.00)A.longB._2 TestC.3 DmaxD.dat28.数据库概念设计中由分散到集中的设计方法是(分数:2.00)A.视图设计B.视图集成设计C.集中式模式设计D.分散式模式设计29.下列语句中,输出与众不同的是(分数:2.00)A.cout“1.“setfill()“Hello!“endl;B.cout“1.“Hello! /n“;C.cout“1. Hello!“endl;D.cofit“1.“setw(7)“Hello!“;30.若执行下面的程序时,从键盘上输入 3 和 4,则输出结果是main( )

11、int a,b,s;cinab;s=a;if(aB)s=b;s=s*s;coutsendl;(分数:2.00)A.14B.16C.18D.2031.关于类和对象描述错误的是(分数:2.00)A.对象(Object)是现实世界中的客观事物,对象具有确定的属性B.类是具有相同属性和行为的一组对象的集合C.对象是类的抽象,类是对象的实例D.类是对象的抽象,对象是类的实例32.下列叙述中正确的是(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结

12、构D.以上三种说法都不对33.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定高C.耦合程度弱的模块,其内聚程度一定低D.上述三种说法都不对34.有关构造函数的说法中错误的是(分数:2.00)A.构造函数名字和类的名字一样B.构造函数在对象被创建时由系统自动调用C.构造函数无任何函数类型D.构造函数有且只有一个35.如下程序的输出结果是main( )int a=2,b=-1,c=2;if(aB)if(b0)c=0else c+;coutcendl;(分数:2.00)A.0B.1C.2D.3二、填空题(总题数:15,分数:30.00)3

13、6.在深度为 5 的完全二叉树中,叶子结点的个数最多为 1。(分数:2.00)填空项 1:_37.在一个容量为 25 的循环队列中,若头指针 front=15,尾指针 rear=6,则该循环队列中共有_个元素。(分数:2.00)填空项 1:_38.符合结构化原则的三种基本控制结构为:顺序结构,选择结构和 1。(分数:2.00)填空项 1:_39.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为 1。(分数:2.00)填空项 1:_40.数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数

14、据库的访问,这组软件称为 1。(分数:2.00)填空项 1:_41.执行“coutchar(F-2)endl;“语句后得到的输出结果后 1。(分数:2.00)填空项 1:_42.十进制 28 和 3.26 的类型分别是 1。(分数:2.00)填空项 1:_43.已知 int DBL (int n)return n+n;和 long DBL (long n)return n+n 是一个函数模板的两个实例,则该函数模板的定义是 1。(分数:2.00)填空项 1:_44.假定要动态分配一个类型为 worker 的具有 n 个元素的数组,并由 r 指向这个动态数组,则使用的语句是 1。(分数:2.00

15、)填空项 1:_45.将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成员函数。此时 const 不是指定函数的返回值,而是修饰 1 指针。(分数:2.00)填空项 1:_46.若要在程序文件中进行标准输入输出操作,则必须在开始的# include 命令中使用头文件 1。(分数:2.00)填空项 1:_47.下列程序的输出结果为_。#includeiostream.hvoid Func(char ch)switch(ch)case A:case a:cout“优秀“endl;case B:case b:cout“良好“endl;break;case C:case

16、 c:cout“及格“endl;break;default:cout“不及格“endl;void main( )char ch1=bFunc(ch1);Func(A);(分数:2.00)填空项 1:_48.根据注释内容在空白处填写适当内容。class Locationprivate:int X,Y;public:void init(int initX,int initY);int GetX( );int GetY( );void Location:init(int initX,int initY)X=initX;Y=initY;int Location:GetX( )reutrn X;int

17、Location:GetY( )reutrn Y;#includeiostream.hvoid main( )Location A1;A1.init(20,90);_ /定义一个指向 A1 的引用 rA1coutrAl.GetX( )“:“rAl.GetY( )endl;(分数:2.00)填空项 1:_49.下列程序的执行结果是_。#includeiostream.hfloat temp;floatreturn temp;void main( )float a=fn2(5.0);floatb=20;couttempendl;(分数:2.00)填空项 1:_50.下列类的构造函数不能通过编译,正

18、确的构造函数应该是_。#includeiostream.hclass Samplepublic:int n;const int con;Sample(int m) con=m+1;n=m;void disp( ) cout“normal:n=“nendl;void disp( )const cout“static:n=“nendl;void main( )const Sample a (12);Sample b (13);a.disp( );b.isp( );couta.n“,“b.conendl;(分数:2.00)填空项 1:_二级 C+笔试-228 答案解析(总分:100.00,做题时间:

19、90 分钟)一、选择题(总题数:35,分数:70.00)1.有以下程序void fun(int*a,int i,int i)int t;if(ij);t=ai;ai=aj;aj=t;fun(a,+i,- -j);main( )int a=1,2,3,4,5,6,i;fun(a,0,5);for(i=0;i6;i+)coutai;执行后输出结果是(分数:2.00)A.6 5 4 3 2 1 B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3 4 5 6解析:解析 本题采用递归函数的方式将数组中的元素进行倒置,正确答案为 A。2.为了培养良好的程序设计风格,下列描述中正确的是(分数

20、:2.00)A.程序应简单、清晰、可读性好 B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无解析:解析 良好的程序设计风格主要包括设计的风格、语言运用的风格、程序文本的风格和输入输出的风格。程序设计的风格应该强调简单和清晰,程序必须是可以理解的,强调“清晰第一,效率第二”。符号名的命名不仅要符合语法,而且符号名的命名应具有一定实际含义,以便于对程序功能的理解。因此,选项 B 中的说法是错误的。由于程序设计的风格强调的是“清晰第一,效率第二”,而不是效率第一。因此,选项 C 中的说法也是错误的。程序中的注释部分虽然不是程序的功能,计算机在执行程序时也不会执行它,但不能

21、错误地认为注释是可有可无的部分。在程序中加入正确的注释能够帮助读者理解程序,注释是提高程序可读性的重要手段。因此,选项 D 中的说法也是错误的。3.在最坏情况下,下列各排序方法的比较次数正确的是(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 n(n+1)/2C.快速排序为 n/2D.快速排序为 n(n-1)/2 解析:解析 在最坏情况下,冒泡排序的比较次数为 n(n-1)/2,快速排序的比较次数也为 n(n-1)/2。4.阅读以下程序#includefstream.hvoid main( )ifstream infile;ofstream outfile;fstream iofile;

22、iofile.open(“a.txt“,ios:in);iofile.close( );iofile.open(“b.txt“,ios:out);下列描述错误的是(分数:2.00)A.对象 infile 只能用于文件输入操作B.对象 outfile 只能用于文件输出操作C.对象 iofile 在文件关闭后,不能再打开另一个文件 D.对象 iofile 可以打开一个文件同时进行输入和输出解析:解析 本题看似复杂,其实掌握技巧的话可以很容易的得出正确答案为 C。按照常识,一个文件关闭后,应该可以再打开另外一个文件。5.以下程序的输出结果是intf( )static int i=0;int s=1;

23、s+=i;i+;return s;main( )int i,a=0;for(i=0;i5;i+)a+=f( );coutaendl;(分数:2.00)A.20B.24C.25D.15 解析:解析 本题考察的是同名局部变量和全局变量的作用域之间的关系。同时考察了静态变量的特点:退出函数和进入函数并不影响静态变量的值。因此,循环多次,实际上完成静态变量的累加。即1+2+3+4+5,其值为 15,故答案为 D。6.如下程序的输出结果是main( )float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;elsey=1.0;coutyendl;(分数:2.0

24、0)A.0.000000B.0.250000C.0.500000 D.1.000000解析:解析 本题主要考察条件语句的运行规则,C+中规定 else 与它前面最近的未配对的且可见的 if配对。7.以下对 C/C+语言函数的描述中,正确的是(分数:2.00)A.C 程序由一个或一个以上的函数组成 B.C 函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C+程序中调用关系的所有函数必须放在同一个程序文件中解析:解析 C 语言的基本单位是函数;函数可以调用可以嵌套,但函数定义不可以嵌套;函数可以没有返回值,在函数名前加 void;C+程序中调用关系的所有函数可以放在不同的

25、程序文件中,故正确答案为 A 项。8.以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为main( )int a,b;scanf (“%d%d“,cinab;cout“a=“a“b=“b;a=a+b;b=a-b;a=_;cout“a=“a“b=“bendl;(分数:2.00)A.a+bB.a-b C.b*aD.a/b解析:解析 本题思路巧妙,分析时可以发现 b=(a+b)-b,则此时 b 中放的是 a,完成交换工作的一半。然后要将 b 放到 a 中,将表达式展开,则为 a=(a+b)-a,此时正好把 b 放到 a 中。此时完成全部的交换。9.如果 a=1,b=2,c=3,d=4,则表

26、达式 ab? a: cd? c: d 的值为(分数:2.00)A.1 B.2C.3D.4解析:解析 本题考察问号表达式的嵌套,只要掌握了问号表达式的求解顺序,是可以轻松求解本题的。Ab 成立,故整个表达式的值是 a,即 1。答案为 A。10.以下有关析构函数的叙述不正确的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参 C.析构函数指定返回类型D.析构函数名前必须冠有符号“”解析:解析 本题考察析构函数的定义和使用,析构函数不能有形参,故正确答案应为 B。11.下列不是循环语句的是(分数:2.00)A.while 语句B.dowhile 语句C.for 语

27、句D.ifelse 语句 解析:解析 本题很简单,选项 D 是条件语句,不是循环语句。12.下列叙述中正确的是(分数:2.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态类别变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值解析:解析 本题考察的是变量的作用域及其生存期。一个全局变量的生存周期从它被声明开始,直到程序结束;一个局部变量的生存期从它被声明开始,直到包含它的最近的一个程序块结束。静态变量的生存期将延续到整个程序的终止。13.已知大写字母 A 的 ASCII 码值是 65,小

28、写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是(分数:2.00)A.字符 A B.字符 aC.字符 eD.非法的常量解析:解析 首先将八进制数转换成十进制数,则发现是 65,故答案为 A。14.有以下程序main( )int a3=1,2,3,4,5,0),(*p(分数:2.00)A.3,i;doif (i%2)i+;continue;i+;s+=i;while(i7);coutsendl;执行后输出结果是(分数:2.00)A.16 B.12C.28D.21解析:解析 本题考察 continue 语句在 while 循环中的使用:直接跳转到条件判断表达式位置,不再执

29、行 continue 后面的语句。另外,根据分析可知,本题循环体的功能是将 0,2,4,6 位元素加一后累加,故结果应是 1+3+5+7,因此正确答案为 A。17.以下关于类中静态成员的叙述不正确的是(分数:2.00)A.静态成员为类的所有对象所公有B.静态成员变量可以在类内任何位置上声明C.静态成员变量的赋初值必须放在类外D.定义静态成员变量时必须赋初值 解析:解析 静态成员变量的引入是为了解决同一类的不同对象间数据共享的需要。因此,类的静态数据成员在定义时不能赋初值,只能在类外赋初值,此外要注意赋值时要用类名进行限制。18.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程

30、序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析 程序设计并不单指编程,还有很多步骤,编程只是其中的一步,选项 A 是错误的;程序测试工作应避免由程序员自己去完成,选项 B 也是错误的;程序经调试改错后还应进行再测试,选项 C 是正确的,选项 D 是错误的。19.有以下程序段int k=0;while(k=1)k+;while 循环执行的次数是(分数:2.00)A.无限次 B.有语法错,不能执行C.一次也不执行D.执行 1 次解析:解析 注意本题有个陷阱,马虎的考生将纷纷落马。本来、while 中的表达式应为 k= =1,而本题却为

31、 k=1,是赋值表达式而不是逻辑表达式。因此,编译器将其值一直认为是 1,因此表达式一直为真,陷入无限次的循环。20.以下程序的输出结果是main( )int num=0;while(num=2)num+;coutnum;(分数:2.00)A.1234B.123 C.12D.1解析:解析 本题考察的是循环次数的判定。有 while 后的逻辑表达式可知,整个循环体需要执行 3 次,故可直接选定正确答案为 B。21.有以下程序main( )int p7=11,13,14,15,16,17,18,i=0,k=0;while(i7i+;)coutkendl;执行后输出结果是(分数:2.00)A.58B

32、.56C.45D.24 解析:解析 分析可知本题中 while 循环体的功能是将数组中元素值为奇数的项目累加,在遇到第一个元素值为偶数时停止累加。因此,观察数组中各元素值可知 14 之前的奇数相加是 11+13,故答案为 D。22.按“先进后出”原则组织数据的结构是(分数:2.00)A.有序表B.栈 C.队列D.二叉树解析:解析 栈是按“先进后出”原则组织数据的结构;队列是按“先进先出”原则组织数据的结构;而有序表与二叉树均不是。23.以下正确的描述为(分数:2.00)A.每个 C+语言程序必须在开头用预处理命令:B.预处理命令必须位于 C+源程序的首部C.在 C+语言中预处理命令都以“ #“

33、开头 D.C+语言的预处理命令只能实现宏定义和条件编译的功能解析:解析 本题中,A 和 B 的描述是一样的,故可以排除。在 C+中,建议用 inline 函数取代 C 语言中的宏定义功能。24.设有数组定义:char array=“China“;则数组 array 所占的空间为(分数:2.00)A.4 个字节B.5 个字节C.6 个字节 D.7 个字节解析:解析 本题考察在 C+语言中,字符串的存放规则。即字符串存放在字符数组中,而且在字符的后面自动插入标识字符串结束的标识符/0,因此,共 6 个字符,每个字符占用一个字节,故正确答案为C。25.对下列二叉树进行中序遍历的结果是(分数:2.00

34、)A.ZBTYCPXAB.ATBZXCYPC.TZBACYXP D.ATBZXCPY解析:解析 按照二叉树中序遍历的方法:在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。对本题中的二叉树进行中序遍历的结果应是 TZBACYXP。26.在测试中,下列说法错误的是(分数:2.00)A.测试是为了发现程序中的错误而执行程序的过程B.测试是为了表明程序的正确性 C.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案D.成功的测试是发现了至今为止尚未发现的错误的测试解析:解析

35、正确认识测试的目标十分重要,测试目标决定了测试方案的设计。如果为了表明程序的正确性而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。27.以下选项中合法的用户标识符是(分数:2.00)A.longB._2 Test C.3 DmaxD.dat解析:解析 注意 A 选项用了 C+的保留字 long,选项 C 使用了数字开头,选项 D 中存在空格,这些均是错误的标识。正确答案应为 B。28.数据库概念设计中由分散到集中的设计方法是(分数:2.00)A.视图设计B.视图集成设计 C.集中式模式设计D.分散式模式设计解析:解析

36、数据库概念设计中由分散到集中的设计方法是视图集成设计方法,它的设计过程复杂但它能较好地反映需求,适合于大型与复杂的单位,避免设计的粗糙与不周到,目前此种方法使用较多。29.下列语句中,输出与众不同的是(分数:2.00)A.cout“1.“setfill()“Hello!“endl; B.cout“1.“Hello! /n“;C.cout“1. Hello!“endl;D.cofit“1.“setw(7)“Hello!“;解析:解析 本题主要考察 setfill 的用法。只用在设置了宽度的情况下,字符填充操作 setfill 才有意义。另外要注意的是设置宽度 setw 是所有格式中唯一一个一次有

37、效的设置。30.若执行下面的程序时,从键盘上输入 3 和 4,则输出结果是main( )int a,b,s;cinab;s=a;if(aB)s=b;s=s*s;coutsendl;(分数:2.00)A.14B.16 C.18D.20解析:31.关于类和对象描述错误的是(分数:2.00)A.对象(Object)是现实世界中的客观事物,对象具有确定的属性B.类是具有相同属性和行为的一组对象的集合C.对象是类的抽象,类是对象的实例 D.类是对象的抽象,对象是类的实例解析:解析 C+中,类是用户自定义的一种数据类型,对象是类的实例,类定义了属于该类的所有对象的共同特性。一个类作为一种数据类型,它可以定

38、义多个对象。32.下列叙述中正确的是(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析 一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,因此,数据的逻辑结构与存储结构不一定是一一对应的。选项 A 中的说法是错误的。虽然计算机的存储空间是向量式的存储结构,但由于一种数据的逻辑结构根据需要可以表示成多种存储结构,例如,线性链表是线性表的链式存储结构。一般来说,在线性表的链式存储结构中,各数据结

39、点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的。因此,数据的存储结构不一定是线性结构。选项 B 中的说法也是错误的。虽然程序设计语言中的数组一般是顺序存储结构,但是,利用数组也能处理非线性结构。例如,满二叉树与完全二叉树是非线性结构,实际上也是利用了程序设计语言中的数组来处理二叉树这样的非线性结构。选项 C 中的说法也是错误的。33.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定高 C.耦合程度弱的模块,其内聚程度一定低D.上述三种说法都

40、不对解析:解析 影响模块之间耦合的主要因素有两个:一是模块之间的连接形式,二是模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度要比接口简单的模块强。因此,选项 A 中的说法是错误的。耦合和内聚是一个问题的两个方面,耦合程度弱的模块,其内聚程度一定高。因此,选项 C 和 D 中的说法也是错误的;选项 B 中的说法是正确的。34.有关构造函数的说法中错误的是(分数:2.00)A.构造函数名字和类的名字一样B.构造函数在对象被创建时由系统自动调用C.构造函数无任何函数类型D.构造函数有且只有一个 解析:解析 本题考察构造函数的定义和使用。构造函数可以重载,故不可能只有一个。35.如下程序的输出

41、结果是main( )int a=2,b=-1,c=2;if(aB)if(b0)c=0else c+;coutcendl;(分数:2.00)A.0B.1C.2 D.3解析:解析 本题考察的是 ifelse 语句中的配对原则:与最近的配对,故当 ab 为假时直接执行输出语句,即 c 的值是 2,正确答案为 C。二、填空题(总题数:15,分数:30.00)36.在深度为 5 的完全二叉树中,叶子结点的个数最多为 1。(分数:2.00)填空项 1:_ (正确答案:16)解析:解析 在深度为 5 的完全二叉树中,就属深度为 5 的满二叉树中的叶子结点的个数最多,这些叶子结点均在最后一层(即第 5 层)上

42、。又根据二叉树的性质 1:在二叉树的第 k 层上,最多有 2 k-1(k1)个结点。因此,在第 5 层上最多的结点数为 25-1=16。37.在一个容量为 25 的循环队列中,若头指针 front=15,尾指针 rear=6,则该循环队列中共有_个元素。(分数:2.00)填空项 1:_ (正确答案:16)解析:解析 设循环队列的容量为 m。如果 rearfront,则循环队列中的元素个数为 rear-front;如果 rearfront,则循环队列中的元素个数为 m+(rear-front)。在本题中,front=15,rear=6,即 rearfront,因此,循环队列中的元素个数为 m+(

43、rear-front)=25+(6-15)=16。38.符合结构化原则的三种基本控制结构为:顺序结构,选择结构和 1。(分数:2.00)填空项 1:_ (正确答案:循环结构(或重复结构))解析:解析 符合结构化原则的三种基本控制结构为:顺序结构、选择结构和循环结构(或重复结构)。39.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为 1。(分数:2.00)填空项 1:_ (正确答案:数据字典)解析:解析 在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典。40.数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性

44、,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为 1。(分数:2.00)填空项 1:_ (正确答案:数据库管理系统(DBMS))解析:解析 数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件就是数据库管理系统(DBMS)。41.执行“coutchar(F-2)endl;“语句后得到的输出结果后 1。(分数:2.00)填空项 1:_ (正确答案:D)解析:解析 char-|_|-在这里作为强制类型转换函数使用,将 F 前相隔两个的字符显示出来,故应为字符 D。

45、42.十进制 28 和 3.26 的类型分别是 1。(分数:2.00)填空项 1:_ (正确答案:int 和 double)解析:解析 整型和双精度型。注意除非定义了 float 变量,实型常量隐含为 double 型。43.已知 int DBL (int n)return n+n;和 long DBL (long n)return n+n 是一个函数模板的两个实例,则该函数模板的定义是 1。(分数:2.00)填空项 1:_ (正确答案:templateclass TT DBL(Tn)return n+n;)解析:解析 本题考核函数模板的使用。函数模板的一般说明形式如下:template类型形

46、参表返回类型函数名(形参表)/函数体)。函数调用方式为:函数名(实参表);。形参表中的类型以实参表中的实际类型为依据。由此易得答案。44.假定要动态分配一个类型为 worker 的具有 n 个元素的数组,并由 r 指向这个动态数组,则使用的语句是 1。(分数:2.00)填空项 1:_ (正确答案:Worker*r=new Workern)解析:解析 在 C+中动态分配栈上内存的命令是 new,释放命令是 delete,注意和 C 语言中的 mallc和 free 向对应。45.将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成员函数。此时 const 不是指定函数的返回值,而是修饰 1 指针。(分数:2.00)填空项 1:_ (正确答案:this)解析:解析 const 在修饰指针的时候考生容易混淆。如果 const 位于星号的左侧,则 const 就是用来修饰指针所指向的变量,即指针指向为常量;如果 const 位于星号的右侧,const 就是修饰指针本身,即指针本身是常量。而用 const 声明了返回值后,const 按照“修饰原则“进行修饰,

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