【计算机类职业资格】二级C++笔试-408及答案解析.doc
《【计算机类职业资格】二级C++笔试-408及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-408及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-408 及答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:61.00)1.在设计程序时,应采纳的原则之一是( )。A) 不限制 goto 语句的使用 B) 减少或取消注解行C) 程序越短越好 D) 程序结构应有助于读者理解(分数:2.00)A.B.C.D.2.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。A) 函数调用可以作为独立的语句存在B) 函数调用可以无返回值C) 函数调用可以出现在表达式中D) 函数调用可以作为一个函数的形参(分数:2.00)A.B.C.D.3.类 MyClass 的定义如下:class MyCla
2、sspublic:MyClass()value=0;setVariable(int i)value=i;private:int value;则以下各项对如下语句序列的描述中,正确的是( )。MyClasS *p,my; p=dok+=5;couk$;) while(k19);while(k-0)cout*;执行上面的语句序列输出字符$和。的个数分别是A)4 和 20 B)5 和 20 C)4 和 21 D)5 和 21(分数:1.00)A.B.C.D.11.分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 _。A) 描绘了系统的实现细节B) 表明了被开发系统的范围以及它
3、和周围环境的数据交换关系C) 描绘了系统的抽象D) 描绘了软件实现的作者和绘制的时间(分数:2.00)A.B.C.D.12.若有以下程序:#include iostreamusing namespace std;class Aprivate:int a;public:void seta(int x)a=x;void showa()couta“,“;class Bprivate:int b;public:void setb(int x)b=x;void showb()coutb“,“;class C: public A, private Bprivate:int c;public:void se
4、tc(int x, int y, int z)c=z;seta(x);setb(y);void showc()showa();showb();coutcend1;int main()C c;c.setc(1,2,3);c.showc();return 0;程序执行后的输出结果是( )。A) 1,2,3 B) 1,1,1C) 2,2,2 D) 3,3,3(分数:2.00)A.B.C.D.13.下面有关重载函数的说法中,正确的是( )。A) 重载函数必须具有不同的返回值类型B) 重载函数形参个数必须不同C) 重载函数必须有不同的形参列表D) 重载函数名可以不同(分数:1.00)A.B.C.D.14
5、.有如下程序:#ncludeiostremnusing namespace std;class Stackpublic:Stack(unsigned n=10:size(n)rep_=new intsize;top=O;Stack(Stackfor(int i=0;isize;i+)rep_i=s.rep_i;top=s.top;Stack()deleterep_;void push(int a)rep_top=a; top+;int opo()-top;return rep_top;bool is Empty()constreturn top=O;pavate:int*rep_;unsign
6、ed size,top;int main()Stack s1;for(int i=1;i5;i+) s1.push(i);Stack s2(s1);for(i=1;i3;i+) couts2.pop(),;s2.push(6);s1.push(7);while(!s2.isEmpty() couts2.pop(),;return 0;执行上面程序的输出是A)4,3,2,1 B)4,3,6,7,2,1C)4,3,6,2,1 D)1,2,3,4(分数:1.00)A.B.C.D.15.语句 int *p=*k;定义了指针 p,与这个语句等效的语句序列是( )。A) int *p; p= B) int
7、 *p; p=k;C) int *p;*p= *p=k;(分数:2.00)A.B.C.D.16.下面不属于软件开发时期的是( )。A) 软件定义阶段 B) 软件设计阶段C) 软件实现阶段 D) 软件测试阶段(分数:2.00)A.B.C.D.17.若类 A 和类 B 的定义如下:class Apublic:int i,j;void get();;class B:Aint i, j;protected;int k;public:void make();;void B: :make()(k=i*j;则其中 _ 是非法的表达式。A) void get(); B) int k;C) void make(
8、); D) k=i*j;(分数:2.00)A.B.C.D.18.以下程序的输出的结果是( )。#includeiostream.hvoid main( )int i,k,a10,p3;k=5;for(i=0;i10;i+) ai=i;for(i=0;i3 ;i+) pi=ai*(i+1);for(i=0;i3;i+) k+=pi*2;coutk;A) 20 B) 21C) 22 D) 23(分数:2.00)A.B.C.D.19.下列关于模板的叙述中,错误的是A)模板声明中的第一个符号总是关键字 templale B)在模板声明中用括起来的部分是模板的形参表C)类模板不能有数据成员 D)在一定条
9、件下函数模板的实参可以省略(分数:1.00)A.B.C.D.20.下列对模板的声明中正确的是( )。A) templateT B) templateclassT1,T2C) templateclass T1,class T2 D) templateclass T1;class T2(分数:2.00)A.B.C.D.21.下列关于 C+流的描述中,错误的是( )。A) coutA表达式可输出字符 AB) eof()函数可以检测是否到达文件尾C) 对磁盘文件进行流操作时,必须包含头文件 fstreamD) 以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件(分数:1.00)
10、A.B.C.D.22.以下( )成员函数表示纯虚函数。A) virtual int vf(int) B) void vf(int)=0C) virtual void vf()=0 D) virtual void vf(int)(分数:2.00)A.B.C.D.23.以下对 C+语言函数的有关描述中,正确的是A)在 C+语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B)C+语言函数既可以嵌套定义又可以递归调用C)函数必须无返回值,否则不能使用函数D)函数必须有返回值,返回值类型不定(分数:1.00)A.B.C.D.24.不能作为重载函数的调用的依据是A) 参数个数 B) 参数类
11、型 C) 函数类型 D) 函数名称(分数:2.00)A.B.C.D.25.设有以下说明和定义:#includeiostream. hVoid main() typedef unionlong i; int k5; char c;DATE;struct dateint cat; DATE cow; double dog; too;DATE max;cout(sizeof(struct date)+sizeof(max)end1;A) 26 B) 52C) 18 D) 8(分数:2.00)A.B.C.D.26.定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。A) 私有继
12、承 B) 非私有继承 C) 保护继承 D) 公有继承(分数:2.00)A.B.C.D.27.详细设计的结果基本决定了程序最终的A) 代码的规模 B) 运行速度 C) 代码质量 D) 可维护性(分数:2.00)A.B.C.D.28.下列叙述中正确的是( )。A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D) 循环队列中元素的个数是由队头指针和队尾指针共同决定(分数:2.00)A.B.C.D.29.在公有派生情况下,有关派生类对象和基类对象的关系,不正
13、确的叙述是 _。A) 派生类的对象可以赋给基类的对象B) 派生类的对象可以初始化基类的引用C) 派生类的对象可以直接访问基类中的成员D) 派生类的对象的地址可以赋给指向基类的指针(分数:2.00)A.B.C.D.30.需求分析阶段的任务是确定A) 软件开发方法 B) 软件开发工具 C) 软件开发费用 D) 软件系统功能(分数:1.00)A.B.C.D.31.如下程序的输出结果是 #includeiostream #includeiomanip using namespace std; class CSum int x,y; public: CSum(int x0,int y0):X(x0),y
14、(y0) friend ostreamfor(j-;ij i+,j-);return i_j;(分数:2.00)填空项 1:_38.在树中,度为零的结点称为 1。(分数:2.00)填空项 1:_39._是一系列相关函数的模型或样板,这些函数的_形式相同,只是所针对的_不同。(分数:1.00)填空项 1:_40.下列程序的输出结果是_。#includeiostreamusing namespace std;Class Testpublic:Test()cnt+;Test()cnt-;static int Count()return cnt;private:static int cnt;int T
15、est: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:_41.按照“先进先出”的原则组织数据的结构的是 1。(分数:2.00)填空项 1:_42.类 1 支持输入操作,类 2 支持输出操作。(分数:1.00)填空项 1:_填空项 1:_43.对虚函数的调用有两种方式: 1 和 2。(分数:4.00)填空项 1:_
16、填空项 1:_44.下面是用来计算 n 的阶乘的递归函数,请将该函数的定义补充完整(注:阶乘的定义是n!=n*(n-1)*.*2*1)。unsigned fact(unsigned n)if (n = 1)return 1;return_;(分数:2.00)填空项 1:_45.某二叉树中度为 2 的结点有 18 个,则该二叉树有 1 个叶子结点。(分数:1.00)填空项 1:_46.下面的函数定义是某函数模板能够生成的函数实例intsquare(int n)(return n*n;)double square(double n)(retum n*n;)由此可知,该函数模板的定义是 1。(分数:
17、2.00)填空项 1:_47.问题处理方案的正确而完整的描述称为 1。(分数:2.00)填空项 1:_48.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 1。(分数:2.00)填空项 1:_49.有如下定义:class MAint value;public:MA(int n=0):value(n);MA*ta,tb;其中 MA 类的对象名标识符是_。(分数:2.00)填空项 1:_50.以下程序的功能是输出 1 至 100 之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*21+2,故不输出该数;对于 27,有 2*72+7,故输出该数。请填空。#includeiost
18、ream.hvoid main()int n,k=1,s=o,m:for (n=l:n=100;n+=k=l;s=0;_;while(_)k*=m%10;s+=m%10;(3) ;if(ks)coutn;(分数:1.00)填空项 1:_二级 C+笔试-408 答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:61.00)1.在设计程序时,应采纳的原则之一是( )。A) 不限制 goto 语句的使用 B) 减少或取消注解行C) 程序越短越好 D) 程序结构应有助于读者理解(分数:2.00)A.B.C.D. 解析:2.若已定义的函数有返回值,则以下关于该函数调用的叙
19、述中错误的是( )。A) 函数调用可以作为独立的语句存在B) 函数调用可以无返回值C) 函数调用可以出现在表达式中D) 函数调用可以作为一个函数的形参(分数:2.00)A.B.C.D. 解析:解析 本题考查函数的调用方式。函数的形参和实参具有以下特点:形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用读形参变量。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便杷这些值传送给形参。因此应通过预先用赋值,输入等办法使实参获得确定值,实参和形参在数
20、量上,类型上,顺序上应严格一致,否则会发生“类型不匹配”的错误。函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。3.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;setVariable(int i)value=i;private:int value;则以下各项对如下语句序列的描述中,正确的是( )。MyClasS *p,my; p=dok+=5;couk$;) while(k19);while(k-0)cout*;执行上面的语
21、句序列输出字符$和。的个数分别是A)4 和 20 B)5 和 20 C)4 和 21 D)5 和 21(分数:1.00)A. B.C.D.解析:11.分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 _。A) 描绘了系统的实现细节B) 表明了被开发系统的范围以及它和周围环境的数据交换关系C) 描绘了系统的抽象D) 描绘了软件实现的作者和绘制的时间(分数:2.00)A.B. C.D.解析:12.若有以下程序:#include iostreamusing namespace std;class Aprivate:int a;public:void seta(int x)a=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 408 答案 解析 DOC
