【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc
《【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、计算机等级考试二级(C+)38 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下列函数的运行结果是( )。 #include iostreamh int f(int a,int b) int c; if (a b)c=1; else if(a=b)c=0; else c=-1; return(c); void main( ) int i=2,j=3; int p=f(i,j); cout p; (分数:2.00)A.-1B.1C.2D.编译出错,无法运行2.下面程序的运行结果为( )。 # incl
2、ude iostreamh class A public: A( ) cout “1“; A( ) cout “2“; ; class B:public A public: B( ) cout “3“; B ( ) cout “4“; ; void main ( ) B b; (分数:2.00)A.F10B.F4C.F5D.Ctrl3.下列关于输入流类成员函数 getline( )的描述中,错误的是_。(分数:2.00)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格4.下面关于数组的描述错误
3、的是( )。(分数:2.00)A.在 C+语言中数组的名字就是指向该数组第一个元素的指针B.长度为 n 的数组,下标的范围是 0n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数5.有以下程序段: typedef struct NODE int num; struct NODE *next; OLD; 以下叙述中正确的是_。 (分数:2.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.OLD 是一个结构体类型D.OLD 是一个结构体变量6.以下对结构体类型变量 td 的定义中,错误的是_。 (分数:2.00)A.B.C.D.7.以下各选项组中,
4、均是 C+语言关键字的组是( )。(分数:2.00)A.无法引用,必须更名使两者名字不同B.在实例变量加关键字 thisC.在实例变量加关键字 superD.不影响,系统可以自己区分8.以下不正确的定义语句是( )。(分数:2.00)A.doublex5=20,40,60,80,100;B.inty5=0,1,3,5,7,9;C.charcl=1,2,3,4,5;D.charc2:/x1O,/xa,/x8;9.下面程序输出的结果是( )。 #includeiostreamh void main( ) int i; int a33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+
5、) coutaii“ “; (分数:2.00)A.1 5 9B.7 5 3C.3 5 7D.5 9 110.在深度为 7 的满二叉树中,叶子结点的个数为_。 (分数:2.00)A.32B.31C.64D.6311.下面有关 for 循环的正确描述是( )。(分数:2.00)A.A:func2( )和 B:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数D.B:func1( )不是虚函数,而 A:func2( )是虚函数12.下列程序的运行结果为( )。 #includeiostreamh
6、class Location protected: int X,Y; publiC: void SeX(int myx)X=myx; void SetY(int myy)Y=myy; void showxy( ) cout“X=“ X“ “ “Y“= Y endl; ; Class Rectangle :public Location private: int H,W; public: void SetH(int myh)H=myh; void SetW(int myw) W=myw; void show( ) cout “X=“X“ “Y=“ Y“ “H=“ H“ “ “W=“ W endl
7、; ; void main( ) Rectangle r1; r1SetX(3); r1SetY(5); r1SetH(4); r1SetW(6); r1showxy( ); r1. show( ); (分数:2.00)A.ThisFormText1ValueB.ThisFormParentValueC.ParentText1ValueD.ThisParentText1Value13.有以下程序: #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、8,9,10; fun(a,2,9); for(i=0;iA.10234B.12344C.12334D.1223414.下列不是描述类的成员函数的是( )。(分数:2.00)A.a02*1B.a13C.a4-20D.a0415.下面程序的运行结果为( )。 # include iostreamh void main( ) for(int a = 0,x =0;! xa = 10;a+) a+; cout a endl; (分数:2.00)A.纵栏式报表B.表格式报表C.图表报表D.标签报表16.函数模板:template T add(T x,T y) return x+y; 下列对 add 函
9、数的调用不正确的是( )。 (分数:2.00)A.add(1,2)B.add(1,2)C.add(10,2)D.add(10,20)17.有如下说明 int a10: 1,2,3,4,5,6,7,8,9,10 ,* p=a; 则数值为 9 的表达式是( )。 (分数:2.00)A.*p+9B.*(p+8)C.*p+=9D.p+818.下列字符串中可以用作 C+语言标识符的是( )。(分数:2.00)A.EDITB.BROWSEC.REPLACED.CHANGE19.下列描述中正确的是_。 (分数:2.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只
10、有根结点的二叉树是线性结构20.C+语言函数中不能由系统自动生成的是( )。(分数:2.00)A.结合型B.非结合型C.计算型D.非计算型21.有以下程序 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=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是_。 (分数:2.00)A.4,3,7B.3
11、,4,7C.5,2,7D.2,5,722.下面程序的结果为( )。 #include“ iostreamh“ void change(int a,int b) int temp; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:2.00)A.永久性联系B.临时性联系C.任意的联系D.以上说法均不正确23.已定义以下函数 int fun(int *p) return *p; fun 函数返回值是_。 (分数:2.00)A.不确定的值B.一个整数C.形参 p 中存放的值
12、D.形参 p 的地址值24.下面关于 C+语言的描述错误的是( )。(分数:2.00)A.C+语言支持数据封装B.C+语言中引入友元没有破坏封装性C.C+语言允许函数名和运算符重载D.C+语言支持动态联编25.C+语言类体系中,不能被派生类继承的有( )。(分数:2.00)A.a,point,* public; MyBase(int n=0):k(n) int value()constreturn k; ; class MyDerived; MyBase int j; public; MyDerived(int i): j(i) int getK()const return k; int gu
13、tj()constreturn j; ; 编译时发现有一处语法错误,对这个错误最佳准确的描述是(分数:2.00)A.函数 getK 试图访问基类的私有成员变量 KB.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDerived 的构造的数没有对基数数据成员 K 进行初始化29.下列函数原型声明中错误的是【 】(分数:2.00)A.void Fun(int x0,int y0);B.void Fun(int x,int y);C.void Fun(int x
14、,int y0);D.void Fun(int x0,int y);30.下列有关继承和派生的途述中,正确的是【 】(分数:2.00)A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类31.对类的构造函数和析构函数描述正确的是( )。(分数:2.00)A.Redim a As IntegerB.Static a As IntegerC.Public a As IntegerD.Dim a As Integer32.设变量 a、b、c、d
15、和 y 都已正确定义并赋值。若有以下 if 语句: if(aA.B.C.D.33.有以下类定义 class MyClass private: int id; char gender; char*phone; public: MyClass():id(0),gender(#),phone(NULL) MyClass(int no,char ge=#,char*ph=NULL) idno;gender=ge;phone=ph; ; 下列类对象定义语句中错误的是【 】 (分数:2.00)A.MyClass myObj;B.MyClass myObj(11,“13301111155“);C.MyCla
16、ss myObj(12,m);D.MyClass myObj(12);34.在 C+语言中,数据封装要解决的问题是( )。(分数:2.00)A.数据的规范化B.便于数据转换C.避免数据丢失D.防止不同模块之间数据的非法访问35.有如下程序 #includeiostreamh int func(int a,int B) return(a+B) ; void main( ) int x=2,y=5,z=8,r; r=func(func(x,y),z); cout r; 该程序的输出的结果是( )。 (分数:2.00)A.第二行的声明不会为变量 my 分配内存空间B.第二行语句创建一个 Vector
17、 类对象C.第三行语句创建一个 Vector 类对象D.第三行语句为一个 Vector 类对象分配内存空间二、填空题(每空 2 分,共 30 分)(总题数:15,分数:30.00)36.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_37.重载的运算符保持其原有的 1、优先级和结合性不变。(分数:2.00)填空项 1:_38.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为 1。(分数:2.00)填空项 1:_39.数据的逻辑结构在计算机存储空间中的存放形式称为
18、数据的 1(分数:2.00)填空项 1:_40.C+中封装性、继承性和 1 是面向对象思想的主要特征。(分数:2.00)填空项 1:_41.以下程序运行后的输出结果是 1。 main2 int a=3,b=4,c=5,t=99; if(b填空项 1:_42.以下程序的结果为 1。 #include”iostreamh” templatetypename T T total(T * data) T s=0; while( * data) s+= * data +; return s; int main2 int x = 2,4,6,8,0,12,14,16,18 ; cout total(x);
19、 return 0; cout end1; (分数:2.00)填空项 1:_43.以下程序运行后的输出结果是 1。 #includeiostreamh void fun(int x,int y) x=x+y;y=x-y;x=x-y; cout x “,“ y “ ,“; void main2 int x=2,y=3;fun(x,y); cout x “,“ y endl; (分数:2.00)填空项 1:_44.用以下语句调用库函数 malloc,使字符指针 st 指向具有 11 个字节的动态存储空间,请填空。 st=(char*) 1; (分数:2.00)填空项 1:_45.以下程序中,fun
20、 函数的功能是求 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:_46.若有定义语句:int*a,b;,则变量 b 的数据类型是 1。(分数:2.00)填空项 1:_47.派生类的成员一般分为两部分,一部分是 1,另一部分是自己定义的新成员。(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是 1。 main2 int
21、a=1,b=2,c=3; if(c=a) printf(“%d/n“,c); else printf(“%d/n“,b); (分数:2.00)填空项 1:_49.语句 cout /n还可表示为 1。(分数:2.00)填空项 1:_50.下列程序在构造函数和析构函数中申请和释放类的数据成员 int*a,申请时使用形参 b 初始化 a,请填空。 classA public: A(intb); A( ); private: int*a; ; A:A(intb) 1; A:A( ) 2; (分数:2.00)填空项 1:_填空项 1:_计算机等级考试二级(C+)38 答案解析(总分:100.00,做题时
22、间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下列函数的运行结果是( )。 #include iostreamh int f(int a,int b) int c; if (a b)c=1; else if(a=b)c=0; else c=-1; return(c); void main( ) int i=2,j=3; int p=f(i,j); cout p; (分数:2.00)A.-1 B.1C.2D.编译出错,无法运行解析:本题的函数是根据 a 和 b 的值来给 c 赋值。2.下面程序的运行结果为( )。 # include io
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 计算机等级考试 二级 C38 答案 解析 DOC
