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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】计算机等级考试二级(C++)40及答案解析.doc

1、计算机等级考试二级(C+)40 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.以下程序的输出结果是( )。 #includeiostream.h voidreverse(inta,intn) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; voidmain( ) int b10:=1,2,3,4,5,6,7,8,9,10;inti,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; coutS; (分数:2.00)A.(x

2、=y=6,x+y,X+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x+y,x+1)2.下列程序的运行结果是( )。 # include iostreamh class A int a; public: A( ) a=0; A(int aa) a=aa; cout a+; ; void main( ) A x,y (2),z(3); cout endl; (分数:2.00)A.0B.23C.34D.253.若要求从键盘读入含有空格字符的字符串,应该使用函数_。 (分数:2.00)A.getc()B.gets()C.getchar()D.sca

3、nf()4.有如下程序 #includeiostreamh #define N2 #define M N+1 #define NUM 2 * M+1 void main( ) int i; for(i=1;i =NUM;i+) cout i 该程序中的 for循环执行的次数是( )。 (分数:2.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化5.有以下程序 #includeiostreamh void main( ) int a=5,b=0,c=0; if(a=b+c)

4、cout“* * *“ endl; else cout“$“endl; 下列选项叙述正确的是( )。 (分数:2.00)A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出* * *D.输出 $ $ $6.下面程序的运行结果为( )。 #includeiostreamh void main( ) char a=,3; switch(a) case3:cout “3“; case2:cout “2“;break; default:cout “1“; (分数:2.00)A.switch(a+b);B.switch(a+b*3.0)C.switch aD.switch(ab)7.下面关于类

5、和对象的描述中,错误的是( )。(分数:2.00)A.类就是 C语言中的结构体类型,对象就是 C语言中的结构体变量B.类和对象之间的关系是抽象和具体的关系C.对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为的若干对象的统一描述体8.在数据库系统中,用户所见的数据模式为_。(分数:2.00)A.概念模式B.外模式C.内模式D.物理模式9.有以下程序段: int k=0,a=1,b=2,c=3; k=ac?c:k; 执行该程序段后,k 的值是_。 (分数:2.00)A.3B.2C.1D.010.在一棵二叉树上第 5层的结点数最多是【 】(分数:2.00)A.8B.16C.32D.1

6、511.在公有继承的情况下,允许派生类直接访问的基类成员包括【 】(分数:2.00)A.公有成员B.公有成员和保护成员C.公有成员、保护成员和私有成员D.保护成员12.设有定义 int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是_。 (分数:2.00)A.*p=*q;B.p=q;C.*p=D.p=*q;13.对类的构造函数和析构函数描述正确的是( )。(分数:2.00)A.Redim a As IntegerB.Static a As IntegerC.Public a As IntegerD.Dim a As Integer14.sizeof(float)是( )。(

7、分数:2.00)A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式15.以下程序的输出结果是( )。 #includeiostream.h voidreverse(inta,intn) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; voidmain( ) int b10:=1,2,3,4,5,6,7,8,9,10;inti,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; coutS; (分数:2.00)A.22B.10C.34D.3016.下面关于 C+语言变量的叙述错误的是(

8、)。(分数:2.00)A.字段变量的值B.内存变量的值C.随机显示D.错误信息17.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是 ( )。(分数:2.00)A.* * * * * * * * * 1 * 2B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *18.有以下程序: #define N 20 fun(int a,int n,int m) int i,j; for(i=m;i=n;i-)ai+1=ai; main() int i,aN=1,2,

9、3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;iA.10234B.12344C.12334D.1223419.下列叙述中正确的是_。 (分数:2.00)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对20.设 int a=10,b= 11,c=12;,表达式( a + b) c b= =c 的值是( )。(分数:2.00)A.2B.0C.-2D.121.以下叙述中错误的是_。 (分数:2.00)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序

10、运行D.赋值表达式末尾加分号就构成赋值语句22.对于模板定义关键字 class和 typename说法不正确的是( )。(分数:2.00)A.每次调用此过程,该过程中的局部变量都会被重新初始化B.在本过程中使用到的,在其他过程中定义的变量也为 Statci型C.每次调用此过程时,该过程中的局部变量的值保持在上一次调用后的值D.定义了该过程中定义的局部变量为“自动“变量23.下列运算符中全都可以被友元函数重载的是( )。(分数:2.00)A.=,+,-,/B.,+,(),newC.-,+,*,D.c”值为假,故 k 的值还等于原来 k 的值,即 2。10.在一棵二叉树上第 5层的结点数最多是【

