【计算机类职业资格】二级C++笔试65及答案解析.doc
《【计算机类职业资格】二级C++笔试65及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试65及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 65 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于关键字 class 和 typename,下列描述正确的是( )。(分数:2.00)A.程序中所有的 class 都可以替换为 typenameB.程序中所有的 typename 都可以替换为 classC.A 和 B 都可以D.A 和 B 都不可以2.串的长度是( )。(分数:2.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数3.以下程序执行后的输出结果是( )。 #includeiostream
2、 using namespace std; void try(int,int,int,int); int main() int x,y,z,r; x=1; y=2; try(x,y,z,r); coutrendl; return 0; void try(int x,int y, int z,int r) z = x+y; X = x*x; y = y*y; r = z+x+y; (分数:2.00)A.18B.9C.10D.不确定4.程序设计方法要求在程序设计过程中( )。(分数:2.00)A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图B.先编制出程序,经调试使程序运行结果正确后
3、再在程序中的适当位置处加注释C.先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释D.以上三种说法都不对5.多态性指的是( )。(分数:2.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数6.在下列关于二叉树的叙述中,选出正确的一项( )。(分数:2.00)A.在二叉树中,任何一个结点的度都是 2B.二叉树的度为 2C.在二叉树中至少有一个结点的度是 2D.一棵二叉树的度可以小于 27.若已定义的函数有返回值,则以下关于该函数调用的叙述
4、中错误的是( )。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以无返回值C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参8.为用户与数据库系统提供接口的语言是( )。(分数:2.00)A.高级语言B.数据描述语言(DDC.数据操纵语言(DMD.汇编语言9.下列关于类中成员函数特征的描述中错误的是( )。(分数:2.00)A.类的成员函数一定是内联函数B.类的成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的10.下列描述正确的是( )。(分数:2.00)A.表示 mn 为 false 或 mn 为 true 的达式为(mn 则下列说法
5、正确的是( )。(分数:2.00)A.a 和 b 代表的数组内容完全相同,所占存储单元的数目相同B.a 和 b 代表的数组内容不同,所占存储单元的数目相同C.a 和 b 代表的数组内容完全相同,所占存储单元的数目不同D.a 和 b 代表的数组内容不同,所占存储单元的数目不同12.以下程序中,while 循环的循环次数是( )。 main() int i=O; while(i10) if(i1) continue; if(i=5) break; i+; (分数:2.00)A.1B.10C.6D.死循环,不能确定次数13.用黑盒技术测试用例的方法之一为( )。(分数:2.00)A.因果图B.逻辑覆
6、盖C.循环覆盖D.基本路径测试14.在 C+语言中,080 是( )。(分数:2.00)A.八进制数B.十进制数C.十六进制数D.非法数15.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val= 3; 编译运行这个程序将出现的情况是( )。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数16
7、.若有以下程序: #include iostream using namespace std; class A public: A() A(int i) x1=i; void dispa0 cout“x1=“x1“,“; private: int x1; ; class B: public A public: B() B(int i):A(i+10) x2=i; void dispb() dispa(); cout“x2=“x2endl; private: int x2; ; int main() B b(2); b.dispb(); return 0; 程序运行后的输出结果是( )。(分数:
8、2.00)A.x1=10,x2=2B.x1=12,x2=10C.x1=12,x2=2D.x1=2,x2=217.对于下面定义的类 MyClass,在函数 f()中将对象成员 n 的值修改为 50 的语句应该是( )。 class MyClass public: MyClass(int x) n=x; void SetNum(int n1) n=n1; private: int n; int f() MyClass *ptr=new MyClass(45); AMyClass(50) BSetNum(50) C. ptr-SetNum(50) D. ptr-n=50(分数:2.00)A.B.C.
9、D.18.若磁盘上已存在某个文本文件,其全路径文件名为 d:/shiti/tes.txt,下列语句中不能打开该文件的是( )。(分数:2.00)A.ifstream file(“d:/shiti/testxt“);B.ifstream file(“d:/shiti/testxt“);C.ifstream file;filopen(“d:/shiti/testxt“);D.ifstream* pFile = new ifstream(“d:/shiti/testxt“);19.C+语言中 while 循环和 do-while 循环的主要区别是( )。(分数:2.00)A.do-while 的循环
10、体至少无条件执行一次B.while 的循环控制条件比 do-while 的循环控制条件严格C.do-while 允许从外部转到循环体内D.do-while 的循环体不能是复合语句20.C+语言本身没有定义 I/O 操作,但 I/O 操作包含在 C+实现中。C+标准库 iostream 提供了基本的I/O 类。I/O 操作分别由两个类 istream 和( )提供。 Afstream Biostream C. ostream D. cin(分数:2.00)A.B.C.D.21.对虚函数的调用( )。(分数:2.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联
11、编22.下列关于 C+语言类的描述中错误的是( )。(分数:2.00)A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络23.在单链表中,增加头结点的目的是( )。(分数:2.00)A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现24.运算符重载是对已有的运算符赋予多重含义,因此( )。(分数:2.00)A.可以对基本类型(如 int 类型)的数据,重新定义“+”运算符的含义B.可以改变一个已有运算符的优先级和操作
12、数个数C.只能重载 C+中已经有的运算符,不能定义新运算符D.C+中已经有的所有运算符都可以重载25.“商品”与“顾客”两个实体集之间的联系一般是( )。(分数:2.00)A.一对一B.一对多C.多对一D.多对多26.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。(分数:2.00)A.与虚基类下面的派生类个数有关B.多次C.两次D.一次27.有如下程序: #include iostream using namespace std; class Complex double re, im, public: Complex(doubl
13、e r, double i): re(r), im(i) double real() const return re; double image() const return im, Complex im +=a.im; return *this; ; ostream int main() Complex x(1,-2), y(2,3); cout (x+=y) endl; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.(1,-2)B.(2,3)C.(3,5)D.(3,1)28.只能作为成员函数重载的是( )。(分数:2.00)A.=B.+C.*D.new29.以下
14、程序的输出的结果是( )。 #includeiostream.h void 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; (分数:2.00)A.20B.21C.22D.2330.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为、( )。(分数:2.00)A.log2nB.n2 C.n/2D.n(n-1)/231.在 C+中,数据封装要解决的问题是( )。(分数:2.00)A.数据的规范化B.便于数据转换C
15、.避免数据丢失D.防止不同模块之间数据的非法访问32.若有以下程序: #includeiostream using namespace std; class data public: int x; data(int x) data:x=x; class A private: data dl; public: A(int x): dl(x) void dispaO coutdl.x“,“; ; class B: public A private: data d2; public: B(int x):A(x-1),d2(x) void dispb() coutd2.xendl; ; class C
16、: public B public: C(int x):B(x-1) void disp0 dispa(); dispb(); ; int main() C obj(5); obj.disp(); return 0; 程序执行后的输出结果是( )。(分数:2.00)A.5,5B.4,5C.3,4D.4,333.下面关于虚函数的描述中正确的是( )。(分数:2.00)A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型34.在 E-R 图中,用来表示实体的图形是( )。(分数:
17、2.00)A.矩形B.椭圆形C.菱形D.三角形35.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为( )。(分数:2.00)A.PAD 图B.N-S 图C.结构图D.数据流图二、B填空题/B(总题数:15,分数:30.00)36.设一棵完全二叉树共有 700 个结点,则在该二叉树中有U 【1】 /U个叶子结点。(分数:2.00)填空项 1:_37.算法复杂度主要包括时间复杂度和U 【2】 /U复杂度。(分数:2.00)填空项 1:_38.数据库管理系统常见的数据模型有层次模型、网状模型和U 【3】 /U三种。(分数:2.00)填空项 1:_39
18、.软件工程包括三个要素,分别为方法、工具和U 【4】 /U。(分数:2.00)填空项 1:_40.一棵二叉树第六层(根结点为第一层)的结点数最多为U 【5】 /U。(分数:2.00)填空项 1:_41.表达式 x=operator-(y,z)可以表示为U 【6】 /U。(分数:2.00)填空项 1:_42.假定用户没有给一个名为 MyClass 的类定义析构函数,则系统为其定义的默认析构函数首部形式为U【7】 /U。(分数:2.00)填空项 1:_43.在 C+中,若需要在程序文件中进行标准输入输出操作,则必须在开始处加入预处理命令#includeiostream.h,若使用到数学库中的函数时
19、,要在源程序的开始处加入预处理命令U 【8】 /U。(分数:2.00)填空项 1:_44.重载的关系运算符和逻辑运算符的返回类型应当是U 【9】 /U。(分数:2.00)填空项 1:_45.指针变量所保存的不是一般的数据值,而是程序中另一个对象的U 【10】 /U。(分数:2.00)填空项 1:_46.假设血 int a=1,b=2;,则表达式(+a/b)*b-的值为U 【11】 /U。(分数:2.00)填空项 1:_47.下列程序的输出结果为 2,请将程序补充完整。 using namespace std; class Base public: U 【12】 /Uvoid fun() cou
20、t1; ; class Derived:public Base public: void fun() cout2; int main() Base*p=new Derived; p-fun(); delete p; return 0; (分数:2.00)填空项 1:_48.在 MyClass 类的定义中,对赋值运算符:进行重载。请将画线处缺失的部分补充完整。 U 【13】 /UMyClass:operator=(const MyClass value = rhs.value; return *this; (分数:2.00)填空项 1:_49.阅读下面程序: #includeiostream.h
21、 void f(int n) int x(5); static int y(10); if(n0) +x; +y; coutx“,“yendl; void main() int m(1); f(m), 则该程序的输出结果是U 【14】 /U。(分数:2.00)填空项 1:_50.下列程序运行后的输出结果是U 【15】 /U。 #includeiostream.h void 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,in
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 65 答案 解析 DOC
