【计算机类职业资格】计算机等级考试二级(C++)40及答案解析.doc
《【计算机类职业资格】计算机等级考试二级(C++)40及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机等级考试二级(C++)40及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
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 的意思是没置整个输出字符串的字符个数,本题中用:来
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 计算机等级考试 二级 C40 答案 解析 DOC
