【计算机类职业资格】二级C++笔试12及答案解析.doc
《【计算机类职业资格】二级C++笔试12及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试12及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 12 及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.下面是类 MyClass 的定义,对定义中各种语句描述正确的是( )。 class MyClass publiC: void MyClass(int a) / x=a; ) int func(int a,int b) / x=a; y=b; int func(int a,int b,int c=0) / x=a; y=b; z=c; static void resetValue() / x=0; private: int X,y,Z; ;(分数:2.00)A.语句是类
2、 MyClass 的构造函数定义B.语句和语句实现类成员函数的重载C.语句实现对类成员变量 x 的清零操作D.语句、和都不正确2.若有以下程序: #include iostream using namespace std; class Base public: Base() x=0; int x; ; class Derivedl : virtual public Base public: Derivedl() x=10; ; class Derived2 : virtual public Base public: Derived2() x=20; ; class Derived : publ
3、ic Derivedl,protected Derived2 ; int main () Derived obj; coutobj.xend1; return 0; 该程序运行后的输出结果是( )。(分数:2.00)A.10B.20C.30D.03.有以下程序: #include iostream using namespace std; int main() int num23,*p; int t,i,j,k=10; p=num0; for(i=0;i2;i+) for(j=0;j3;j+) k+; *p=k; for(t=2;t*p;t+) if(!(*pt) j-; *p-; break
4、; *p+; cout*(p-1)end1; return 0; 程序运行后的输出结果是( )。(分数:2.00)A.19B.11C.29D.234.有以下程序: #includeiostream using namespace std; class MyClass public: MyClass();MyClass(); void SetValue(int val); private: static int i; ; int MyClass:i=0; MyClass:MyClass() i+; couti; MyClass:MyClass() i-; couti; void MyClass:
5、SetValue(int val) i=val; int main() MyClass*my2; int k; for(k=0;k2;k+) myk=new MyClass; for(k=0;k2;k+) delete myk; return 0; 运行后的输出结果是( )。(分数:2.00)A.1210B.1100C.1234D.输出结果不确定5.为使该程序执行结果为 10,那么应该在程序划线处填入的语句是( )。 #includeiostream using namespace std; class MyClass public: MyClass (int a) x=a; _ /取 x 值
6、 private: int x; ; int main() MyClass my(10); coutmyGetNum()end1; return 0; (分数:2.00)A.return x;B.int GetNum() return x;C.intreturn x;D.void GetNum()return x;6.设有以下定义和程序: #include iostream.h class A1 public: void showl() cout“class A1“end1; ; Class A2 : public A1 public: void show2() cout“Class A2“e
7、nd1; ; Class A3 : protected A2 public: void show3() cout”Class A 土”end1; ; void main() A1 obj1; A2 obj2; A3 obj3; 则以下不合语法的调用语句是( )。(分数:2.00)A.obj1show1();B.obj2show1();C.obj3show1();D.obj2show2();7.如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是( )。(分数:2.00)A.选择B.投影C.连接D.并8.若要求尽可能快地对实
8、数数组进行稳定的排序,则应选( )。(分数:2.00)A.快速排序B.堆排序C.归并排序D.基数排序9.有以下程序: #includeiostream using namespace std; int main() char a10 = 1,2,3,4,5,6,7,8,9,0),*p; int i=8; p=a+i; coutp-3end1; return 0; 执行程序后的输出结果是( )。(分数:2.00)A.6B.6789C.6D.78910.下列叙述不属于线性链表较之线性表顺序存储结构的优点的是( )。(分数:2.00)A.线性链表存储方式简单B.线性链表运算效率高C.线性链表的存储空
9、间易于扩展D.线性链表便于存储空间的动态分配11.下列关于虚基类的描述中,错误的是( )。(分数:2.00)A.虚基类子对象的初始化由派生类完成B.虚基类子对象的初始化次数与虚基类下面的派生类的个数有关C.设置虚基类的目的是消除二义性D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用12.关系数据库的概念模型是( )的集合。(分数:2.00)A.关系模型B.关系模式C.关系子模式D.存储模式13.有以下程序: #includeiostream #includestring using namespace std; int main() char arr24; s
10、trcpy(arr0,“you“); strcpy(arr1,“me“); arr03= class point int x, y; public: point( int vx, int vy ) x = vx; y = vy; point ( ) x = 0; y = 0; point operator+( point pl ) point p; int px = x + p1.x; int py = y + p1.y; return point( px, py ); point operator-( point p1 ) point p; int px = x - p1.x; int py
11、 = y - p1.y; return point( px, py ); void print() coutx“, “yend1; ; int main () point pl ( 10, 10 ), p2 ( 20, 20 ); p1 = p1 + p2; p1.print (); return 0; 执行后的输出结果是( )。(分数:2.00)A.10,10B.20,20C.10,20D.30,3017.若有数组名作为实参,则传递给形参的是( )。(分数:2.00)A.数组的首地址B.第一个元素的值C.数组中全部元素的值D.数组元素的个数18.按照标识符的要求,下列选项中,( )符号不能组
12、成标识符。(分数:2.00)A.连接符B.下划线C.大小写字母D.数字字符19.若有函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b,); 那么在此函数调用语句中实参的个数是( )。(分数:2.00)A.3B.4C.5D.620.下列关于 break 语句的描述中,不正确的是( )。(分数:2.00)A.break 语句可用于循环体内,它将使执行流程跳出本层循环B.break 语句可用于 switch 语句中,它将使执行流程跳出当前 switch 语句C.break 语句可用于 if 体内,它将使执行流程跳出当前 if 语句D.break 语句在一层循环体中可以出现多次
13、21.有以下程序: #includeiostream using namespace std; int main( ) int a=5;b=4,c=3,d=2; if(abc) coutdend1; else if(c-1:d) =1) coutd+1end1; else coutd+2end1; return 0; 执行后的输出结果是( )。(分数:2.00)A.2B.3C.4D.编译时有错,无结果22.在关系代数中,对一个关系投影操作以后,新关系的元组个数跟原来关系的元组个数相比( )。(分数:2.00)A.小于B.小于或等于C.等于D.大于23.设有以下变量定义,并已赋确定的值: cha
14、r w; int x; float y; double z; 则表达式:w*x+z-y 所求得的数据类型为( )。(分数:2.00)A.charB.intC.floatD.double24.下列关于单目运算符+、-的叙述中,正确的是( )。(分数:2.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和血型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 doule 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量25.有以下程序: #include iostre
15、am #include cstdlib using namespace std; int main() int arraysize; int *array; cout“Please input the size of the array:“; cinarraySiZe; array=new intarraysize; if(array=NULL) cout“allocate Error/n“; exit(1); for(int i=0;iarraysize;i+) arrayi=i*i; int j; cout“which element you want to check:“; cinj;
16、coutarrayjend1; return 0; 执行程序输入:10空格5,则输出结果为( )。(分数:2.00)A.allocate ErrorB.1C.0D.2526.函数重载是指( )。(分数:2.00)A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同。B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同。C.两个以上的函数名字不同,但形参的个数或类型相同。D.两个以上的函数取相同的函数名,并且函数的返回类型相同。27.下面关于对象的描述中正确的是( )。(分数:2.00)A.任何对象都必须具有继承性B.任何对象都必须具有多态性C.操作是对象的静态属性
17、D.对象间的通信靠消息传递28.以下叙述中不正确的是( )。(分数:2.00)A.C+语言中的文本文件以 ASCII 码形式存储数据B.C+语言中对二进制文件的访问速度比文本文件快C.使用函数 open()打开的文件使用完毕后,必须使用 close()函数将其关闭D.C+语言中,随机读写方式不适用于文本文件29.设有下列二叉树(如下图所示)对此二叉树中序遍历的结果是( )。 (分数:2.00)A.ABDGCEHIFB.DGBAHEICFC.GDBHIEFCAD.ABCDEFGHI30.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是( )。(分数:2.00)A.希尔排序B.冒泡排
18、序C.插入排序D.选择排序二、B填空题/B(总题数:14,分数:28.00)31.在面向对象方法中,信息隐蔽是通过对象的U 【1】 /U来实现的。(分数:2.00)填空项 1:_32.任何非空树中有且仅有一个结点没有前驱结点,该结点就是树的U 【2】 /U。(分数:2.00)填空项 1:_33.常见的需求分析方法有U 【3】 /U和面向对象的分析方法。(分数:2.00)填空项 1:_34.在关系模型中,把数据看成一个二维表,每一个二维表称为一个U 【4】 /U。(分数:2.00)填空项 1:_35.在数据库应用系统设计的需求分析阶段,需经过收集资料、分析整理、U 【5】 /U、建立数据字典和用
19、户确认等阶段。(分数:2.00)填空项 1:_36.下列程序在输入 m 后,求满足条件“n!=m=(n+1)!”的值 n,请将程序补充完整。 #include iostream using namespace std; int main() int n,m, jc = 1; cinm; for(n=2;jc=m;n+) jc = jc*n; cout“n=“U 【6】 /Uend1; return 0; (分数:2.00)填空项 1:_37.以下函数的功能是删除字符串 s 中的所有数字字符。请填空。 void dele (char *s) int n=O; for(i=0;si;i+) if(
20、U 【7】 /U) sn+=si; sn= /0; (分数:2.00)填空项 1:_38.下面程序的运行结果是U 【8】 /U #include iostream using namespace std; int fun(int n) static int m = 2; m=m+n; return m; int main ( ) int a = 3, b = 4; int x; x = fun( a ); x = fun( b ); coutxend1; return O; (分数:2.00)填空项 1:_39.如果类 Alpha 继承了类 Beta,则类 Alpha 称为派生类,类 Beta
21、 称为U 【9】 /U类。(分数:2.00)填空项 1:_40.实现编译时的多态性的机制称为U 【10】 /U,实现运行时的多态性的机制称为U 【11】 /U。(分数:2.00)填空项 1:_41.下面程序是一个堆栈的类模板,在横线处填上适当语句,完成类模板的定义。 #define MAXSIZE 100 template class T class Stack T sMAXSIZE; int top; public: stack() top=1; void push(T newValue) if(topMAXSIZE) top=top+1; stop=newValue; else cout“
22、堆栈满,无法进栈“end1; void pop(); ; U 【12】 /U if(top1) coutstopend1; top=top-1; else cout“堆栈空! “end1; (分数:2.00)填空项 1:_42.下面程序的输出结果是U 【13】 /U。 #include iostream using namespace std; class A int a, b; public: A() a = b = 0; A(int aa, int bb ) : a(aA) , b(bB) cout “a=“a“,“b=“b“,“; A() cout“D“; ; int main ( )
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 12 答案 解析 DOC
