【计算机类职业资格】二级C++笔试-287及答案解析.doc
《【计算机类职业资格】二级C++笔试-287及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-287及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-287 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间2.在基类中有定义的纯虚函数,它要求在派生类中定义,而且基类不能用以说明对象,则该类为( )。(分数:2.00)A.虚基类B.抽象类C.虚函数类D.模板类3.下列说法正确的是( )。(分数:2.00)A.int( *p)n); 是把 p定义为整型变量,它指向不知数据类型的一维数组B.int( *p)(); 是把 p定义为整型指针
2、C.int *pn); 定义指针数组 p,每个指针指向一个整型变量D.int *p(); p 为指向函数的指针,函数返回值为整型4.下列关于 i的输出值,正确的是( )。(分数:2.00)A.#includeiostreamusing namespace std;void main()for(int i=0;i=3;i+) i+;couti;则输出值为 5。B.A程序的输出值为 6C.#includeiostreamusing namespace std;void main()for(int i=0;i=3;i+)i+;couti;则输出值为 13。D.C程序的输出值为 55.下列函数参数默认
3、值定义错误的是( )。(分数:2.00)A.f(int x,int y=O)B.fun(int x=100)C.f(int x=0,int y)D.fun(int x=f()(函数 f()已经定义)6.关于继承的目的和作用,说法不正确的是( )。(分数:2.00)A.继承是为了重复利用父类的可用代码,避免重复劳动B.继承可以增加自己的父类不能实现的功能的代码,使子类的功能更完美,提高程序设计效率C.子类可以继承父类的函数和数据,以便重复使用D.子类为了改造父类7.下面程序的运行结果是( )。#includeiostreamusing namespace std;class Apublic:vi
4、rtualA()cout“call A:A()“endl;class B:public Achar * p;public:B(int i)p=new chari;B()delete(p);cout“call B:B()“;void main()A * a=new B(8);delete a;(分数:2.00)A.call B:B()call A:A()B.call B:B()C.call A:A()D.call A:A()call B:B()8.对于类的私有成员、公有成员,不正确的是( )。(分数:2.00)A.私有成员只对类的内部,不对外部B.公有成员也叫接口,是与外部联系的通道C.私有成员
5、主要对数据成员而言,当然有些成员函数也是私有的D.类的私有成员、公有成员只是相对而言,可以随时改变9.下列程序写法不正确的是( )。(分数:2.00)A.func1()func2()B.func1()func2()C.func2();func1()func2();func2()D.func1()func1();10.C+程序设计语言是( )。(分数:2.00)A.完全的面向对象的程序设计语言B.低级语言C.既是面向对象的程序设计语言,又是结构化程序设计语言D.结构化程序设计语言11.下列说法正确的是( )。(分数:2.00)A.字符型数组与整型数组可通用B.字符型数组与字符串其实没有什么区别C
6、.当字符串放在字符数组中时,要求字符数组长度比字符串长 1个单元,要放字符串终结符/0D.字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别12.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 ( )。(分数:2.00)A.特定的数据模型B.数据无冗余C.数据可共享D.专门的数据管理软件13.输入流对象是输出流的源头,下面( )不是输入流类。(分数:2.00)A.cinB.istreamC.ifstreamD.istrtream14.如果一个函数带有参数说明,则参数的默认值应该在( )中给出。(分数:2.00)A.函数定义B.函数声明C.函
7、数定义或声明D.函数调用15.对于下面程序,选项正确的是( )。#includeiostreamusing namespace std;class pointpublic:void setpoint(unsigned, unsigned);void getpoint(void);private:unsigned x;unsigned y;void point:setpoint(unsigned x, unsigned y)point:x=x;point:y=y;void point:getpoint(void)cout“x:“x“ “y:“yendl;void main(void)point
8、p1,*p2;p2=p2-getpoint();(分数:2.00)A.该程序编译正确,能输出正确结果B.该程序中 setpoint() 形式参数不应为 x、y,这样与程序体中的 x、y 其实是一个变量了C.该程序中的 setpoint() 程序体中的“point:x、point:y”应该改为 x、yD.错误在于主函数中的“p2=”上,应该改为 p2=p1;16.有函数char fun(char *p)return p; 该函数的返回值是( )。(分数:2.00)A.编译出错B.形参 p中存放的地址值C.一个临时存储单元的地址D.形参 p自身的地址值17.下面程序的输出结果是( )。#inclu
9、deiostreamusing namespace std;void main()int a=18;int * p=cout* p;(分数:2.00)A.18B.以十进制输出变量 a的地址C.以十进制输出 p的地址D.以十六进制输出 a的地址18.在深度为 3的满二叉树中,叶子结点的个数为( )。(分数:2.00)A.7B.8C.4D.519.有如下程序:#includeiostreamusing namespace std;int fun(int a, int b)return(+a*b+);void main()int x=3,y=4,z=5,r;r=fun (fun (x,y),z);c
10、outrendl;coutxendl;coutyendl;该程序的输出的结果是( )。(分数:2.00)A.8534B.6034C.12645D.854520.下面程序的输出结果是( )。#includeiostreamusing namespace std;void swap(int x2)int t;t=x0;x0=x1;x1=t;void main()int a2=4,8;swap((分数:2.00)A.;couta021.在软件需求分析过程中,给出需求信息的是( )。(分数:2.00)A.程序员B.项目管理者C.软件分析设计人员D.软件用户22.下列 4项中,必须进行查询优化的是( )
11、。(分数:2.00)A.关系数据库B.网状数据库C.层次数据库D.非关系模型23.模块化程序设计过程中,追求模块的独立性,尽量做到( )。(分数:2.00)A.模块的控制耦合要尽可能高B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强D.模块的扇入系数要大,扇出要小24.结构化需求分析方法中,需要建立数据模型,不属于数据模型所描述的内容的是( )。(分数:2.00)A.数据结构B.数据属性C.数据查询D.数据位置25.栈和队列的共同特点是( )。(分数:2.00)A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没
12、有共同点26.下列一维数组定义正确的是( )。(分数:2.00)A.x=5;int numx;B.const iht x=5;float numx;C.const float x=5;int numx;D.const int x;x=5;intnumx;27.关于函数的调用,下面不正确的是( )。(分数:2.00)A.由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行B.函数的调用可以在任意函数之间进行,只要有需要C.一个函数可以自己调用自己D.函数返回时可以不必带回值,这时函数在定义时其类型应用 void标示28.MyClock 类的拷贝构造函数的声明语句为( )。(分数
13、:2.00)A.MyClock b = a”执行后, i 的值为 2C.语句“int a = 1, i = l, b; b = a|+;”执行后,i 的值为 2D.语句“int a = 1, i = l, b; b = a”执行后, i 的值为 230.关于成员函数的重载,说法正确的是( )。(分数:2.00)A.就是在类中设计多个函数名相同,参数个数及参数类型也相同的函数B.析构函数可以重载C.函数重载,要求函数名相同,但参数个数不同,或参数相同,但其类型不同D.构造函数不可重载31.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是( )。(
14、分数:2.00)A.ABCEDB.DCBEAC.DBCEAD.CDABE32.下面程序的输出结果是( )。#includeiostreamusing namespace std;templateclass TT max(T x,T y)return(x=y ? x:y);void main()coutmax(5,8)endl;coutmax(“zhangsan“,“lisi“);(分数:2.00)A.8zhangsanB.8lisiC.5zhangsanD.5lisi33.具有 3个结点的二叉树有( )。(分数:2.00)A.2种形态B.4种形态C.7种形态D.5种形态34.对应于“int a
15、, b; float c; scanf (“a=% d, b=% f c= % d“, ”的输入是 ( )。(分数:2.00)A.452146B.45,67,89C.s=45;b=67 c=89D.a=45,b=67,c=8935.对于 while、dowhile 循环结构,正确的说法是( )。(分数:2.00)A.只是表达形式不同B.dowhile 结构中的语句至少执行一次C.while 结构中的语句至少执行一次D.条件成立时,它们有可能一次也不执行二、填空题(总题数:15,分数:30.00)36.栈和队列通常采用的存储结构是 【1】 。(分数:2.00)填空项 1:_37.若要将一个模块的
16、功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序,应该在程序设计阶段采取 【2】 和逐步求精的方法。(分数:2.00)填空项 1:_38.软件维护活动包括以下几类:改正性维护、适应性维护、预防性维护和 【3】 维护。(分数:2.00)填空项 1:_39.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为 【4】 。(分数:2.00)填空项 1:_40.单元测试又称模块测试,一般采用 【5】 测试。(分数:2.00)填空项 1:_41.执行语句 coutsetw(6)setfill(*)12endl; 结果是 【6】 。(分数:2.00)填空项 1:_42.
17、执行语句 int a,b,c;scanf(“%d,%d%d“, 如果输入形式为 10,12,14,则 a,b,c 的值分别是 【7】 。(分数:2.00)填空项 1:_43.下面程序执行完后 k的值是 【8】 。void main()unsigned num=26,k=1;doK * = num%10;num/ = 10;while(num);coutk;(分数:2.00)填空项 1:_44.C+语言程序由函数构成,其至少包含一个函数,这就是 【9】 。(分数:2.00)填空项 1:_45.指针函数是说函数的返回值是一个 【10】 。(分数:2.00)填空项 1:_46.类的构造函数是一个特殊
18、的成员函数,它由类的对象自动调用。它的作用是 【11】 。(分数:2.00)填空项 1:_47.类的静态成员不是对象的成员,而是 【12】 的成员。(分数:2.00)填空项 1:_48.类继承中,默认的继承方式是 【13】 。(分数:2.00)填空项 1:_49.通过关键字来指定函数模板的类型参数,有几个类型参数就有几个关键字,它实际表示任何内部类型或用户自定义类型。用来指定函数模板的类型参数的关键字是 【14】 。(分数:2.00)填空项 1:_50.声明长度为 10的 float型数组 a,且初始化为 0的语句是 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-287 答案解析
19、(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间 解析:解析 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。2.在基类中有定义的纯虚函数,它要求在派生类中定义,而且基类不能用以说明对象,则该类为( )。(分数:2.00)A.虚基类B.抽象类 C.虚函数类D.模板类解析:解析 类中一旦有纯虚函数的
20、定义那么这个类就再也不能创建此类的对象了,我们把这种类叫做抽象类。3.下列说法正确的是( )。(分数:2.00)A.int( *p)n); 是把 p定义为整型变量,它指向不知数据类型的一维数组B.int( *p)(); 是把 p定义为整型指针C.int *pn); 定义指针数组 p,每个指针指向一个整型变量 D.int *p(); p 为指向函数的指针,函数返回值为整型解析:解析 选项 A中声明 p是一个指针,是一个指向数组的指针,所指向的数组的元素是具有 n 个int元素的数组;选项 B中的 p则是一个函数指针,所指向的函数的形参不确定,返回值为 int;选项 D中的 p是一个函数,返回值是
21、指向 int类型的指针。4.下列关于 i的输出值,正确的是( )。(分数:2.00)A.#includeiostreamusing namespace std;void main()for(int i=0;i=3;i+) i+;couti;则输出值为 5。B.A程序的输出值为 6C.#includeiostreamusing namespace std;void main()for(int i=0;i=3;i+)i+;couti;则输出值为 13。 D.C程序的输出值为 5解析:解析 选项 A的程序输出 4,i等于 4不满足循环条件,退出循环;选项 C的程序共执行了两次循环体,第 1次输出 i
22、等于 1,第 2次循环输出 i等于 3,所以选项 C输出值为 13。5.下列函数参数默认值定义错误的是( )。(分数:2.00)A.f(int x,int y=O)B.fun(int x=100)C.f(int x=0,int y) D.fun(int x=f()(函数 f()已经定义)解析:解析 允许在函数的说明或定义时给一个或多个参数指定默认值。参数默认值必须从右向左定义,即在一个指定了默认值的参数的右边,不能出现没有指定默认值的参数。6.关于继承的目的和作用,说法不正确的是( )。(分数:2.00)A.继承是为了重复利用父类的可用代码,避免重复劳动B.继承可以增加自己的父类不能实现的功能
23、的代码,使子类的功能更完美,提高程序设计效率C.子类可以继承父类的函数和数据,以便重复使用D.子类为了改造父类 解析:解析 继承的目的是继承有必要的东西,实现代码重用7.下面程序的运行结果是( )。#includeiostreamusing namespace std;class Apublic:virtualA()cout“call A:A()“endl;class B:public Achar * p;public:B(int i)p=new chari;B()delete(p);cout“call B:B()“;void main()A * a=new B(8);delete a;(分数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 287 答案 解析 DOC