11、】(分数:2.00)A.8B.16 C.32D.15解析:根据二叉树的性质,在二叉树的第 K层上,最多有 2的 k-1次方个结点。所以,第五层的结点数最多为 16。11.在公有继承的情况下,允许派生类直接访问的基类成员包括【 】(分数:2.00)A.公有成员B.公有成员和保护成员 C.公有成员、保护成员和私有成员D.保护成员解析:派生类从基类公有继承时,派生类中的成员不能访问基类中的私有成员,可以访问基类中的公有成员和保护成员。12.设有定义 int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是_。 (分数:2.00)A.*p=*q; B.p=q;C.*p=D.p=*q;

12、解析:题面中各变量定义后,指针变量 p 指向了变量 n2 所在的存储单元,指针变量 q 指向了变量 n1 所在 的存储单元,要使得 n1 的值赋给 n2,可用指针变量 q 所指向的存储单元的值赋给指针变量 p 所指向的存 储单元,即*p=*q。13.对类的构造函数和析构函数描述正确的是( )。(分数:2.00)A.Redim a As IntegerB.Static a As Integer C.Public a As IntegerD.Dim a As Integer解析:C+中用友元函数重载运算符至少有一个参数,重载一目运算符要有一个参数,重载二目运算符要有两个参数。14.sizeof(f

13、loat)是( )。(分数:2.00)A.一个双精度型表达式B.一个整型表达式 C.一种函数调用D.一个不合法的表达式解析:该函数用于数据类型和变量。注意:size of 操作符不能用于函数,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、void 类型等。15.以下程序的输出结果是( )。 #includeiostream.h voidreverse(inta,intn) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; voidmain( ) int b10:=1,2,3,4,5,6,7,8,9,10;

14、inti,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; coutS; (分数:2.00)A.22 B.10C.34D.30解析:在 main函数中,调用 reverse函数将 b数组中的前 8个成员进行互置,执行完毕后,b 数组中的成员为 18,7,6,5,4,3,2,1,9,10,在执行 for循环结构后,将 b6,b7b9的值相加,结果为 1+2+9+10:22。注意:在计算累加和时,应将累加变量赋值为零。 16.下面关于 C+语言变量的叙述错误的是( )。(分数:2.00)A.字段变量的值 B.内存变量的值C.随机显示D.错误信息解析:使用 SET P

15、ROCEDURETO命令可以将过程或函数放在单独的程序文件中,选项 B)用于设置键盘功能键,选项 A)和选项 C)语法错误。17.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是 ( )。(分数:2.00)A.* * * * * * * * * 1 * 2 B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *解析:C+语言中 setfil1的意思是在空格的地方填上 setfil1函数中的参数字符,setw 的意思是没置整个输出字符串的字符个数,本题中用:来

16、代替空格。18.有以下程序: #define N 20 fun(int a,int n,int m) int i,j; for(i=m;i=n;i-)ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;iA.10234B.12344C.12334 D.12234解析:本题函数 fun 的作用是将指定的数组元素(从下标 n 到下标 m)向后移一位。由函数调用“fun(a,2,9);”可知,函数 fun 用于将 a2 到 a9的各元素依次向后移一位,移完后,a 数组中各元素的值分别为 1,2,3,3,4,5,6,7,

17、8,9,10,故输出的前 5 个数组元素为 12334。19.下列叙述中正确的是_。 (分数:2.00)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对 解析:程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件 中的错误。先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。软件测试贯穿 整个软件生命期,调试主要在开发阶段。为了达到更好的测试效果,应该由独立的第三方来构造测试。因 为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是程度不同地存在障碍

18、的。软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必 要而且可能的扩充和删改。20.设 int a=10,b= 11,c=12;,表达式( a + b) c b= =c 的值是( )。(分数:2.00)A.2B.0 C.-2D.1解析:本题考查的是运算符的优先级,应该先计算 a+b的值为 21,然后 与 c比较大小的值为 0,根据“”的运算规则,整个表达式的值为 0。21.以下叙述中错误的是_。 (分数:2.00)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值

