【计算机类职业资格】二级C++笔试15及答案解析.doc
《【计算机类职业资格】二级C++笔试15及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试15及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 15 及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.下列关于栈的叙述中,不正确的是( )。(分数:2.00)A.在栈的两端都能插入或删除数据B.在栈中只能从一端插入或删除数据C.栈中的数据是先进后出D.栈是一种特殊的线性表2.C+对 C 语言作了很多改进,下列描述中,( )使得 C+语言发生了质变,即从面向过程变成了面向对象。(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明必须用原型D.引进了类和对象的概念3.有以下程序: #include iostream using n
2、amespace std; template class T class TAdd private: T x, y; public: TAdd( T a, T b ) x = a; y = b; T add() return x + y; ; int main () TAdd int A( 5, 6 ); TAdd double B( 2.4, 5.6 ); coutA, add () “, “B. add () end1; return 0; 执行后的输出结果是( )。(分数:2.00)A.11,8B.5,6C.2.4,5.6D.8,114.在一个长度为 n 的线性表中插入一个元素,以下说法
3、不正确的是( )。(分数:2.00)A.最好情况下需要移动的数据元素数目为 0B.最坏情况下需要移动的数据元素数目为 nC.在平均情况下需要移动的数据元素数目为 n/2D.最坏情况下需要移动的数据元素数目为 n/25.一棵含 18 个节点的二叉树的高度至少为( )。(分数:2.00)A.3B.4C.5D.66.有以下程序: #includeiostream using namespace std; int f(int,int); int main() int i:1,x; x=f(i,i+1); coutxend1; return 0; int f(int a,int b) int c; c
4、= a; if(ab) c = 1; else if(a=b) c = 0; else c = -2; return c; 运行后的输出结果是( )。(分数:2.00)A.1B.0C.-1D.-27.下面不属于 C+语言的基本数据类型的是( )。(分数:2.00)A.字符类型B.整数类型C.逻辑类型D.枚举类型8.有以下程序: #includeiostream using namespace std; int n3=10,20,30,40,50,60;int main() int (*p)3; p=n; coutp0 0“,“*(p0+1)“,“(*p) 2end1; return 0; 上述
5、程序执行后的输出结果是( )。(分数:2.00)A.10,20,30B.20,30,40C.10,30,50D.10,40,609.一个函数为 void f(int,char ch=a),另一个函数为 void f(int),则它们( )(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载D.以上说法均不正确10.下列各项中,属于面向对象程序设计语言不同于其他语言的主要特点的是( )。(分数:2.00)A.继承性B.消息传递C.多态性D.静态联编11.若有以下程序: #include iostream using namespace
6、std; class A private: int a; public: A(int i) a=i; void disp() couta“, “; ; class B private: int b; public: B(int j) b=j; void disp() coutb“, “; ; class C : public B,public A private: int c; public: C int k) :A(k-2),B(k+2) c=k; void disp() A: :disp (); B:disp(); coutcend1; ; int main () C ebj (10);
7、obj .disp (); return 0; 程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,1012.在结构化方法中,软件功能分解属于下列软件开发中的阶段是( )。(分数:2.00)A.详细设计B.需求分析C.总体设计D.编程调试13.下列各种调试方法中,靠演绎、归纳以及二分法来实现的是( )。(分数:2.00)A.强行排错法B.回溯法C.原因排除法D.静态调试14.下列关于类与对象的说法中,不正确的是( )。(分数:2.00)A.对象是类的一个实例B.任何一个对象只能属于一个具体的类C.一个类只能有一个对象D.类与对
8、象的关系和数据类型与变量的关系相似15.设树 T 的度为 4,其中度为 1,2,3,4 的节点个数分别为 4,2,1,1。则 T 中叶子节点数为( )。(分数:2.00)A.8B.7C.6D.516.类 MyClass 的定义如下: class MyClass public: MyClass() value=0; setVariable(int i) value=i; private: int value; ; 则以下各项对如下语句序列的描述中,正确的是( )。 MyClasS *p,my; p= class count static int n; public: count ( ) n+;
9、static int test() for (int i = 0; i 4; i+ ) n+; return n; ;int count : n = 0; int main() coutcount : test()“ “; count c1, c2; coutcount : test()end1; return 0; 执行后的输出结果是( )。(分数:2.00)A.4 10B.1 2C.22D.2420.下列类的定义中,有( )处语法错误。 class Base public: Base() Base(int i) data=i; private: int data; ; class Deri
10、ve : public Base public: Derive() : Base(O) Derive (int x) d=x; void setvalue(int i) data=i; private: int d; ;(分数:2.00)A.1B.2C.3D.421.有以下程序: #include iostream #include string usxng namespace std; int main() char p = “abcdefgh“; coutstrlen(strcpy(p,“12345“)end1; return 0; 执行后输出的结果是( )。(分数:2.00)A.8B.1
11、2C.5D.722.数据管理技术的发展是与计算机技术及其应用的发展联系在一起的,经历了由低级到高级的发展过程。分布式数据库、面向对象数据库等新型数据库是属于( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.高级数据库技术阶段23.若 a,b,c1,c2,x,y 均是整型变量,正确的 switch 语句是( )。(分数:2.00)A.switch(a+B.switch(a*a+b* case:y=a+b;break; case 3: case:y=a-b;break; case 1:y=a+b;break; case 3:y=b-a;break; C.switcha
12、D.switch(a- casec1:y=a-b;break; default:y=a*b;break; casec2:x=a*b;break; case 3:case4:x=a+b;break; default:x=a+b; case 10:case 11:y=a-b;break; 24.在数据结构中,从逻辑上可以把数据结构分成( )。(分数:2.00)A.动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树形结构和图状结构25.下面函数的功能是( )。 int fun(char *x) char *y=X; while(*y+); return (y-x-1); (分数
13、:2.00)A.求字符串的长度B.比较两个字符串的大小C.将字符串 x 复制到字符串 yD.将字符串 x 连接到字符串 y 后面26.有以下程序: #include iostream using namespace std; class CSample private: int i; public: CSample ( ); CSample( int val ); void Display(); CSample (); ; CSample: CSample () cout “C1“; i = 0; CSample: :CSample( int val ) cout “C2“; i = val;
14、 void CSample: :Display() couti“: “; CSample: CSample ( ) cout “D“; int main ( ) CSample a, b( 10 ); return 0; 执行后的输出结果为( )。(分数:2.00)A.ClC2DDB.DDC1C2C.C2C1DDD.C1DC2D27.基类中的( )不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。(分数:2.00)A.公有成员B.私有成员C.私有成员函数D.保护成员28.设有 n 元关系 R 及 m 元关系 S,则关系 R 与 S 经笛卡儿积后所得新关系是一个
15、( )元关系。(分数:2.00)A.mB.nC.m+nD.m*n29.语句“ofstream f(“DATA.DAT“,ios base:applios base:binary);”的功能是建立流对象 f,并试图打开文件 DATADAT 与之连接,而且( )。(分数:2.00)A.若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件B.若文件存在,将其截为空文件;若文件不存在,打开失败C.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件30.有以下程序: #include iostream using names
16、pace std; class myclass private: int a, b; public: void init( int i, int j ) a = i; b = j; friend int sum( myclass x ); ; int sum( myclass x ) return x.a + x.b; int main () myclass y; y.init( 15, 20 ); coutsum( y )end1; return 0; 执行后的输出结果是( )。(分数:2.00)A.15B.20C.5D.35二、B填空题/B(总题数:14,分数:28.00)31.算法的时间
17、复杂度是指U 【1】 /U。(分数:2.00)填空项 1:_32.对于长度为 n 的有序线性表,在最坏情况下,二分查找需要比较 log2n,那么顺序查找需要比较的次数是U 【2】 /U。(分数:2.00)填空项 1:_33.深度为 m 的满二叉树共有U 【3】 /U个节点。(分数:2.00)填空项 1:_34.关系模型的四种基本操作为插入、删除、修改和U 【4】 /U。(分数:2.00)填空项 1:_35.关系中的属性或属性组合,其值能够惟一地标识一个元组,该属性或属性组合可选作为U 【5】 /U。(分数:2.00)填空项 1:_36.若有 09 之间不同的 3 个数构成一个三位数,下面程序将
18、统计出共有多少种方法,请填空完成此程序。#include iostream using namespace std; int main ( ) int i,j,k; for(i = 1;i=9;i+) for (j=O; j=9; j+) if(U 【6】 /U) continue; else for(k = 0;k=9;k+) if(U 【7】 /U) count+; coutcountend1; return 0; (分数:2.00)填空项 1:_37.设在主函数中有以下定义和函数调用语句,且 fun()函数为 void 类型,请写出 fun()函数的首部U 【8】 /U。 int mai
19、n ( ) double s10 22; int n; fun (s); return 0; (分数:2.00)填空项 1:_38.给出以下程序的执行结果U 【9】 /U。 #include iostream using namespace std; int n=1; void Fun(); int main () n+; Fun ( ); if (n0) int n=5; cout“Block: n=“n “, “; cout “Main: n=“end1; return 0; void Fun ( ) int n=10; cout“Fun: n=“n“,“; (分数:2.00)填空项 1:
20、_39.C+的类继承中,默认的继承方式是U 【10】 /U。(分数:2.00)填空项 1:_40.表达式 x=operator-(y,z)还可以表示为U 【11】 /U。(分数:2.00)填空项 1:_41.如果一个函数模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须重复使用关键词 【12】 。(分数:2.00)填空项 1:_42.下面程序的运行结果为U 【13】 /U。 #include iostream.h void main() unsigned char value=127; int total=100; value+; total+=value; couttot
21、alend1; A) 227 B) 100 C) 127 D) 27(分数:2.00)填空项 1:_43.有如下程序: #include iostream using namespace std; class shapes protected: int x,y; public: void setvalue(int d, int w=0) x=d; y=w; virtual void disp()=0; ; class square : public shapes public: void disp() coutx*yend1; ; int main() shapes *ptr; square
22、s1; ptr= ptr-setvalue(10,5); ptr-disp(); return 0; 执行上面的程序将输出U 【14】 /U。(分数:2.00)填空项 1:_44.有以下程序: #include iostream #include fstream using namespace std; int main() fstream file; file.open(“abc.txt“, ios_base:in); if (! file ) cout“Can not open abc.txt“end1; abort(); char ch; int i = 0; while ( ! fil
23、e.eof() ) file.get(ch); i+; cout“Characters : “iend1; file.close(); return 0; 程序实现的功能是U 【15】 /U。(分数:2.00)填空项 1:_二级 C+笔试 15 答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.下列关于栈的叙述中,不正确的是( )。(分数:2.00)A.在栈的两端都能插入或删除数据 B.在栈中只能从一端插入或删除数据C.栈中的数据是先进后出D.栈是一种特殊的线性表解析:解析 栈的插入和删除运算都只在一端进行。即它的一端是封闭的,不允许进行插
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 15 答案 解析 DOC
