【计算机类职业资格】计算机二级(C++)65及答案解析.doc
《【计算机类职业资格】计算机二级(C++)65及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C++)65及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C+)65 及答案解析(总分:4230.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:60,分数:4200.00)1.下面程序段的运行结果是( )。 voidmain( ) ihtt,a,b,C; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:70.00)A.1,2,0B.2,1,0C.1,2,1D.2,1,12.下面程序的运行结果是( )。 #include“ iostreamh“ #define sum(a,b)a * b void main( ) int x; x=s
2、am(1+2,3); cout x; (分数:70.00)A.0B.9C.7D.53.下列语句不能够用于打开 C根目录下文件 testtxt 的语句是( )。(分数:70.00)A.3B.6C.10D.204.下面程序的运行结果是( )。 #includeiostreamh class base protected: int a; public: base( )cout“0“; ; class basel:virtual base public: basel( )cout“1“; ; class base2:virtual base public: base2( )cout“2“; ; cla
3、ss derived:public basel,public base2 public: derived( )cout“3“; ; void main( ) derived obj; coutendl; (分数:70.00)A.123B.3120C.312D.30125.执行语句 for(i=1;i+ 4;);,后变量 i的值是(分数:70.00)A.SELECT姓名 FROM车间; WHERE 工资3000 AND 车间=“W1“OR 车间=“W2“B.SELECT姓名 FROM车间; WHERE 工资3000 AND(车间=“W1“OR 车间=“W2“)C.SELECT姓名 FROM车间;
4、 WHERE 工资3000 OR 车间=“W1“OR 车间=“W2“D.SELECT姓名 FROM车间; WHERE 工资3000 AND(车间=“W1“OR 车间=“W2“)6.以下叙述中错误的是_。 (分数:70.00)A.C 程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.函数形参的值也可以传回给对应的实参7.有以下程序: #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
5、,6,7,8,9,10; fun(a,2,9); for(i=0;iA.10234B.12344C.12334D.122348.下列描述中哪个是正确的?(分数:70.00)A.私有派生的子类无法访问父类的成员B.类 A的私有派生子类的派生类 C无法初始化其祖先类 A对象的属性,因为类 A的成员对类 C是不可访问的C.私有派生类不能作为基类派生子类D.私有派生类的所有子孙类将无法继续继承该类的成员9.下面对于友元函数描述正确的是( )。(分数:70.00)A.多线程就是同时执行几个事件B.多线程是将程序分为几个并行的子任务,由它们并发交叉执行C.一个进程可产生多线程,形成执行流D.Java语言支
6、持多线程10.有以下程序 main() int a32=0,(*ptr)2,i,j; for(i=0;i,则输出结果是_。(分数:70.00)A.产生错误信息B.1 0 2 0 0 0C.1 2 2 0 0 0D.1 0 2 0 3 011.下列说法正确的是( )。(分数:70.00)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline定义12.关于 continue语句叙述不正确的是( )。(分数:70.00)A.continue语
7、句用于循环体中,结束循环B.continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C.continue可以用于 if语句中D.continue语句不能代替 break语句13.下列对于线性链表的描述中正确的是_。 (分数:70.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的14.if 语句的语法格式可描述为 格式 1:if() 或 格式 2:if()else 关于上面的语法格式,下列表
8、述中错误的是(分数:70.00)A.部分可以是一个 if 语句,例如 if(if(a =0)?)B.部分可以是一个 if 语句,例如 if(?)if(?)C.如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D.部分可以是一个循环语句,例如 if(?)while(?)?15.下面程序错误的语句是( )。 # include iostreamh void main( ) int * p=new int1; p=9; cout * p endl; delete p; (分数:70.00)A.ValueB.VisibleC.DefaultD.Enabled16.在公有派生的情况下,派生类中定义的
9、成员函数只能访问原基类的【 】(分数:70.00)A.公有成员和私有成员B.私有成员和保护成员C.公有成员和保护成员D.私有成员、保护成员和公有成员17.在 C+语言程序中,对象之间的相互通信通过( )。(分数:70.00)A.a=1;B.+i;C.a=a+1=5D.! (+a! =b-)18.下列数据结构中,能用二分法进行查找的是_。 (分数:70.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表19.有以下程序 #includeiostream int i0; void fun( ) static int i1; Std:couti,; Std:couti,; int
10、 main( ) fun();fun(); return 0; 程序执行后的输出结果是【 】 (分数:70.00)A.1,2,1,2,B.1,2,2,3,C.2,0,3,0,D.1,0,2,0,20.多态性指的是( )。(分数:70.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数21.C+语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言( )。(分数:70.00)A.满足一定规范化要求的二维表B.二维表中的一行C.二维表中的一列D.二维表中的一个数字项22.以下叙述中正确
11、的是( )。(分数:70.00)A.构成 C+语言程序的基本单位是类B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义23.以下程序的输出结果是( )。 #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; (分
12、数:70.00)A.22B.10C.34D.3024.判断 char型变量 c是否为小写字母的正确表达式是( )。(分数:70.00)A.a =c =zB.(c =A) void main( ) int a=10,b=20; couta“ “b; swap( char *s1=“Fortran“,*s2=“Basic“; if(fp=fopen(“test.txt“,“wb“)=NULL) printf(“Cant open test.txt file/n“); exit(1); fwrite(s1,7,1,fp); /*把从地址 s1开始的 7个字符写到 fp所指文件中*/ f seek(f
13、p, 0L,SEEK_SET); /*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); (分数:70.00)A.BasicanB.BasicFortranC.BasicD.FortranBasic36.以下都是 C+语言标识符的是( )。(分数:70.00)A.dsfa,df4,f$B.huhj,a,k2C.3k,h,j_9D._ok,jk,k837.在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是_。 (分数:70.00)A.(!E=0)B.(E0|E=0) printf(“%c“,sn-); 当编译连接通过后,运行程序 T18
14、时,输入 Thank!则输出结果是: 5。 (分数:1.50)填空项 1:_72.对于下面定义的类 MyClass,请在函数 f1中添加对象成员把 n的值修改为 50。 class MyClass public: MyClass(int x)n=x; void SetNum (int nl) n=nl; private: int n; ; int f( ) MyClass * ptr=new MyClass(45);2 (分数:1.50)填空项 1:_73.在 C+语言中每个类都有一个 1 指针,该指针指向正在调用成员函数的对象。(分数:1.50)填空项 1:_74.重载的运算符保持其原有的
15、1、优先级和结合性不变。(分数:1.50)填空项 1:_75.设置虚基类的目的是 1,通过 2 表示虚基类。(分数:1.50)填空项 1:_76.以下程序的输出结果是 1。 #includeiostreamh unsignedfun(unsignednum) unsignedk=1; do k * =num%10;num/=10;while(num); returnk; voidmain( ) unsignedn=26; coutfun(n)endl; (分数:1.50)填空项 1:_77.在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承 private。 已知有如下类定义
16、: class Base protected: void fun1 public: Foo2:value(0) ; class Derived:Base; 则 Base类中的成员函数 fun3,在 Derived类中的访问权限是 4 (注意:要求填写private、protected 或 public中的一项)。 (分数:1.50)填空项 1:_78.C+语言提供的基本控制结构可以分为 3种类型:顺序结构、 1 和循环结构。(分数:1.50)填空项 1:_79.C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 1 方式。(分数:1.50)填空项
17、1:_80.请按下面注释的提示,将类 B的构造函数定义补充完整。 C1assA int a; public: A(int aaO)aaa; ; class B:public A int b; A c; public: /用 aa初始化基类 A,用 aa1 初始化类对象成员 c B(int aa: 1baa2 ; (分数:1.50)填空项 1:_计算机二级(C+)65 答案解析(总分:4230.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:60,分数:4200.00)1.下面程序段的运行结果是( )。 voidmain( ) ihtt,a,b,C; a=1;
18、b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:70.00)A.1,2,0 B.2,1,0C.1,2,1D.2,1,1解析:本题中(abc)的运算次序是先算 ab,返回 1,再运算 1c,返回 1,所以表达式 abc 的值为 1。 2.下面程序的运行结果是( )。 #include“ iostreamh“ #define sum(a,b)a * b void main( ) int x; x=sam(1+2,3); cout x; (分数:70.00)A.0B.9C.7 D.5解析:本题考查宏定义的简单运用。理解宏定义,sum(a,
19、b)o * b 中 a为 1+2,b 为 3,故 sum(1+2,3):1+2 * 3,即宏定义的替换过程是原样替换。注意:选项 B)的计算方法是(1+2) * 3=9 是错误的,注意,不要随意的加括号。3.下列语句不能够用于打开 C根目录下文件 testtxt 的语句是( )。(分数:70.00)A.3B.6C.10D.20 解析:由于大多数监听器接口都包含了我们可能不需要的方法。使用适配器类作为父类,可避免为实现接口而必须实现一些空方法的麻烦。4.下面程序的运行结果是( )。 #includeiostreamh class base protected: int a; public: ba
20、se( )cout“0“; ; class basel:virtual base public: basel( )cout“1“; ; class base2:virtual base public: base2( )cout“2“; ; class derived:public basel,public base2 public: derived( )cout“3“; ; void main( ) derived obj; coutendl; (分数:70.00)A.123 B.3120C.312D.3012解析:本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先 调用基类的构造函数,
21、接着是按照派生类继承列表的顺序依次调用虚基类的构造函数, 最后调用派生类自己的构造函数。5.执行语句 for(i=1;i+ 4;);,后变量 i的值是(分数:70.00)A.SELECT姓名 FROM车间; WHERE 工资3000 AND 车间=“W1“OR 车间=“W2“B.SELECT姓名 FROM车间; WHERE 工资3000 AND(车间=“W1“OR 车间=“W2“)C.SELECT姓名 FROM车间; WHERE 工资3000 OR 车间=“W1“OR 车间=“W2“D.SELECT姓名 FROM车间; WHERE 工资3000 AND(车间=“W1“OR 车间=“W2“) 解
22、析:List 组件的该构造方法的第一个参数的意思是它的初始显式行 数,如果该值为 0则显示 4行,第二个参数是指定该组件是否可以多选,如果值为 true则 是可以多选,false 是不可多选,如果不指定则缺省是不能多选。6.以下叙述中错误的是_。 (分数:70.00)A.C 程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.函数形参的值也可以传回给对应的实参 解析:在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释 放,实参单元仍保留并维持原值。因此,在执行一个被调用函数时,形参的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C65 答案 解析 DOC