19、语句解析:“空语句出现在任何位置都不会影响程序运行”这句话是错误的,例如在 for 循环中,循环条件语 句为空时,则不判断循环条件,循环将无终止地进行下去,导致了此循环为死循环。22.对于模板定义关键字 class和 typename说法不正确的是( )。(分数:2.00)A.每次调用此过程,该过程中的局部变量都会被重新初始化B.在本过程中使用到的,在其他过程中定义的变量也为 Statci型C.每次调用此过程时,该过程中的局部变量的值保持在上一次调用后的值 D.定义了该过程中定义的局部变量为“自动“变量解析:Style 属性用来决定控件类型及列表框部分行为,其值取 0,1,2。 0-Dropd

20、own Combo Box:此时组合框称为“下拉式组合框”,看上去像一个下拉列表框,但是可以输入文本或从下拉列表框中选择表项。 1-Simple Combo Box:此时组合框称为“简单组合框”,它由一个文本编辑区和一个标准列表框组成。 2-Dropdown List Box:此时组合框称为“下拉式列表框”,它的外观和下拉式组合框一样,右端也有一个箭头,可供“拉下”或“收起”列表框,可以从下拉列表框选择表项,也可以键入表项的文本作选择,但不接收其他文本输入。 23.下列运算符中全都可以被友元函数重载的是( )。(分数:2.00)A.=,+,-,/B.,+,(),newC.-,+,*,D.,只能

21、用友元函数重载的是。24.以下关键字不能用来声明类的访问权限的是_。(分数:2.00)A.publicB.staticC.protectedD.private解析:25.下面程序输出的结果是( )。 #includeiostream.h voidmain( ) inti; inta33:1,2,3,4,5,6,7,8,9; for(i=0;iA.定义了一个名为 a的一维数组B.a数组有 3个元素C.a数组的元素的下标为 1-3 D.数组中的每一个元素都是整型解析:选项 A)j=i,因为 j是 long型,而等号左边是 int型,所以将位数少的数值向位数多的数值转换时,可以自动转换,所以选项 A

22、)正确。选项 B)j=(long)i,当然既能自动转换,我们在前面加上位数多的那个数据类型的名称,也只是更加安全,所以选项 B)正确。选项 C)i=(int)j,它属于必须进行强制转换数据类型的那种情况,因为想把一个位数多的数据转换成一个位数更少的数据类型,必须强制转换,方法是在()中说明向哪个数据类型转换,结果是使 j的精度降低到 int型。注意:选项 D)i=j,没有进行强制转换,会发生编译错误。26.有以下程序: main() int m=12,n=34; printf(“%d%d“,m+,+n); printf(“%d%d/n“,n+,+m); 程序运行后的输出结果是_。(分数:2.0

23、0)A.12353514 B.12353513C.12343514D.12343513解析: 执行 “ printf(“%d%d“,m+,+n); ”后, 输出 的是 m 和 n+1 的值 1235 ,接 着执 行 “printf(“%d%d/n“,n+,+m);”输出 n 和 m+1 的值 3514。27.在 C中用来实现运行时多态性的是【 】(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数 解析:本题考核虚函数。在 C语言中,多态性可分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现。其实现机制称为静态联编(也译为静态绑定),即在编译阶段决定执

24、行哪个同名的被调用函数:运行时的多态性是通过体现的,其实现机制称为动态联编(也译为动态绑定),即在编译阶段不能决定执行哪个同名的被调用函数,只在执行阶段才能依据要处理的对象类型来决定执行哪个类的成员函数。用来实现运行时多态性的是虚函数。28.以下能对二维数组 a进行正确初始化的语句是( )。(分数:2.00)A.int a2 = 1,0,1,5,2,3;B.int a 3= 1,2,3,4,5,6; C.int a24= l,2,3,4,5,6 ;D.int a 3= 1,0,1, ,l,1 ;解析:本题考查对二维数组初始化知识点的掌握。在初始化语句时,需要注意下面几点:所赋初值个数与数组元素

25、的个数相同;每行所赋初值个数与数组元素的个数不同时,系统将自动给该行其余的元素补初值 0;所赋初值行数少于数组行数时,系统将自动给后面各行的元素补初值 0;赋初值时省略行花括号对。在给二维数组赋初值时可以不用行花括号对。注意:选项 A)中省略了第二维的大小,所以是错误的;选项 C)超出了数组的定义范围,所以是错误的;选项 D)在初始化赋值的时候出现了错误。29.下面关于 C+语言的描述错误的是( )。(分数:2.00)A.C+语言支持数据封装B.C+语言中引入友元没有破坏封装性 C.C+语言允许函数名和运算符重载D.C+语言支持动态联编解析:数据封装就是数据抽象;友元可以访问类中的所有成员,是

