【计算机类职业资格】二级C++笔试317及答案解析.doc
《【计算机类职业资格】二级C++笔试317及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试317及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 317 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.将下列程序写成三目运算表达式是( )。 if(xy)min=x; else min=y;(分数:2.00)A.min=(x?x:yB.min=(x?x:yC.min=(xx:yD.min=(x?x,y2.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 Boo1 fun(char*str) int i=0,j=0; while(strjj+; for(j-;iji+,j-); retur
2、n i _ j; (分数:2.00)A.B.|C. class TestClass public: TestClass(int n)number=n; _/拷贝构造函数 TestClass() private: int number; ;TestClass fun(TestClass p) TestClass temp(P); return temp; int main() TestClsss obj1(10),obj2(0); TestClass obj3(obj1); obj2=fun(obj3); return 0; (分数:2.00)A.TestClass(TestClass B.Te
3、stClass(TestClass othenumber=othenumber;C.TestClass(TestClass D.TestClass(5.下列对派生类的表述中,错误的是( )。(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的缺省继承方式是 privateD.派生类只继承了基类的公有成员和保护成员6.有如下程序: #includeiostream using namespace std; class A public: A()cout“A“; A()cout“A“; ; class B:public A A*p; public: B()
4、cout“B“;p=new A; B()cout“B“;delete p; ; int main() B obj; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.BAAABAB.ABABAAC.BAABA-AD.ABAABA7.若类 A 和类 B 的定义如下: #includemalloc.h class A int i,j; public: int geti() return i; ; class B:public A int k; public: void make() k=i*j; ; 则上述定义中非法的表达式是( )。(分数:2.00)A.k=i*jB.in
5、t k;C.return i;D.void make();8.下列有关内联函数的叙述中,正确的是( )。(分数:2.00)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline 来定义C.内联函数是通过编译器来实现的D.内联函数函数体的最后一条语句必须是 return 语句9.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:2.00)A.XZCYABB.XYZABCC.XYABCZD.XYAZBC10.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为( )。(分数:2.00)A.operator+(operator*(y,)B.operator+
6、(operator*(y,)C.operator+(x*(y,)D.x+(operator*(y,)11.类 MyClass 的定义如下: class MyClass public: MyClass()value=0; SetVariable(int i)value=i; private: int value; ; 则对下列语句序列正确的描述是( )。 MyClass*P, my;p=(分数:2.00)A.语句 p= 是把对象 my 赋值给指针变量 PB.语句 MyClass*p, my; 会调用两次类 MyClass 的构造函数C.对语句* SetVariable(5)的调用是正确的D.语句
7、 p-SetVariable(5)与语句 mSetVariable(5)等价12.有如下类声明; class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ;下列关于 setValue 成员函数的实现中,正确的是( )。(分数:2.00)A.SAMPLE:setValue(int n0)n=n0;)B.void SAMPLE:setValue(int n0)n=n0;C.void setValue(int n0)n=n0;D.(int n0)n=n0;13.如果一个模板声明列出了多个参数,则每个参数之间必须使
8、用逗号隔开,每个参数都必须使用( )关键字来修饰。(分数:2.00)A.constB.staticC.voidD.class14.关于模板,下列说法不正确的是( )。(分数:2.00)A.用类模板定义一个对象时,不能省略实参B.类模板只能有虚拟类型参数C.类模板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数15.类 MyClass 的定义如下,若要对 value 赋值,则下面语句正确的是( )。 class MyClass public: MyClass() MyClass(int i)value=new int(i); int*value; ;(分数:2.00)A.MyClas
9、s my;mvalue=10;B.MyClass my;*mvalue=10;C.MyClass my;m*value=10;D.MyClass my(10);16.有如下程序: #includeiostream using namespace std; Class Con char ID; public: Con():ID(A)cout1; Con(char ID) :ID(ID) cout2; Con(Con char get1D()constreturn ID; ; void show(Con c)coutc.get1D(); int main() Con c1; show(c1); C
10、on c2(B); show(c2); return 0; 执行上面程序的输出是( )。(分数:2.00)A.13A23AB.23A13BC.13A23BD.13B23A17.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间18.下列情况中,不会调用拷贝构造函数的是( )。(分数:2.00)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时19.下列选项中,是软
11、件调试技术的是( )。(分数:2.00)A.错误推断B.集成测试C.回溯法D.边界值分析20.定义如下枚举类型:enumMonday,Tuesday,Wednesday,Thursday,Friday=2;表达式 Wednesday= =Friday 的值是( )。(分数:2.00)A.falseB.trueC.2D.异常21.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性22.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的
12、C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对23.下列打开文件的表达式中,错误的是( )。(分数:2.00)A.ofstream ofile;ofilopen(“C:/vc/Labtxt“,ios:binar;B.fstream iofile;iofilopen(“abtxt“,ios:at;C.ifstream ifile(“C:/vc/abtxt“);D.couopen(“C:/vc/abtxt“,ios:binar;24.下列关于成员函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设
13、置参数的默认值D.成员函数可以是静态的25.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序26.已知递归函数 fun 的定义如下: int fun(int n) if(n=1)return 1;/递归结束情况 else return n*fun(n-2);/递归 则函数调用语句 fun(5)的返回值是( )。(分数:2.00)A.5B.12C.15D.3027.有如下程序: #includeiostream using namespace std; long fun(int n) if(n2) return(fun(n-1)+fun(n-2);
14、else return 2; int main() coutfun(3)end1; return 0; 则该程序的输出结果应该是( )。(分数:2.00)A.2B.3C.4D.528.C+语言本身没有定义 I/O 操作,但 I/O 操作包含在 C+实现中。C+标准库 iostream 提供了基本的I/O 类。I/O 操作分别由两个类 istream 和( )提供。(分数:2.00)A.fstreamB.iostreamC.ostreamD.cin29.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树30.数据库 DB、数据库系统 DBS、数据库
15、管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMSD.没有任何关系31.下列叙述中正确的是( )。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的32.非成员函数只有在声明为( ),才能访问这个类的所有 private 成员。(分数:2.00)A
16、.内联函数B.纯虚函数C.重载函数D.友元函数33.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标34.下列程序的输出结果是( )。 #includeiostream using namespace std; templatetypename T T fun(T a,T b)return(ab)?a:b; void main() coutfun(3,6),fun(3.14F,6.28F)end1; (分数:2.00)A.6,3.14B.3,6.28C.3,3.14D.6,6.2835.在 C+程序中,如果要求通过函数来
17、实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用( )。(分数:2.00)A.内联函数B.重载函数C.递归调用D.嵌套调用二、B填空题/B(总题数:15,分数:30.00)36.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 1。(分数:2.00)填空项 1:_37.在关系模型中,二维表的行称为 1。(分数:2.00)填空项 1:_38.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_39.排序是计算
18、机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:2.00)填空项 1:_40.栈的三种基本运算是入栈、退栈和 1。(分数:2.00)填空项 1:_41.纯虚函数的声明总是以 1 结束。(分数:2.00)填空项 1:_42.下列程序的输出结果为 Objectid=O Obiectid=1 请将程序补充完整。 #includeiostream using namespace std; class Point public: Point(int xx=0,int yy=0)X=xx;Y=yy;countP+; Point()countP-; int GetX()ret
19、urn X; int GetY()return Y; static void GetC()cout“Object id=“countPend1; private: int X,Y; static int countP; ; _/静态数据成员的初始化 int main() Point:GetC(); Point A(4,5); A.GetC(); return 0; (分数:2.00)填空项 1:_43.下列程序的输出结果是_。 #includeiostream using namespace std; Class Test public: Test()cnt+; Test()cnt-; sta
20、tic int Count()return cnt; private: static int cnt; ; int Test:cnt=0; int main() coutTest:Count()“; Test t1,t2; Test*pT3=new Test; Test*pT4=new Test; coutTest:Count()“; delete pT4; delete pT3; coutTest:Count()end1; return 0; (分数:2.00)填空项 1:_44.执行这个程序的输出结果是( ); #includeiostream using namespace std; c
21、lass TestClass1 public: void fun1()cout“TestClass1/n“; virtual void fun2()cout“TestClass1/n“; ;class TestClass2:public TestClass1 public: void fun1()cout“TestClass2/n“; void fun2()cout“TestClass2/n“; ; void f(TestClass1b.fun2(); int main() TestClass2 obj; f(obj); return 0; (分数:2.00)填空项 1:_45.表达式 c3=
22、c1.operator+(c2)或 c3=operator+(c1,c2)还可以表示为 1。(分数:2.00)填空项 1:_46.插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。Insert 类的成员函数 sort()实现了插入排序算法,请填空。 class Insert public: Insert(int *b0,int n0):b(b0),n(n0);/参数 b0 是某数组首地址,n 是数组元素个数 void sort() /此函数假设已排序序列初始化状态只包含 b0,未排序序列初始为 b1.bn-1 for(int i=1;in;+i) int t
23、=bi; int j; for(_;j0;-j) if(tbj-1) break; bj=bj-1; bj=t; (分数:2.00)填空项 1:_47.程序中有如下语句: for(int i=0;i5;i+)cout*(p+i)“,“; 能够依次输出 int 型一维数组 DATA 的前 5 个元素。由此可知,变量 p 的定义及初始化语句是_。(分数:2.00)填空项 1:_48.已知递归函数 f 的定义如下: int f(int n) if(n1)return 1; /递归结束情况 else return n*f(n-2);/递归) 则函数调用语句 f(5)的返回值是_。(分数:2.00)填空
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 317 答案 解析 DOC
