【计算机类职业资格】二级C++-20及答案解析.doc
《【计算机类职业资格】二级C++-20及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-20及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-20 及答案解析(总分:84.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:60.50)1.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是U /U。 A.不合法的运算符 B.一元运算符 C.无操作数的运算符 D.二元运算符(分数:2.00)A.B.C.D.2.已知语句 int m=10;则下列引用的表示中正确的是 A. int B. int C. int D. float(分数:2.00)A.B.C.D.3.下列关于顺序存储结构叙述中错误的是U /U。 A.存储密度大 B.逻辑上相邻的结点物理上不必相邻 C.可以通过计算直接确定第 i 个结点的存
2、储地址 D.插入、删除运算操作不方便(分数:2.00)A.B.C.D.4.设树 T 的度为 4,其中度为 1、2、3、4 的结点个数分别为 4、2、1、1,则 T 中的叶子结点数为_。 A. 8 B. 7 C. 6 D. 5(分数:2.00)A.B.C.D.5.关于数据库系统三级模式的说法,下列U /U是正确的。 A.外模式、概念模式、内模式都只有一个 B.外模式有多个,概念模式和内模式只有一个 C.外模式只有一个,概念模式和内模式有多个 D.3 个模式中,只有概念模式才是真正存在的(分数:2.00)A.B.C.D.6.有如下程序段:int a10,*p3,*pp,i;for(i=0;i3:i
3、+)pi=pp=p;则正确表示数组 a 元素的表达式是 _。 A. pp B. a10 C. p3 D. *(*(p+2)(分数:2.00)A.B.C.D.7.在 32 位的计算机中,一个 char 型数据所占的内存长度的字节是_。 A.4 B.1 C.2 D.8(分数:2.50)A.B.C.D.8.下列关于线性链表的叙述中,正确的是_。 A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 C.进行插入与删除时,不需要移动表中的元素 D.以上三种说法都不对(分数:1.00)A.B.C.D.9.在 C+语
4、言中,不合法的实型数据的是 A. 0123 B. 123e3 C. 21e35 D. 1230 (分数:1.00)A.B.C.D.10.C+中,由类 istream 和类 ostream 而派出的一个类U /U,它提供双向 I/O 操作。 A. iostream B. fstream C. strstream D. istream(分数:1.00)A.B.C.D.11.针对数组定义 int data 10;,下列表述中错误的是_ 。 A. 用*data 可访问到数组的首元素 B. 用 data 9可访问到数组的末元素 C. 用 data 10访问数组元素会超出数组边界 D. data 共有 1
5、0 个元素,其首元素是 data1(分数:2.00)A.B.C.D.12.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为U /U。 A.并运算 B.交运算 C.差运算 D.积运算(分数:2.00)A.B.C.D.13.在一个单链表中,若 p 所指结点不是最后结点,则删除 p 所指结点的后继结点的正确操作是 _。 A. p=pnext B. pnextpnext C. p-next=pnext-next D. p-next=p(分数:2.00)A.B.C.D.14.下列关于类和对象的叙述中,错误的是U /U。 A.一个类只能有一个对象
6、 B.对象是类的具体实例 C.类是对某一类对象的抽象 D.类和对象的关系是一种数据类型与变量的关系(分数:2.00)A.B.C.D.15.有如下程序:#include iostream using namespaee std;class Baselpublic :Basel(int d) cout d; Basel () ;class Base2public :Base2 ( int d) cout d ; Base2() ;class Derived : public Base1 ,Base2public :Derived(int a, int b, int c, int d) :Base1
7、(b), Base2(a), b1(d), b2(e) private :int b1 ;int b2 ;int main()Derived d(1,2,3,4) ;return 0 ;执行这个程序的输出记过是U /U。 A. 1234 B. 2134 C. 12 D. 21(分数:1.00)A.B.C.D.16.在深度为 7 的满二叉树中,叶子结点的个数为 A. 32 B. 31 C. 64 D. 63(分数:2.00)A.B.C.D.17.下面程序的结果为U /U。#include“iostream.h“void change (int a,int b)int temp;temp=a;a=
8、b;b=temp:void main()int m,n;m=8;n=9;change(m,n):cout m“ “ n endl; A.89 B.98 C.程序有错误 D.99 (分数:1.00)A.B.C.D.18.下面关于运算符重载的描述错误的是 A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构 B.不是所有的运算符都可以进行重载 C.运算符函数的调用必须使用关键字 operator D.在 C+语言中不可通过运算符重载创造出新的运算符(分数:1.00)A.B.C.D.19.已知各变量的定义如下int i=8,k,a,b;unsigned long w=
9、5;double x= 1.42,y=5.2;则以下符合 C+语言语法的表达式是U /U。 A.a+=a-=(b=4)*(a=3) B.a=a*3+2 C.x%(-3) D.y=float i(分数:2.00)A.B.C.D.20.下列函数中对调用它的函数没有起到任何作用的是 A. void f1(double B. double f1(double x)return x-1.5; C. void f3(double x)-x; D. double f4(double *x)-*x; return*x;(分数:2.00)A.B.C.D.21.对象实现了数据和操作的结合,使数据和操作 _ 于对象
10、的统一体中 A. 结合 B. 隐藏 C. 封装 D. 抽象(分数:2.00)A.B.C.D.22.下列叙述中错误的是U /U。 A. 主函数 main 也可以带形参 B. 函数中通过 return 返回函数值 C. 调用函数必须在一条独立的语句中完成 D. 一个函数中可以有多条 return 语句(分数:2.00)A.B.C.D.23.下列关于派生类的构造函数的叙述中,正确的是U /U。 A.派生类通过成员初设列表的方法调用基类的构造函数,实现对基类的初始化 B.派生类构造函数的调用顺序先基类后子对象构造函数 C.派生类构造函数的调用顺序先子对象构造函数后基类 D.派生类构造函数是不能继承基类
11、的(分数:2.00)A.B.C.D.24.有如下程序:int x =3;do x- =2;cout x; while(! (-x);执行这个程序的输出结果是U /U。 A. 1 B. 30 C. 1-2 D. 死循环(分数:1.00)A.B.C.D.25.有 3 个关系 R、S 和 T 如下:(分数:2.00)A.B.C.D.26.函数定义为 Fun(int B. fun(20+n); C. fun(n); D. funD(class Stackpublic:Stack(unsigned n=10:size(n)rep_=new intsize;top=O;Stack(Stackfor(int
12、 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_;unsigned 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);whi
13、le(!s2.isEmpty() couts2.pop(),;return 0;执行上面程序的输出是 A.4,3,2,1 B.4,3,6,7,2,1 C.4,3,6,2,1 D.1,2,3,4 (分数:1.00)A.B.C.D.28.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_。 A. public B. protected C. private D. static(分数:2.00)A.B.C.D.29.在软件开发中,需求分析阶段产生的主要文档是U /U。 A. 可行性分析报告 B. 软件需求规格说明书 C. 概要设计说明书 D. 集成测试计划(分数:
14、1.00)A.B.C.D.30.下列叙述中正确的是 A. 在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息 B. 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节 C. 在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 D. 在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法(分数:2.00)A.B.C.D.31.有如下程序: #include iostream using namespace std; class test private: int a; public: test( )cout“constructor“endl; t
15、est(int A) coutaendl; test(const test _test) a=_testa; cout“copy constructor“endl; test()cout“destructor“endl; ; int main( ) test A(3) return 0; 程序的输出结果是 A. 3 destructor B. constructor destructor C. copy constructor destructor D. 3 (分数:2.00)A.B.C.D.32.下列叙述中正确的是U /U。 A. 线性链表的各元素在存储空间中的位置必须是连续的 B. 线性链
16、表的头元素一定存储在其他元素的前面 C. 线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 D. 线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的(分数:2.00)A.B.C.D.33.下列关于派生类构造函数和析构函数的说法中,错误的是_。 A.派生类的构造函数会隐含调用基类的构造函数 B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数 C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(分数:2.00)A.B.C.D.34.通常
17、的拷贝初始化构造函数的参数是U /U。 A.某个对象名 B.某个对象的成员名 C.某个对象的引用名 D.某个对象的指针名 (分数:1.00)A.B.C.D.35.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为U /U。 A. public B. protected C. private D. static(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:24.00)36.结构化方式由结构化分析,结构化设计和U U /U /U构成,它是一种面向数据流的开发方法。(分数:2.00)填空项 1:_37.下列 for 语句的循环次数为_。 F
18、or(nt a=0,b=1;b 若要以 5.27 为实参调用该函数,应使用表达式_。(分数:2.00)填空项 1:_40.void 类型的指针是指指针指向的变量的数据类型是不固定的。对该指针进行操作时,应进行U U /U /U。(分数:2.00)填空项 1:_41.冒泡排序算法在最好的情况下的元素交换次数为 【1】 。(分数:1.00)填空项 1:_42.对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用 1 的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。(分数:1.00)填空项 1:_43.在 MyClass 类的定义中,对赋值运算符“=”进行
19、重载。请将画线处缺失的部分补充完整。 _MyClass:operator=(const MyClass long fib( int n ) if(n2) return ( fib( n-1 )+fib( n-2 ) ); else return 2; int main() coutfib(3)end1; return 0; 则该程序的输出结果应该是U U /U /U。(分数:1.00)填空项 1:_46.以下程序输出的结果是U U /U /U。 #includeiostream.h void main( ) int a=5,b=4,c=3,d; d=(abC) ; coutd; (分数:1.0
20、0)填空项 1:_47.算法运行过程中所耗费的时间称为算法的U U /U /U。(分数:2.00)填空项 1:_48.下面是一个栈类的模板,其中 push 函数将元素 i 压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top 值为 0,栈顶元素在 stacktop-1中,在下面画线处填上适当语句,完成栈类模板的定义。 templateclass T class T stack enunlsize=1000; T stacksize; intop; public: T stack( ):top(0) void push(consT i) if(topsize)stacktop+=i; T po
21、p( ) if(top=0)exit(1); /栈空时终止运行 return_; ;(分数:2.00)填空项 1:_49.下列程序中,先声明一个圆类 circle 和一个桌子类 table,另外声明一个圆桌类 roundtable,它是由 circle 和 table 两个类派生的,要求声明一个圆桌类对象,并输出圆桌的高度,面积和颜色。请填空完成程序 #includeiostream.h #includestring.h class circle double radius; public: circle(double r)radius=r; double get_area()return 3
22、.416*radius*radius; ; class table double height; public: table(double h)height=h; double get_height()return height; ; class roundtable:public table,public circle char *color; public: roundtable(double h,double r,char c):U U /U /U color=new charstrlen(c) +1; U U /U /U; ; char*get_color()return color;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C20 答案 解析 DOC
