【计算机类职业资格】二级C++笔试-352及答案解析.doc
《【计算机类职业资格】二级C++笔试-352及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-352及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-352 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.以下程序的执行结果是( )。#includeiostream.hint fun(int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;void main()int x,a=1,2,3,4,5,6,7,8;x=fun(a,3);coutxendl;(分数:2.00)A.5B.6C.7D.82.当需要将一个函数 bool isnumber(char C) 声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A.enum boo
2、l isnumber(charC);B.define bool isnumber(charC.;C) inline bool isnumber(charC);D.3.为了使模块尽可能独立,要( )。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱4.以下不是结构化程序设计方法的技术是( )。(分数:2.00)A.自顶向下,逐步求精B.自底向上,逐步求精C.从整体到局部D.结构清晰,层次分明5.有如下函数
3、模板:templateclass TT square (Tx) return x*x;)其中 T是( )。(分数:2.00)A.函数形参B.函数实参C.模板形参D.模板实参6.下列关于虚函数的说明中,正确的是( )。(分数:2.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数7.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为(分数:2.00)A.下溢B.上溢C.异常D.溢出8.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象B.对象是类
4、的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系9.有如下程序:#includeiostreamusing 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.运行时有可能出错10.下列有关指针的用法中,错误的是( )。(分数:2.00)A.int i;int *p=B.int
5、 i;int *p;i=*p;C.int *p;p=0;D.int i=5;int *p;p=11.以下程序的输出结果是( )。main()int b33=O,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=i;j+)t=t+bibj j;(分数:2.00)A.2B.3C.4D.512.以下程序的执行结果是( )。#includeiostream.hclass TestClass2public:TestClass2 ();TestClass2(int i,int j);void printb();private:int a,b;class Tes
6、tClass1public:TestClass1()TestClass1(int i,int j);void printa();private:TestClass2 c;TestClassl:TestClass1(int i,int j):c(i,j)void TestClass1:printa()c.printb();TestClass2:TestClass2(int i,int j)a=i:b=j;void TestClass2:printb()cout“a=“a“,“b=“bendl;void main()TestClass1 m(7,9);m.prints();(分数:2.00)A.a
7、=7,b=8B.a=8,b=7C.a=7,b=9D.a=8,b=913.算法的时间复杂度是指( )。(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数14.下列关于成员函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的15.下面程序的运行结果是( )。#includeiostreamusing namespace std;class TestClassstatic int n;public:TestClass ()n
8、+;static int test()for(int i=0;i4;i+)n+;return n;int TestClass:n=0;int main()coutTestClass:test()“ “;TestClass c1,c2;coutTestClass:test()endl;return ();(分数:2.00)A.4,10B.4,6C.0,6D.0,416.下列函数的运行结果是( )。#includeiostream.hint add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int
9、add(int a,int b)int s=a+b;return s;(分数:2.00)A.25B.30C.20D.1517.阅读下面程序:#includeiostream.hfun(int a,int b)int c;c=a+b;return c;void main()int x=6,y=7,z=8,r;r=fun(x-,y+,x+y),z-);coutrendl;则该程序的输出结果是( )。(分数:2.00)A.11B.20C.21D.3118.下列程序将 x、y 和 z按从小到大的顺序排列,横线处应添加语句( )。templateclass Tvoid fun (_)T a;if(xy)
10、a=x;x=y;y=a;if(yz)a=y;y=z;z=a;if(xy)a=x;x=y;y=a;(分数:2.00)A.Tx,Ty,TzB.Tx;y;zC.Tint i;for(i=1;ix;i+)fun();void fun()static int x=1;x*=x+1;coutx“ “;(分数:2.00)A.3,3B.2,2C.2,6D.2,520.若有以下程序:#includeiostreamusing namespace std;int fun()static int i=0;int s=1;s+=i;i+;return s;int main()int i,a=0;for(i=0;i5;
11、i+)a+=fun();coutaendl;return 0;程序运行后,输出的结果是( )。(分数:2.00)A.20B.24C.25D.1521.对虚函数的调用( )。(分数:2.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编22.以下程序的输出的结果是( )。#includeiostream.hvoid main()int i,k,a10,p3;k=5;for(i=0;i9;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+1);for(i=0;i3;i+)k+=pi*2;coutk;(分数:2.00)A.20B.21C.22D.23
12、23.数据字典是数据库设计需求分析阶段的重要工具之一,其最基本的方法是( )。(分数:2.00)A.数据库定义B.数据通信C.数据定义D.数据维护24.下列关于 C+函数的叙述中,正确的是( )。(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己25.下列叙述中正确的是( )。(分数:2.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构26.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.ACBEDGFHB.ABDGCEH
13、FC.HGFEDCBAD.ABCDEFGH27.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化28.下面程序的输出结果为( )。#includeiostream.hclass TestClasspublic:TestClass ()val+;static int val;int TestClass:val=0;void main()TestClass cs1;coutcs1.val“;TestClass cs2;TestClass cs3,cs4;coutcs2.valendl;(分数:2.00)A.03B.13C.14D.2429.如
14、果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a的值,即 3B.变量 a的地址值C.变量 P的地址值D.无意义30.下列运算符不能重载为友元函数的是( )。(分数:2.00)A.= () B.+ - + -C. = =D.+= -= *= /=31.执行语句序列int x=1,coutx-yendl;输出结果为( )。(分数:2.00)A.x-xB.1-1C.1-0D.异常32.设有如下关系表:(分数:2.00)A.T=R/SB.T=RSC.T=RSD.T=RS33.下列程序输出的结果是( )。#includestdio.hfun1
15、(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;b34.某二叉树共有 60个叶子结点与 50个度为 1的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169C.182D.19835.以下关于数据的逻辑结构的叙述中,不正确的是( )。(分数:2.0
16、0)A.数据的逻辑结构是数据间关系的描述B.数据的逻辑结构不仅反映数据间的逻辑关系,而且反映其在计算机中的存储方式C.数据的逻辑结构分为线性结构和非线性结构D.树形结构是典型的非线性结构二、填空题(总题数:15,分数:30.00)36.在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_37.栈中允许进行插入和删除的一端叫做 1。(分数:2.00)填空项 1:_38.在关系代数运算中, 1 操作会消去关系中的某些列并删去重复的元组。(分数:2.00)填空项 1:_39.Jackson方法是一种面向 1 的结构化方法。(分数:2.00)
17、填空项 1:_40.在关系模型中,二维表的行称为 1。(分数:2.00)填空项 1:_41.插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入已排序序列中的正确位置。Insert类的成员函数 sort()实现了插入排序算法,请填空。class Insertpublic:Insert(int*b0,int n0):b(b0),n(n0);/参数 b0是某数组首地址,n 是数组元素个数void sort()/此函数假设已排序序列初始化状态只包含 b0,未排序序列初始为 b1bn-1for(int i=1;in;+i)int t=bi;int j;for(_;j0;-j)if(t=bj-
18、1)break;bj=bj-1;bj=t;(分数:2.00)填空项 1:_42.已有函数 fun(a,b),为了使函数指针变量 P指向函数 fun,则使用的赋值语句是 1。(分数:2.00)填空项 1:_43.阅读下面程序:#includeiostream.hvoid fun1(char a,char b)char c;c=a;a=b;b=c;void fun2(char c=a;a=b;b=c;void main()char a,b;a=x;b=y;fun1(a,b);coutab;a=x;b=y;fun2(a,b);coutab;则该程序的输出为_。(分数:2.00)填空项 1:_44.已
19、知 double var;是文件 1.CPP中的一个全局变量定义,若文件 2.CPP中的某个函数也需要访问,则在文件 2.CPP中 var应说明为 1。(分数:2.00)填空项 1:_45.下面是一个栈类的模板,其中 push函数将元素 i压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top值为 0,栈顶元素在 stacktop-1中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tclass Tstack enumsize=1000;T stacksize;int top;public:Tstack():top(0)void push(const T Tpop(
20、)if(top=0)exit(1);/栈空时终止运行return_;(分数:2.00)填空项 1:_46.非成员函数只有在声明为类的 1 时才能访问这个类的所有 private成员。(分数:2.00)填空项 1:_47.对基类数据成员的初始化必须派生类的构造函数中的 1 处执行。(分数:2.00)填空项 1:_48.在下面的程序的横线处填上适当的语句,使该程序的输出为 12。#includeiostream.husing namespace std;class Basepublic:int a,b;Base(int i)a=i;class Derived:public Baseint a;pu
21、blic:Derived(int x):Base(x),b(x+1);void show()_;/输出基类数据成员 a的值coutbendl;int main()Derived d(1);d.show();return 0;(分数:2.00)填空项 1:_49.在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串 str的长度(不得使用系统提供的字符串处理函数)。int GetLen(char*str)if(_) return 0;else return 1+GetLen(str+1);(分数:2.00)填空项 1:_50.执行语句序列:int x=10,coutx.rendl
22、;输出结果为_。(分数:2.00)填空项 1:_二级 C+笔试-352 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.以下程序的执行结果是( )。#includeiostream.hint fun(int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;void main()int x,a=1,2,3,4,5,6,7,8;x=fun(a,3);coutxendl;(分数:2.00)A.5B.6 C.7D.8解析:解析 由程序的 main函数入手,调用 fun函数,其中参数为数组 a和 3。fun 函数的功能是
23、for循环中由第一个数组元素开始到第三个元素进行累积。2.当需要将一个函数 bool isnumber(char C) 声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A.enum bool isnumber(charC);B.define bool isnumber(charC.;C) inline bool isnumber(charC); D.解析:解析 此题考查的是内联函数的相关知识点。函数原型应指出函数名、返回值类型以及在调用函数时必须提供的参数的个数和类型,因为要声明为内联函数,故应加 inline关键字。3.为了使模块尽可能独立,要( )。(分数:2.00)A
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 352 答案 解析 DOC
