【计算机类职业资格】二级C++笔试-398及答案解析.doc
《【计算机类职业资格】二级C++笔试-398及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-398及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-398 及答案解析(总分:78.00,做题时间:90 分钟)一、选择题(总题数:35,分数:54.00)1.软件工程的出现是由于A) 程序设计方法学的影响B) 软件产业化的需要C) 软件危机的出现D) 计算机的发展(分数:1.00)A.B.C.D.2.算法的空间复杂度是指 A) 算法在执行过程中所需要的计算机存储空间 B) 算法所处理的数据量 C) 算法程序中的语句或命令条数 D) 算法在执行过程中所需要的临时工作单元数(分数:2.00)A.B.C.D.3.下列关于 getline()函数的描述,不正确的是_。A) getline()函数是用来从输入流中读取字符串的B) get
2、line()函数读取字符串的长度是受到限制的C) getline()函数读取字符串时,遇到终止符时就停止D) getline()函数中所使用的终止符只能是换行符(分数:2.00)A.B.C.D.4.一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是( )。A每个派生类的构造函数都要为虚基类构造函数提供实参B多继承时有可能出现对基类成员访问的二义性问题C使用虚基类可以解决二义性问题并实现运行时的多态性D建立最派生类对象时,虚基类的构造函数会首先被调用(分数:2.00)A.B.C.D.5.如果类 A 被说明成类 B 的友元,则A)类 A 的成员即类 B 的成员B)类
3、B 的成员即类 A 的成员C)类 A 的成员函数不得访问类 B 的成员D)类 B 不一定是类 A 的友元(分数:1.00)A.B.C.D.6.有如下程序#includeiostream.hint func(int a,int b) return(a+b) ;void main( )int x=2,y=5,z=8, r;r=func ( func(x,y),z);cout r; 该程序的输出的结果是 A) 12 B) 13 C) 14 D) 15(分数:1.00)A.B.C.D.7.以下选项中合法的实型常数是A) 5 E 2.0 B) E-3 C) .2 E0 D) 1.3 E(分数:2.00)
4、A.B.C.D.8.设有关系 R 及关系 S,它们分别有 p、q 个元组,则关系 R 与 S 经笛卡儿积后所得新关系的元组个数是( )。A) p B) q C) p+q D) p*q(分数:1.00)A.B.C.D.9.下列排序方法中,属于不稳定的排序方法是 _。A) 直接插入排序法 B) 冒泡排序法C) 基数排序法 D) 堆序法(分数:2.00)A.B.C.D.10.有以下程序#include iostreamusing namespace std; class sampleprivate:int x;public:sample(int a)x=a;friend double square(
5、sample s);double square(sample s)return s.x*s.x;int main()sample s1 (20),s2(30);coutsquare(s2)end1;return 0;执行结果是 A) 20 B) 30C) 900 D) 400(分数:1.00)A.B.C.D.11.结构化程序设计的三种基本结构是( )。A过程、子程序和分程序 B顺序、选择和重复C递归、堆栈和队列 D调用、返回和转移(分数:2.00)A.B.C.D.12.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是A)acbed B)decab C)dea
6、bc D)cedba(分数:1.00)A.B.C.D.13.运行以下程序后,如果从键盘上输入 shose 后回车,则输出结果为 _。# includeiostream.hvoid main()int v1=0,v2=0,k=0;char ch80;cinch;while(chk)switch(chk)case s;case h;default: v1+1;case o: v2+;k+;coutv1 “,“v2end1;A) 2, 0 B) 5, 0C) 4, 5 D) 2, 5(分数:2.00)A.B.C.D.14.下列程序的运行结果为( )。#include iostream.hvoid m
7、ain()int a=2:int b=a+1;couta/bendl;A0.66667 B0 C0.7 D0.66666666(分数:2.00)A.B.C.D.15.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 ( )。A) 特定的数据模型 B) 数据无冗余C) 数据可共享 D) 专门的数据管理软件(分数:2.00)A.B.C.D.16.有如下程序:#ncludeiostremnusing namespace std;class Stackpublic:Stack(unsigned n=10:size(n)rep_=new intsize;top=O;Stack(S
8、tackfor(int 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.
9、push(7);while(!s2.isEmpty() couts2.pop(),;return 0;执行上面程序的输出是A)4,3,2,1 B)4,3,6,7,2,1C)4,3,6,2,1 D)1,2,3,4(分数:1.00)A.B.C.D.17.在一个类体的下列声明中,正确的纯虚函数声明是A) virtual void vf()0;B) void vf(int)0;C) virtual int vf(int);D) virtual void vf(int)(分数:1.00)A.B.C.D.18.下面描述中,符合结构化程序设计风格的是A) 使用顺序、选择和重复(循环)三种基本控制结构表示程序
10、的控制逻辑B) 模块只有一个入口,可以有多个出口C) 注重提高程序的执行效率D) 不使用 goto 语句(分数:2.00)A.B.C.D.19.下列语句中,错误的是A) const int buffer=256; B) const int temp;C) const double *point; D) const double *rtnew double(5.5);(分数:1.00)A.B.C.D.20.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。A) 变量 a 的值,即 3 B) 变量 a 的地址值 C) 变量 P 的地址值 D) 无意义(分数:2.00
11、)A.B.C.D.21.执行语句 for(i =1+4;);,后变量 i 的值是A) 3 B) 4 C) 5 D) 不定(分数:1.00)A.B.C.D.22.关于二义性的描述错误的是( )。A一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B解决二义性可以用对成员名的限定法C父类和子类中同时出现同名函数,也可能存在二义性D一个子类是从两个父类派生出来的,而这两个父类只有一个共同的父类,对该父类成员进行访问时,可能出现二义性(分数:2.00)A.B.C.D.23.设有关键码序列(16,9,4,25,15,2,13,18,17,5,8,24),要按关键码值递增的次序排序,
12、采用初始增量为 4 的希尔排序法,一趟扫描后的结果为( )。A(15,2,4,18,16,5,8,24,17,9,13,25)B(2,9,4,25,15,16,13,18,17,5,8,14)C(9,4,16,15,2,13,18,17,5,8,24,15)D(9,16,4,25,2,15,13,18,5,17,8,24)(分数:2.00)A.B.C.D.24.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示( )A模块之间的调用关系 B程序的组成成分C控制程序的执行顺序 D数据的流向(分数:1.00)A.B.C.D.25.有以下程序:#include iostream#incl
13、ude fstreamusing namespace std;int main ( )ofstream ofile;char ch;ofile.open (“abc.txt“);cinch;while (ch!=# )cinch;ofile.put(ch);ofile.close();return 0;当从键盘终端连续输入的字符为 a、b、c 和#时,文件 abc.txt 中的内容为( )。A) 程序编译时出错 B) abc# C) abc D) #(分数:1.00)A.B.C.D.26.执行下面语句后,输出字符“#“的个数是( )。for(int i=50;i;-i)cout#;A) 48
14、B) 49C) 50 D) 51(分数:2.00)A.B.C.D.27.若要把函数 void f()定义为 aClass 的友元函数,则应该在类 aClass 的定义中加入的语句是( )。Avoid f(); Bstatic voidf(); Cfriend f(); Dfriend void f();(分数:2.00)A.B.C.D.28.C+语言中规定函数的返回值的类型是由( )。Areturn 语句中的表达式类型所决定B调用该函数时的主调用函数类型所决定C调用该函数时系统临时决定D在定义该函数时所指定的数据类型所决定(分数:1.00)A.B.C.D.29.带有虚基类的多层派生类构造函数的
15、成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。A与虚基类下面的派生类个数有关 B多次 C两次 D一次(分数:1.00)A.B.C.D.30.有以下类定义class MyClasspublic:MyClass() coutl;);则执行语句 MyClassa,b2,*p2;后,程序的输出结果是A) 11 B) 111C) 1111 D) 11111(分数:2.00)A.B.C.D.31.数据流图用于描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名称标识的图符不属于数据流图合法图符的是( )。A) 控制流 B) 加工 C) 贮存文件 D) 源和潭(分
16、数:1.00)A.B.C.D.32.C+语言中 while 循环和 do-while 循环的主要区别是A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比 do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句(分数:2.00)A.B.C.D.33.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为A) (operator+(x) )operator/(y)B) (operator+(0) )operator/(y)C) operator/( (ope
17、rator+(x,0) ),y)D) operator/( (operator+(0) ),y)(分数:1.00)A.B.C.D.34.关于函数重载,下列叙述中错误的是( )。A) 重载函数的函数名必须相同B) 重载函数必须在参数个数或类型上有所不同C) 重载函数的返回值类型必须相同D) 重载函数的函数体可以有所不同(分数:2.00)A.B.C.D.35.关系数据库管理系统能实现的专门关系运算包括( )。A) 排序、索引、统计 B) 选择、投影、连接C) 关联、更新、排序 D) 显示、打印、制表(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:24.00)36.以下程序的执行结
18、果是 【15】 。#include iostream.h#include fstream.h#include stdlib.hint main()fstream outfile, infile;outfile.open(“D:/text.dat“,ios:out);if(!outfile)cout“text.dat cant open“end1;abort();outfile“1234567890“end1;outfile“abcdefghij“end1;outfile.close();infile.open(“D:/text.dat“,ios:in);if(!infile)cout“text
19、.dat cant open“end1;abort ( );char textline40;int i=0;while(!infile.eof()i+;infile.getline(textline,sizeof(textline);couti“:“textlineend1;infile.close();return 0;(分数:1.00)填空项 1:_37.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 【4】 的联系。(分数:1.00)填空项 1:_38.将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成员函
20、数。此时 const 不是指定函数的返回值,而是修饰 1 指针。(分数:2.00)填空项 1:_39.下列程序的输出结果是 【14】 #includeiOStreamusing namespace std;template typename TT total (T*datA) T s=0;while(*datA) s+=*data+;return s;int main()int x=2,4,6,8,0,12,14,16,18;couttotal(x)end1;return 0;(分数:1.00)填空项 1:_40.C+在重载运算将中,如用成员函数重载一元运算符参数表中需要 _ 个参数,如用友元
21、函数重载一元运算符参数表中需要 _ 个参数。(分数:1.00)填空项 1:_41.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,所以,基于逻辑结构的应用程序不必修改,称为_。(分数:2.00)填空项 1:_42.有如下程序:#includeiostreamusing namespace std;class ONEpublic:virtual void f() cout “1“; ;class TWO: public ONEpublic:TWO() cout “2“; ;class THREE: public TWOpublic:virtual void f(
22、) TWO:f(); cout “3“; ;int main()ONE aa, *p;TWO bb;THREE cc;p = P-f();return 0;执行上面程序的输出是_(分数:1.00)填空项 1:_43.多态性分为两类:编译时的多态性和 1。(分数:2.00)填空项 1:_44.类中包含了一个静态成员函数,则 main 函数中和 P.f1(P);语句具有同样功能的语句为_。#includeiostream.hclass Mpublic:M(int A)A=a;B+=a;static void f1(M m);private:int A;static int B;void M:f1(
23、M m)cout“A=“m.Aendl;cout“B=“m.Bendl;int M:B=10;void main()M P(5);P.f1(P);(分数:2.00)填空项 1:_45.下列程序中,先声明一个圆类 circle 和一个桌子类 table,另外声明一个圆桌类 roundtable,它是由 circle 和 table 两个类派生的,要求声明一个圆桌类对象,并输出圆桌的高度,面积和颜色。请填空完成程序#includeiostream.h#includestring.hclass circledouble radius;public:circle(double r)radius=r;d
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 398 答案 解析 DOC
