【计算机类职业资格】二级C++笔试-337及答案解析.doc
《【计算机类职业资格】二级C++笔试-337及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-337及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-337 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列函数的运行结果是( )。#includeiostream.hint add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int add(int a,int b)int s=a+b;return s;(分数:2.00)A.25B.30C.20D.152.只能作为成员函数重载的是( )。(分数:2.00)A.=B.+C.*D.new3.下列关于结构化程序设计原则和方法的描述
2、中,错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方法来模拟4.实现运行时的多态性要使用( )。(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数5.下列是重载为非成员函数的运算符函数原型,其中错误的是( )。(分数:2.00)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Praction);C.FractionD.Fraction6.下列程序输出的
3、结果是( )。#includestdio.hfun1(char a,char b)char c;c=a;a=b;b=c;fun2(char*a,char b)char c;c=*a;*a=b;b=c;fun3(char*a,char*b)char c;c=*a;*a=*b;*b=c;void main()char a,b;a=A;b=B;fun1(a,b);putchar((分数:2.00)A.;putchar(B.;a=A;b7.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD8.有如下程序:int x=3;do x-=2;coutx;whi
4、le(!(-x);执行这个程序的输出结果是( )。(分数:2.00)A.1B.30C.1-2D.死循环9.类模板 templateclass Tclass x.,其中友元函数 f 对特定类型 T(如 int),使函数 f(xint)成为 xint模板类的友元,则其说明为( )。(分数:2.00)A.friend voidf();B.friend voidf(xT);C.friend voidA:f();D.friend void CT:f(xT);10.由于常对象不能被更新,因此( )。(分数:2.00)A.通过常对象只能调用它的常成员函数B.通过常对象只能调用静态成员函数C.常对象的成员都是
5、常成员D.通过常对象可以调用任何不改变对象值的成员函数11.下列程序的运行结果为( )。#includeiostream.hvoid main()int a=2;int b=a+1;couta/bendl;(分数:2.00)A.0.66667B.0C.0.7D.0.6666666612.下列运算符中,( )运算符在 C+中不能重载。(分数:2.00)A.if(m+5)coutm;else coutm-;(分数:2.00)A.7B.6C.5D.415.有如下类定义:class Foopublic:Foo(int v) : value(v) / Foo() / private:Foo() / in
6、t value = 0; / ;其中存在语法错误的行是( )。(分数:2.00)A.B.C.D.16.在 C+程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序的执行速度,则应该选用( )。(分数:2.00)A.内联函数B.重载函数C.递归调用D.嵌套调用17.下列选项中,不是算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报18.下列程序的输出的结果是( )。#includeiostream.hvoid main()int i,k,a10,p3;k=5;for(i=0;i9;i+)ai=i;for(i=0;i3;i+)pi=ai*(
7、i+1);for(i=0;i3;i+)k+=pi*2;coutk;(分数:2.00)A.20B.21C.22D.2319.下列关于模板的叙述中,错误的是( )。(分数:2.00)A.模板声明中的第一个符号总是关键字 templateB.在模板声明中用“”和“”括起来的部分是模板的形参表C.类模板不能有数据成员D.在一定条件下函数模板的实参可以省略20.有如下类定义:class AAint a;public:int getRef()const return /int getValue()const return a; /void set(int n)const a=n; /friend void
8、 show(AA a(分数:2.00)A.const couta;21.有如下程序:#include iostreamusing namespace std;class Basepublic:void fun() cout“Base:fun“endl; ;class Derived : public Basepublic:void fun()_cout“Derived:fun“endl;int main()Derived d;d.fun();return 0;已知其执行后的输出结果为:Base:funDerived:fun则程序中下划线处应填入的语句是( )。(分数:2.00)A.Base.f
9、un();B.Base:fun();C.Base-fun();D.fun();22.有如下程序:#include iostreamusing namespace std;int main()int *p;*p = 9;cout “The value at p: “ *p;return 0;编译运行程序将出现的情况是( )。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错23.线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储
10、,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序24.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系25.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用26.以下都是 C+语言标识符的是( )。(分数:2.00)A.dsfa,df4,fB.huhj,a,k2C.3k,hj_9D._ok,
11、jk,k827.下列关于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则28.下列程序运行后的输出结果是( )。#includeiostream.hvoid fun(int,int,int*);void main()int x,y,z;fun(5,6,fun(7,x,fun(x,y,coutx“,“y“,“zendl;void fun(int a,int b,int *c)b+=a;*c=b-a;(分数:2.00)A.5,5,5B.6
12、,6,6C.5,6,7D.7,7,729.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序和逻辑顺序相同30.下列有关指针的用法中错误的是( )。(分数:2.00)A.int i;int *p=B.int i;int *p;i=*p;C.int *p;p=0;D.int i=5;int *p;p=31.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段32.软件需求分析阶段的工作,可以分为 4 个方面:需求获取
13、、需求分析、编写需求规格说明书以及( )。(分数:2.00)A.阶段性报告B.需求评审C.总结D.都不正确33.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标34.下列程序的运行结果为( )。#includeiostream.hvoid main()int a=2;int b=a+1;couta/bendl;(分数:2.00)A.0.66667B.0C.0.7D.0.6666666635.下列程序的输出结果是( )。#ificludeiostreamusing namespace std;int main()cout.
14、fill(*);cout.width(5);coutoct100endl;return 0;(分数:2.00)A.*100B.*144C.100*D.144*二、填空题(总题数:15,分数:30.00)36.数据库系统的主要特点为数据集成性、数据的高 1 和低冗余性、数据独立性和数据统一管理和控制。(分数:2.00)填空项 1:_37.数据库的逻辑模型设计阶段的任务是将 1 转换成关系模式。(分数:2.00)填空项 1:_38.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_39.最简单的交换排序方法是 1。(分数:2.00)填空项 1:_40.在
15、链表的运算过程中,能够使空表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_41.插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。Insert 类的成员函数 sort()实现了插入排序算法,请填空。class Insertpublic:Insert(int *b0,int n0):b(b0),n(n0);/参数 b0 是某数组首地址,n 是数组元素个数void sort()/此函数假设已排序序列初始化状态只包含 b0,未排序序列初始为 b1.bn-1for(int i=1;in;+i)int t=bi;int j;for(_;j0;-j)i
16、f(t=bj-1)break;bj=bj-1;bj=t;(分数:2.00)填空项 1:_42.若有函数 fun(x,y),并且已经使函数指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是_。(分数:2.00)填空项 1:_43.阅读下列程序:#includeiostream.hvoid fun(int n)int x(5);static int y(10);if(n0)+x;+y;coutx“,“yendl;void main()int m(1);fun(m);则该程序的输出结果是_。(分数:2.00)填空项 1:_44.下面是一个栈类的模板,其中 push 函数将元素 i
17、 压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top 值为 0,栈项元素在 stacktop-1中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tclass Tstack enumsize=1000;T stacksize;int top;public:Tstack():top(0)void push(const T Tpop()if(top=0)exit(1);/栈空时终止运行return _;(分数:2.00)填空项 1:_45.类中数据成员和成员函数的默认访问级别为 1。(分数:2.00)填空项 1:_46.在下列的程序的横线处填上适当的语句,使该程序的
18、输出为 12。#includeiostream.husing namespace std;class Basepublic:int a,b;Base(int i)a=i;class Derived:public Baseint a;public:Derived(int x):Base(x),b(x+1);void show()_;/输出基类数据成员 a 的值。coutbendl;void main()Derived d(1);d.show();return 0;(分数:2.00)填空项 1:_47.下列程序的输出结果为 2,请将程序补充完整。#include iostreamusing nam
19、espace std;class Basepublic:_void fun() cout1;class Derived:public Basepublic:void fun()cout2;int main()Base*p=new Derived;p-fun();delete p;return 0;(分数:2.00)填空项 1:_48.有如下程序:#include iostreamusing namespace std;class PARENTpublic:PARENT() cout “PARENT“; ;class SON : public PARENTpublic:SON() cout “S
20、ON“; ;int main()SON son;PARENT *p;p = return 0;执行上面程序的输出是_。(分数:2.00)填空项 1:_49.在 MyClass 类的定义中,对赋值运算符;进行重载。请将横线处缺失的部分补充完整。_MyClass:operator=(const MyClassvalue = rhs.value;return *this;(分数:2.00)填空项 1:_50.如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。class myClassprivate:int data;public:myClass(
21、int value); /构造函数myClass(const_anotherObject); /拷贝构造函数(分数:2.00)填空项 1:_二级 C+笔试-337 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列函数的运行结果是( )。#includeiostream.hint add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int add(int a,int b)int s=a+b;return s;(分数:2.00)A.25 B.30
22、C.20D.15解析:解析 由主函数 main 入手,定义外部变量 x 和 y,调用函数 add。因为 x,y 为外部变量,所以“int x(20),y(5);”的赋值在 add 也是有效的,即 add 函数的运算结果为 25。2.只能作为成员函数重载的是( )。(分数:2.00)A.= B.+C.*D.new解析:解析 运算符重载为成员函数的形式为:函数类型 operator 运算符(形参表)函数体;;运算符重载为友元函数的形式为:friend 函数类型 operator 运算符(形参表)函数体;。一般来讲,单目运算符最好重载为成员函数,双目运算符最好重载为友元函数。=、()、-以及所有的类
23、型转换运算符只能作为成员函数重载。3.下列关于结构化程序设计原则和方法的描述中,错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句 D.语言中所没有的控制结构,应该采用前后一致的方法来模拟解析:解析 限制使用 GOTO 语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO 语句。选项 A)、B)、D)为结构化程序设计的原则。4.实现运行时的多态性要使用( )。(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数 解析:解析 C+中函数重载和运算符重载实现的多态
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 337 答案 解析 DOC
