【计算机类职业资格】二级C++笔试59及答案解析.doc
《【计算机类职业资格】二级C++笔试59及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试59及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 59及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.软件生命周期是指( )。(分数:2.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件产品从提出、实现到使用维护的过程C.软件产品从提出到实现的过程D.软件产品从提出、实现到使用的过程2.下面的描述中,( )是正确的。(分数:2.00)A.virtual可以用来声明虚函数B.含有纯虚函数的类是不可以用宋创建对象的,因为它是虚基类C.即使基类的构造函数没有参数,派生类也必须建立构造函数D.静态数据成员可以通过成员初始化成员列表来初始化3.在 ios ba
2、se类中定义了 3个用于文件流定位的枚举常量,下列枚举常量不属于此类的是( )。(分数:2.00)A.ios_ase:begB.ios_base:curC.ios_base:endD.ios_base:ate4.数据库的数据模型所描述的内容有三个部分,它们是( )。(分数:2.00)A.数据结构、数据操作和数据约束B.概念数据模型、逻辑数据模型和物理数据模型C.现实世界、信息世界和计算机世界D.概念模式、外模式和内模式6.下面有关重载函数的说明中,正确的是( )。(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可
3、以不同7.知大写字母 A的 ASCII码是 65,小写 a的;ASCII 码值是 97,则用八进制表示字符常量/101为( )。(分数:2.00)A.字符 AB.字符 aC.字符 eD.非法常量8.若有以下程序: #includeiostream using namespace std; int main() int data4,i,j,temp; for (i=O; idatai; for (i=1; itemp j-; dataj+1 = temp; for(i=O;iA.2843B.2348C.8243D.843210.若有以下程序: #include iostream using na
4、mespace std; class A private: int x; public: int z; void setx(int i) x=i; int getx () return x; ; class B : public A private: int m; public: int p; void setvalue(int a,int b, int C) setx (A) ; z=b; m=c; void display() coutgetx()“,“z“,“mend1; ; int main ( ) B obj; obj.setvalue(2,3,4); obj.display();
5、return 0; 程序运行以后的输出结果是( )。(分数:2.00)A.产生语法错误B.2,3,4C.2,2,2D.4,3,211.在下列排序方法中,平均时间性能为 O(nlogn)且空间性能最好的是( )。(分数:2.00)A.快速排序B.堆排序C.归并排序D.基数排序12.下列虚基类的声明中,正确的是( )。(分数:2.00)A.class virtualB:public AB.virtual classB:public AC.class B:public A virtualD.class B:virtual public A14.若有以下程序: #include iostream us
6、ing namespace std; class sample private: int n; public: sample() sample(int m) n=m; void addvalue(int m) sample s; s.n=n+m; *this=s; void disp() cout“n=“nend1; ; int main() sample s(10); s.addvalue(5); s.disp(); return 0; 程序运行后的输出结果是( )。(分数:2.00)A.n=10B.n=5C.n=15D.n=2015.对于常成员函数,下面描述正确的是( )。(分数:2.00
7、)A.常成员函数只能修改常数据成员B.常成员函数只能修改一般数据成员C.常成员函数不能修改任何数据成员D.常成员函数只能通过常对象调用16.下列关于 C+运算符结合性的说法中,错误的是( )。(分数:2.00)A.赋值运算符是右结合性的B.复合运算符是右结合的C.单目运算符是左结合的D.双目算术运算符是左结合的17.若有以下程序: #include iostream using namespace std; class sample private: int i; public: void setvalue(int m) i=m; void fun(int m) i+=m; void disp
8、() coutiend1; ; int main() sample *ps; ps=new sample; ps-setvalue(20); ps-fun(5); ps-disp(); return 0; 程序运行后,输出的结果是( )。(分数:2.00)A.15B.20C.25D.3018.C+源程序文件的扩展名为( )。(分数:2.00)ACPPBCCDLLDEXE19.采用面向对象技术开发的应用系统的特点是( )。(分数:2.00)A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂20.用树形结构来表示实体之间联系的模型称为( )。(分数:2.00)A.关系模型B.层次模型C.
9、网状模型D.数据模型21.下列有关算法的描述中,错误的是( )。(分数:2.00)A.所谓算法是指解题方案的准确而完整的描述B.算法的基本特征有:可行性、确定性、有穷性和拥有足够的情报等C.算法的复杂度主要包括时间复杂度和空间复杂度D.算法的时间复杂度是指执行算法程序所需要的时间22.下列叙述中,正确的是( )。(分数:2.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是是线性结构23.以下程序段的输出结果是( )。 int x=5; do coutx-end1; while(!x);(分数:2.00)A.5B.无任何输出C.4D.陷入死循环24.栈是限定
10、在一端进行插入与删除的线性表,那么其组织数据的原则是( )。(分数:2.00)A.FISOB.FIFOC.LILOD.FILO25.下列对基类和派生类关系的描述中,错误的是( )。(分数:2.00)A.派生类是基类的具体化B.派生类是基类的子集C.派生类是基类定义的延续D.派生类是基类的组合26.软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求分析说明书和( )。(分数:2.00)A.阶段性报告B.需求评审C.总结D.都不正确27.有如下程序: #include iostream using namespace std; class Base private: char
11、 c; public: Base(char n) :c(n) Base ( ) coutc; ; class Derived : public Base private: char c; public: Derived(char n) :Base(n+1),c(n) Derived () coutc; ; int main ( ) Derived obj (x); return 0; 执行上面的程序将输出( )。(分数:2.00)A.xyB.yxC.xD.y28.执行下面的程序段后,变量 k的值为( )。 int k=3,s2; s0=k; k=s1*10;(分数:2.00)A.不定值B.33
12、C.30D.1029.一个队列的进队列顺序是 1,2,3,4,则出队列顺序为( )。(分数:2.00)A.4,3,2,1B.2,4,3,1C.1,2,3,4D.3,2,1,430.有以下程序: #include iostream using namespace std; class A public: virtual void setx(int i,int j=0) x=i; y=j; virtual void print()=0; protected: int x,y; ; class B : public A public: void print() coutx*x“, “; ; clas
13、s C : public A public: void print() coutx*x*xend1; ; int main() A *pa; B b; C c; pa= pa-setx(5); pa-print (); pa= pa-setx(2); pa-print(); return 0; 程序运行后的输出结果是( )。(分数:2.00)A.25,8B.2,5C.5,2D.8,25二、B填空题/B(总题数:14,分数:28.00)31.已知序列17,18,60,40,7,32,73,65,85,采用冒泡排序法对该序列作降序排序时,第 4趟的结果是U 【1】 /U。(分数:2.00)填空项
14、1:_32.U【2】 /U是按照程序语句行的自然顺序,依次执行语句。(分数:2.00)填空项 1:_33.调试方法中的U 【3】 /U最适合小规模程序的排错。(分数:2.00)填空项 1:_34.实体联系模型是一种常用的高级U 【4】 /U模型,而U 【5】 /U是实体联系模型中的核心。(分数:2.00)填空项 1:_35.若 a=12,b=14,c=0,则表达式“(y=(aB) ?a:B) C) ?y:c”的值为U 【6】 /U。(分数:2.00)填空项 1:_36.求 1100 的和,可写成“for(s=0,i=1;U 【7】 /U;i+) s+=i;”的形式。(分数:2.00)填空项 1
15、:_37.以下程序调用 findmax()函数返回数组中的最大值。请填空完成此函数。 #includeiostream using namespace std; int findmax(int*a,int n) int +p、*s; for(p=a,s=a;p-an;p+) if(u 【8】 /u) *s=*p; return(*S); int main() int x5=12,21,14,16; coutfindmax(X,5)end1; return 0; (分数:2.00)填空项 1:_38.下面程序的输出结果是u 【9】/u。 #include iostream using names
16、pace std; void f(int x) if(x) coutput(0+x%10); f(x10); int main() f(11001); return 0; (分数:2.00)填空项 1:_39.非成员函数只有在声明为类的U 【10】 /U才能访问这个类的所有 private成员。(分数:2.00)填空项 1:_40.有一种特殊的虚函数,重定义时不要求同名,这种虚函数是U 【11】 /U。(分数:2.00)填空项 1:_41.cout是 IO 流库预定义的U 【12】 /U。(分数:2.00)填空项 1:_42.以下程序实现栈的入栈和出栈的操作。其中有两个类:一个是节点类 nod
17、e,它包含点值和指向上一个节点的指针 prev;另一个类是栈类 stack, 它包含栈的头指针 top。 生成的链式栈如下图所示。 IMG onClick=over(this) title=放大 src=“tp/jsj/2jc+j28.1.gif“ 下面是实现程序,请填空完成此程序。#include iostream using namespace std; class stack; class node int data; node *prev; public: node(int d, node *n) data=d; prev=n; friend class stack; ; class
18、stack node *top; /栈头 public: stack() top=0; void push(int i) node *n=u 【13】 /u; top=n; int pop() node *t=top; if (top) top=top-prev; int c= t-data; delete t; return c; return 0; int main () stack s; s.push(6); s.push(3); s.push (1); return 0; (分数:2.00)填空项 1:_43.在下面的程序的横线处填上适当的语句,使该程序的输出为 12。 #includ
19、e iostream using namespace std; class Base public: int a; Base(int i) a=i; ; class Derived : public Base int a; public: Derived(int x) : Base(x),b(x+1) void show() u 【14】 /u; /输出基类数据成员 a的值 coutbend1; ; int main() Derived d(1); d.show(); return 0; (分数:2.00)填空项 1:_44.若有以下程序: #includeiostream using nam
20、espace std; class Base public: Base ( ) x=0; int x; ; class Derived1 : virtual public Base public: Derived1() x=10; ; class Derived2 : virtual public Base public: Derived2() x=20; ; class Derived : public Derived1,protected Derived2 ; int main() Derived obj; coutobj.xend1; return 0; 该程序运行后的输出结果是u 【1
21、5】 /u。(分数:2.00)填空项 1:_二级 C+笔试 59答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.软件生命周期是指( )。(分数:2.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程 B.软件产品从提出、实现到使用维护的过程C.软件产品从提出到实现的过程D.软件产品从提出、实现到使用的过程解析:解析 软件生命周期是一个重要概念,考生应很好掌握。它是指软件产品从提出、实现、使用维护到停止使用退役的整个过程。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。2.下面的描述中,( )是正确的。(分
22、数:2.00)A.virtual可以用来声明虚函数 B.含有纯虚函数的类是不可以用宋创建对象的,因为它是虚基类C.即使基类的构造函数没有参数,派生类也必须建立构造函数D.静态数据成员可以通过成员初始化成员列表来初始化解析:解析 本题考核 C+中各知识点的应用。 virtual 关键词既可以用来声明虚基类,也可以用来声明虚函数。所以选项 A的描述是正确的。 C+规定,含有纯虚函数的类是抽象类,它不能用来定义对象。选项 B的描述中,前半句是正确的,但后半句是错误的。 在 C+中,如果所有的基类和子对象构造函数都不需要参数,派生也不需要参数初始化,则派生类中,可以不定义构造函数。所以选项 C的描述是
23、错误的。 在 C+中,静态数据成员的初始化必须在类体外进行。所以选项 D的描述是错误的。3.在 ios base类中定义了 3个用于文件流定位的枚举常量,下列枚举常量不属于此类的是( )。(分数:2.00)A.ios_ase:begB.ios_base:curC.ios_base:endD.ios_base:ate 解析:解析 C+文件流的定位方式有 3种,被定义为 ios_base:seek_dir 中的一组枚举符号: ios base:beg 相对于文件首 ios base:cur 相对于当前位置(负数表示当前位置之前) ios_base:end 相对于文件尾4.数据库的数据模型所描述的内
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 59 答案 解析 DOC