26、面向对 象的一个重要特征,但是破坏了封装性;重载和动态联编都是面向对象的另一个特点- 多态性。30.有以下程序 main() int i,j,x=0; for(i=0;ibc) d=(543) 先算 54,为真,得 1,即:d=(13),此时 13,为假,得 0。 41.下列程序的输出结果是 1。 #include using namespace std; class A int a; public: A2:a(9) virtual void print3consttoutprint10; show(d1); show(d2); return 0; (分数:2.00)填空项 1:_ (正确答案

27、:9ss9s)解析:程序首先创建 A的实例对象 d1,此时 a的值等于 9,然后创建 B的实例对象,此时 b的值等于 s,最后依次输出即为 9ss9s。42.以下程序的输出结果是 1。 #includeiostreamh voidfun( ) staticinta=0; a+=2; couta“; voidmain( ) intcc; for(cc=1;cc4;cc+) fun( ); coutendl; (分数:2.00)填空项 1:_ (正确答案:2 4 6)解析:本题考查静态局部变量的使用。用关键字 static声明的局部变量为“静态局部变量”,其值在函数调用结束后不消失而保留原值,即其

28、占用的存储单元不释放,在下一次该函数调用时,该变量已有值,就是上一次函数调用结束时的值。 43.常数据成员和静态数据成员在使用前共同的要求是要进行 1。(分数:2.00)填空项 1:_ (正确答案:初始化)解析:C+语言中常数据成员和静态数据成员都要进行初始化,只是初始化的方法不一样。 44.下面程序的运行结果是 1 和 2。 #includeiostreamh #define N 10 #define s(x)x * x #define f(x)(x * x) void main3 int i1,i2; i1=1000/s(N);i2=1000/f(N); cout i1 “ “ i2; (

29、分数:2.00)填空项 1:_ (正确答案:1000)解析:对于 define宏定义语句,系统会在编译前进行替换。本题替换过程如下: i1=1000/s(N) i1=1000/s(10) i1=1000/10*10 i1=1000 i2=1000/f(N) i2=1000/f(10) i2=1000/(10*10) i2=10 45.友元类的所有成员函数都是另一个类的 1。(分数:2.00)填空项 1:_ (正确答案:友元函数)解析:C+语言中友元类中的函数都是另一个类的友元函数。46.如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的 1 函数。(分数:2.00)填空项 1

30、:_ (正确答案:内联)解析:本题考查内联函数与宏定义的区别。C+中的成员函数如果它的实现写在了类中,那么该函数就是一个内联函数。47.C+中封装性、继承性和 1 是面向对象思想的主要特征。(分数:2.00)填空项 1:_ (正确答案:多态性)解析:面向对象系统包含了三个特征封装性、继承性和多态性,这三个特征可以 很好的实现数据抽象,进行行为共享,完成进化求解和描述一个系统的确定行为。 48.下列程序段的输出结果是 1。 coutfixed509.123456789endl; (分数:2.00)填空项 1:_ (正确答案:509.123457)解析:fixed 的意义是在小数点后保留六位,所以

31、 fixed输出为 509.123457。49.以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)4,int *); main1 int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b); for(i=0;i2=x; (分数:2.00)填空项 1:_ (正确答案:bri 或 *(br+i))解析:二维数组 a 存放 3 行 4 列的数组元素,一维数组 b 用于存放每行的最大数。在函数 fun 中,外层 for 循环用于控制行数,内层 for 循环用于控制列数。50.若有定义语句:int*a,b;,则变量 b 的数据类型是 1 。(分数:2.00)解析:

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