【计算机类职业资格】二级C++-185及答案解析.doc
《【计算机类职业资格】二级C++-185及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-185及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-185 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列选项不属于结构化程序设计方法的是_。(分数:2.50)A.自顶向下B.逐步求精C.模块化D.可复用2.两个或两个以上模块之间关联的紧密程度称为_。(分数:2.50)A.耦合度B.内聚度C.复杂度D.数据传输特性3.下列叙述中正确的是_。(分数:2.50)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对4.按照“后进先出”原则组织数据的数据结构是_。(分数:2.50)A.队列B栈C.双向链表D.二
2、叉树5.下列叙述中正确的是_。(分数:2.50)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构6.对如下二叉树,进行后序遍历的结果为_。 (分数:2.50)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA7.在深度为 7 的满二叉树中,叶子结点的个数为_。(分数:2.50)A.32B.31C.64D.638.“商品”与“顾客”两个实体集之间的联系一般是_。(分数:2.50)A.一对一B.一对多C.多对一D.多对多9.在 E-R 图中,用来表示实体的图形是_。(分数:2.50)A.矩形B.椭圆形C.菱形D.三角形
3、10.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:2.50)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系11.下列关于 C+函数的说明中,正确的是_。(分数:2.50)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式12.由于常对象不能被更新,因此_。(分数:2.50)A.通过常对象只能调用它的常成员函数B.通过常
4、对象只能调用静态成员函数C.常对象的成员都是常成员D.通过常对象可以调用任何不改变对象值的成员函数13.下列关于虚函数的说明中,正确的是_。(分数:2.50)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用测用虚函数D.抽象类中的成员函数都是虚函数14.运算符重载是对已有的运算符赋予多重含义,因此_。(分数:2.50)A.可以对基本类型(如 int 类型)的数据,重新定义“+”运算符的含义B.可以改变一个已有运算符的优先级和操作数个数C.只能重载 C+中已经有的运算符,不能定义新运算符D.C+中已经有的所有运算符都可以重载15.模板对类型的参数化提供了很好的支
5、持,因此_。(分数:2.50)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值16.下列关于 C+流的说明中,正确的是_。(分数:2.50)A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin 是一个预定义的输入流类D.输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象17.下列符号中可以用作 C+标识符的是_。(分数:2.50)A._radiusB.foobarC.elseD.3
6、room18.下列语句中,错误的是_。(分数:2.50)A.const int buffer=256;B.const int temp;C.const double *point;D.const double *rt=new double(5.5);19.有如下程序: int x=3; do x-=2; coutx; while(!(-x); 执行这个程序的输出结果是_。(分数:2.50)A.1B.30C.1-2D.死循环20.有如下程序: #includeiostream using namespace std; int main() int *p; *p=9; cout“The value
7、 at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:2.50)A.够编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错21.有如下程序: #includeiostream using nanespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行这
8、个程序将出现的情况是_。(分数:2.50)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数22.有如下类定义: class AA int a; public: int getRef() constreturn / int getvalue() constreturn a; / void set(int n) consta=n; / friend void show(AA aa) const cout/ ; 其中的四个函数定义中正确的是_。(分数:2.50)A.B.C.D.23.有如下程序: #includeiostream using namespace std; cl
9、ass Base public: void fun()cout“Base:fun“endl; ; class Derived:public Base public: void fun() cout“Derived:fun“endl; ; int main() Derived d; d.fun(); return 0; 已知其执行后的输出结果为_。 Base:fun Derived:fun 则程序中下画线处应填入的语句是_。(分数:2.50)A.Base.fun();B.Base:fun()C.Base-fun()D.fun();24.下面是重载为非成员函数的运算符函数原型,其中错误的是_。(分
10、数:2.50)A.Fraction operator+(Fraction, Fraction);B.Fraction operator-(Fraction);C.FractionD.Fraction25.有如下函数模板: Templatetypename T, typename U T cast(U u)return u; 其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是_。(分数:2.50)A.cast(i);B.cast(i);C.castchar*, int(i);D.castdouble, int(i);26.若磁盘
11、上已存在某个文本文件,其全路径文件名为 d:/ncre/test.txt,下列语句中不能打开该文件的是_。(分数:2.50)A.ifstream file(“d:/ncre/test.txt“);B.ifstream file(“d:/ncre/test.txt“);C.ifstream file; file.open(“d:/ncre/test.txt“);D.ifstream* pFile=new ifstream(“d:/ncre/test.txt“);27.有如下类定义: class Foo public: Foo(int v):value(v)/ Foo()/ private: Fo
12、o()/ int value=0; / ; 其中存在语法错误的行是_。(分数:2.50)A.B.C.D.28.有如下类定义: class Point int x_, y_; public: Point():x_(0), y_(0) Point(int x, int y=0):x_(x), y_(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point 类的构造函数被调用的次数是_。(分数:2.50)A.2 次B.3 次C.4 次D.5 次29.有如下类定义: class Test public: Test()a=0; c=0; / int f(int a)constthi
13、s-a=a;/ static int g()return a;/ void h(int b)Test:b=b;/ private: int a; static int b; const int c; ; int Test:b=0; 在标注号码的行中,能被正确编译的是_。(分数:2.50)A.B.C.D.30.有如下程序: #includeiostream using namespace std; class A public: A()cout“A“; A()cout“A“; ; class B:public A A* p; public: B()cout“B“; p=new A(); B()c
14、out“B“; delete p; ; int main() B obj; return 0; 执行这个程序的输出结果是_。(分数:2.50)A.BAAABAB.ABABAAC.BAABAAD.ABAABA31.有如下程序: #includeiostream using namespace std; class Base private: void fun1() constcout“fun1“; protected: void fun2() constcout“fun2“; public: void fun3() constcout“fun3“; ; class Derived:protect
15、ed Base public: void fun4() constcout“fun4“; ; int main() Derived obj; obj.fun1();/ obj.fun2();/ obj.fun3();/ obj.fun4();/ return 0; 其中有语法错误的语句是_。(分数:2.50)A.B.C.D.32.有如下程序: #includeiostream using namespace std; class Base public: void funl()cout“Base/n“; virtual void fun2()cout“Base/n“; ; class Deri
16、ved:public Base public: void fun1()cout“Derived/n“; void fun2()cout“Derived/n“; ; void f(Base b.fun2(); int main() Derived obj; f(obj); return 0; 执行这个程序的输出结果是_。(分数:2.50)A.BaseBaseB.BaseDerivedC.DerivedBaseD.DerivedDerived33.有如下程序: #includeiostream using namespace std; class Complex double re, im; pu
17、blic: Complex(double r, double i):re(r), im (i) double real() constreturn re; double image() constreturn im; Complex im+=a.im; return * this; ; ostream int main() Complex x(1, -2), y(2, 3); cout(x+=y) return 0; 执行这个程序的输出结果是_。(分数:2.50)A.(1, -2)B.(2, 3)C.(3, 5)D.(3, 1)34.有如下程序: #includeiostream #inclu
18、deiostream using namespace std; int main() cout.fill(“*“); coutleftsetw(4)123“OK“endl; return 0; 执行这个程序的输出结果是_。(分数:2.50)A.123*OKB.123*OK*C.*123OKD.*123*OK35.有如下类声明: class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setvalue(int n0); ; 下列关于 setvalue 成员函数的实现中,正确的是_。(分数:2.50)A.SAMPLE:setvalue(int n
19、0)n=n0;B.void SAMPLE:setvalue(int n0)n=n0;C.void setvalue(int n0)n=n0;D.setvalue(int n0)n=n0;36.下列有关内联函数的叙述中,正确的是_。(分数:2.50)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline 来定义C.内联函数是通过编译器来实现的D.内联函数体的最后一条语句必须是 return 语句37.在函数中,可以用 auto、extern、register 和 static 这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是_。(分数:2.50)
20、A.auto;B.extern;C.register;D.static;38.有以下程序: #includeiostream using namespace std; long fib(int n) if(n2) return(fib(n-1)+fib(n-2); else return 2; int main() coutfib(3)endl; return 0; 该程序输出的结果是_。(分数:2.50)A.2B.4C.6D.839.有以下程序段: #includeiostream inline int abs(int x) if(x0) return-x; else return x; i
21、nt main() int m, m1=2, n, n1=-10; m=abs(m1); n=abs(n1); coutm“, “nendl; return 0; 该程序运行后输出的结果是_。(分数:2.50)A.2, -10B.-2, -10C.2, 10D.程序编译出错40.有如下程序: #includeiostream using namespace std; void fun(int i, int j) cout(i+j)endl; void fun(int i) couti+endl; int main() int a=1; fun(a); return 0; 该程序执行后输出的结果
22、是_。(分数:2.50)A.1B.2C.3D.4二级 C+-185 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列选项不属于结构化程序设计方法的是_。(分数:2.50)A.自顶向下B.逐步求精C.模块化D.可复用 解析:解析 20 世纪 70 年代以来,提出了许多软件设计方法,主要有:逐步求精:对复杂的问题,应没计一些子目标作过渡,逐步细化。自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。模块化:一个复杂问题,肯定是由若干相对简单
23、的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。2.两个或两个以上模块之间关联的紧密程度称为_。(分数:2.50)A.耦合度 B.内聚度C.复杂度D.数据传输特性解析:解析 耦合度是模块间互相连接的紧密程度的度量;内聚度是一个模块内部各个元素间彼此结合的紧密程度的度量。3.下列叙述中正确的是_。(分数:2.50)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对 解析:解析 程序调试的任务是诊断和改正程序中的错误。它与软件测试
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C185 答案 解析 DOC
