【计算机类职业资格】二级C++笔试-173及答案解析.doc

上传人:orderah291 文档编号:1324449 上传时间:2019-10-17 格式:DOC 页数:33 大小:78KB
下载 相关 举报
【计算机类职业资格】二级C++笔试-173及答案解析.doc_第1页
第1页 / 共33页
【计算机类职业资格】二级C++笔试-173及答案解析.doc_第2页
第2页 / 共33页
【计算机类职业资格】二级C++笔试-173及答案解析.doc_第3页
第3页 / 共33页
【计算机类职业资格】二级C++笔试-173及答案解析.doc_第4页
第4页 / 共33页
【计算机类职业资格】二级C++笔试-173及答案解析.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、二级 C+笔试-173 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.考虑以下的函数原型:vold A(int a,int b=5,char Z=*)下面的函数调用中,不正确的是(分数:2.00)A.A(7)B.A(3,4)C.16,#D.A(0,2,*)2.有以下程序:class Datepublic:Date(int y,int m,int d);year=y;month=mday=d;Date(int y=2000)year=y;month=10;day=1;Date(Date month=d.month;day=d.day;voi

2、d print( )coutyear“.“month“.“dayendl;private:int year,month,day;Date fun(Date d)Date temp;temp=d;return temp;int main( )Date datel(2000,1,1),date2(0,0,0);Date date3(datel);date2=fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3C.4D.53.串的长度是(分数:2.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大

3、于零D.串中所含字符的个数4.有以下程序main( )char a,b,c,*d;a=/;b=/xbc;c=/0xab;d=“/0127“;coutabc*dendl;编译时出现错误,以下叙述中正确的是(分数:2.00)A.程序中只有 a=/;语句不正确B.b=/xbc;语句不正确C.d=“/0127“;语句不正确D.a=/;和 c=/0xab;语句都不正确5.软件工程的理论和技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用6.以下程序的输出结果是main( )int a=0,i;for(i=1;i5;i+)switc

4、h(i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;coutaend1;(分数:2.00)A.31B.13C.10D.207.若执行以下程序时从键盘上输入 9,则输出结果是main( )int n;cinn;if(n+10)coutnend1;else coutn - -end1;(分数:2.00)_8.下面不正确的描述为(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将为形参分配内存单元D.调用函数时,实参与形参的类型必须一致9.数据库系统的核心是(分数:2.00)A.数据库

5、B.数据库管理系统C.模拟模型D.软件工程10.用数组表示线性表的优点是(分数:2.00)A.便于插入和删除操作B.便于随机存取C.可以动态地分配存储空间D.不需要占用一片相邻的存储空间11.下面程序段的正确输出是int w=4,x=3,y=2,z=1;cout(wx? w:zy? z:x)end1;(分数:2.00)A.0B.1C.2D.312.下列 SQL 语句中,用于修改表结构的是(分数:2.00)A.ALTERB.CREATEC.UPDATED.INSERT13.有以下程序main( )int i=10,j=1;cout- -“,“+jendl;执行后输出结果是(分数:2.00)A.9

6、,2B.10,2C.9,1D.10,114.已知语句 int m=10;则下列表示引用的表示中正确的是(分数:2.00)A.int B.intC.intD.float15.以下有关成员函数特征的叙述不正确的是(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置缺省参数值D.成员函数可以是静态的16.下列程序执行结果是#includeiostream.hclass Apublic:int a;A( ):a(10)toutaendl;void main( )A obj1;A obj2(obj1);cout“ “obj2.aendl;(分数:2.00)A.10 10B

7、.编译错误缺少拷贝构造函数C.10 随机数D.随机数随机数17.阅读以下程序#includeiostream.hvoid main( )char line10;cinline;coutlineendl;如运行时输入 This is example.CR,则程序的输出结果是(分数:2.00)A.ThisB.This isC.This is aD.This is an example.18.面向对象的程序设计主要考虑的是提高软件的(分数:2.00)A.可靠性B.可重用性C.可移植性D.可修改性19.以下程序的输出结果是main( )int a=4,b=5,e=0,d;d=! acoutdend1;

8、(分数:2.00)A.1B.0C.非 0 的数D.-120.下列程序执行后的输出结果是void funcl(int i);void func2(int i);char st=“hello,friend!“;void fund(int i)coutsti;if(i3)i+=2;func2(i);void func2(int i)coutsti;if(i3)i+=2;funcl(i);main( )int i=0;fund(i);coutendl;(分数:2.00)A.A ) helloB.helC.hloD.hlm21.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(分数:2.

9、00)A.软件投机B.软件危机C.软件工程D.软件产生22.下列关于线性表、栈和队列的叙述,错误的是(分数:2.00)A.线性表是给定的 n(n 必须大于零)个元素组成的序列B.线性表允许在表的任何位置进行插入和删除操作C.栈只允许在一端进行插入和删除操作D.队列允许在一端进行插入在另一端进行删除23.设有基类定义:class Cbaseprivate:int a;protected:int b;public:int c;派生类采用何种继承方式可以使成员变量 b 成为自己的私有成员(分数:2.00)A.私有继承B.保护继承C.公有继承D.私有、保护、公有均可24.定义静态成员函数的主要目的是(

10、分数:2.00)A.方便调用B.有利于数据隐蔽C.处理类的静态成员变量D.便于继承25.存取指针所指的值时,采用的运算符是(分数:2.00)A.#B.;A k1, k2,*p1,*p2;则下面针对成员变量 m 的引用,错误的是(分数:2.00)A.k1.m=1B.k2-m=2C.p1-m=3D.(*p2).m=428.若类 A 和类 B 的定义如下class Aint i,j;public:int geti( )return i;class B:public Aint k:public:void make( )k=i*j;则上述定义中非法的语句是(分数:2.00)A.k=i*jB.int k;

11、C.return i;D.void make()29.数据处理的最小单位是(分数:2.00)A.数据B.数据元素C.数据项D.数据结构30.软件开发的结构化生命周期方法将软件生命周期划分成(分数:2.00)A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计31.下列程序执行后的输出结果是#includedstring.hmain( )char arr24;strcpy(arr,“you“);strepy(arr1,“me“);arr03=coutarrendl;(分数:2.00)A.youwhile(i10)if(i1)co

12、ntinue;if(i= =5)break;i+;)(分数:2.00)A.1B.10C.6D.死循环,不能确定次数33.关于友元的描述中错误的是(分数:2.00)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类和类之间的友元关系可以继承34.一个 C+程序由函数 A( ),B( ),C( )和函数 P( )构成,在函数 A( )中分别调用了函数 B( )和函数 C ( ),在函数 B( )中调用了函数 A( ),且在函数 P( )中也调用了函数 A( ),则可以说(分数:2.00)A.函数 B( )中调用的函数 A(

13、)是函数 A( )的间接递归调用B.函数 A( )被函数 B( )调用是直接递归调用C.函数 P( )直接递归调用了函数 A( )D.函数 P( )中调用的函数 A( )是函数 P( )的嵌套35.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测输入操作的函数的函数名是(分数:2.00)A.failB.eofC.badD.good二、填空题(总题数:15,分数:30.00)36.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。(分数:2.00)填空项 1:_37.用树结构表示实体类型及实

14、体间联系的数据模型称为 1。(分数:2.00)填空项 1:_38.类是一个支持集成的抽象数据类型,而对象是类的 1。(分数:2.00)填空项 1:_39.数据流图的类型有 1 和事务型。(分数:2.00)填空项 1:_40.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 1。(分数:2.00)填空项 1:_41.函数定义的格式是 1 函数名(形式参数表)函数体。(分数:2.00)填空项 1:_42.语句序列 long x;x=0L;可用一个语句表示为 1。(分数:2.00)填空项 1:_43.在 C+中的实型数据分为三种类型,即

15、单精度 float、双精度 double 和 1。(分数:2.00)填空项 1:_44.若 a. b 和 C 均是 int 型变量,则表达式 a=(b=4)+(c=2)执行后,a 的值为 1。(分数:2.00)填空项 1:_45.多态性分两类:编译时的多态性和 1。(分数:2.00)填空项 1:_46.下列程序的输出结果是_。#includeiostream.htemplateclass TT max(T x,int n)int i;T maxv=x0;for(i=1;in;i+)if(maxvxi)maxv=xi;return maxv;void main( )int a=3,2,7,6,8

16、,9;double b=1.2,3.4,2.5,7.3,6.8;coutmax(a,4)“,“max(b,3)endl;(分数:2.00)填空项 1:_47.下列程序的运行结果是_。#includeiostream.hclass Basepublic:virtual void func(int i)cout“class Base:“iend1;);class Derived: public Basepublic:void func(double d)cout“class Derived:“dendl;void main( )Base a,*p=a;Derived b;p=(*p).func(3

17、.3);(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#includeiostream.hint CalcDigital(char*str)if(str= =NULL)return 0;int num_of_digital=0;for(int i=0;stri!=0x0;i+)if(stri=9return num_of_digital;void main( )char a=“Beijing20080lympic“;coutCalcDigital(a)endl;(分数:2.00)填空项 1:_49.下列程序的输出结果是_。#includeiostreamusing namesp

18、ace std;class basepublic:int n;base(int x)n=x;virtual void set(int m)n=m;coutn;class deriveA:public basepublic:deriveA(int x):base(x)void set(int m)n+=m;coutn;class deriveB:public basepublic:deriveB(int x):base(x)void set(int m)n+=m;coutn;int main( )deriveA d1(1);deriveB.d2(3);base*pbase;pbase=pbase

19、-set(1);pbase=pbase-set(2);return 0;(分数:2.00)填空项 1:_50.下列程序编译错误,是由于划线处缺少某个语句,该语句是_。#includeiostream.hclass Aprivate:int numl;public:A( ):numl(0)A(int i):numl(i);class Bprivate:int num2;public:B( ):num2(0)B(int i):num2(i)int my_math(A obj1, B obj2);int B:my_math(A obj1,B obj2)return(obj1.numl+obj2.nu

20、m2);void main(void)A objl(4);B obj,obj2(5);cout“obj1+obj2:“obj.my_math(obj1,obj2);(分数:2.00)填空项 1:_二级 C+笔试-173 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.考虑以下的函数原型:vold A(int a,int b=5,char Z=*)下面的函数调用中,不正确的是(分数:2.00)A.A(7)B.A(3,4)C.16,# D.A(0,2,*)解析:解析 A、B 项中,实参不全,缺省的参数默认为函数原型中的初始值,但在 C 项中,第二

21、个实参(char 型)与函数原型中的第二个形参类型不一致,故 C 项错误。2.有以下程序:class Datepublic:Date(int y,int m,int d);year=y;month=mday=d;Date(int y=2000)year=y;month=10;day=1;Date(Date month=d.month;day=d.day;void print( )coutyear“.“month“.“dayendl;private:int year,month,day;Date fun(Date d)Date temp;temp=d;return temp;int main(

22、)Date datel(2000,1,1),date2(0,0,0);Date date3(datel);date2=fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3 C.4D.5解析:解析 本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了 3 次:第一次是在执行语句 Date dare3(datel);时,用已经建立的对象 datel 对正在建立的对象 date3 进行初始化;第二次是在调用 fun 函数时,由于是传值调用,因此实参对象 date3 要对形参对象 d 进行初始化;第三次是在执行fun 函数中的

23、返回语句 return temp;时,系统初始化一个匿名对象时使用了拷贝构造函数。3.串的长度是(分数:2.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数 解析:解析 串的长度指的是串中的字符的个数,且其字符个数可以为零。4.有以下程序main( )char a,b,c,*d;a=/;b=/xbc;c=/0xab;d=“/0127“;coutabc*dendl;编译时出现错误,以下叙述中正确的是(分数:2.00)A.程序中只有 a=/;语句不正确B.b=/xbc;语句不正确C.d=“/0127“;语句不正确D.a=/;和 c=/0

24、xab;语句都不正确 解析:解析 本题考察 C+中各种类型在输出时的转化关系。斜杠为转义控制字符,其后必须紧跟一个字符,故首先可以确定的是 a 的赋值语句是错误的,根据选项我们直接看 c 的赋值语句是否正确。斜杠后跟 0 表示其后为八进制,其值从 0 到 7,因此 C 的赋值语句也是错误的。据此可以判断本题的正确答案应该为 D。5.软件工程的理论和技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理 C.程序设计自动化D.实现软件可重用解析:解析 软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、

25、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。6.以下程序的输出结果是main( )int a=0,i;for(i=1;i5;i+)switch(i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;coutaend1;(分数:2.00)A.31 B.13C.10D.20解析:解析 本题也是考察 switch 语句中的 break 的作用,由于题中所有的 case 分支都没有 break,故将顺序执行这些分支。只要耐心按照流程将数据累加到 a 上,就可以

26、得到正确答案为 A。7.若执行以下程序时从键盘上输入 9,则输出结果是main( )int n;cinn;if(n+10)coutnend1;else coutn - -end1;(分数:2.00)_解析:解析 本题考察的是后置自增运算符的知识,题中 if 语句可以拆解为:if(n10)n+=1, coutnendl;8.下面不正确的描述为(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元 C.调用函数时,将为形参分配内存单元D.调用函数时,实参与形参的类型必须一致解析:解析 函数调用时用实参替换形参,如果实参为表达式,将为表达式的值创建一个临时对象,

27、然后将该实参替换形参。替换的实质是变量间的拷贝,当然这种拷贝需要为形参分配内存。需要注意的是:形参在编译时不分配内存,在运行时才分配内存。9.数据库系统的核心是(分数:2.00)A.数据库B.数据库管理系统 C.模拟模型D.软件工程解析:解析 数据库管理系统(Database Management System,简称 DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。10.用数组表示线性表的优点是(分数:2.00)A.便于插入和删除操作B.便于随机存取 C.可以动态地分配存储空间D.不需要占用一片相

28、邻的存储空间解析:解析 对顺序存储的线性表进行插入和删除操作时,需要移动大量的元素,因此不便于进行插入删除操作,A 选项错误;数组的存储空间大小一开始就已经分配好,不能动态分配存储空间,所以 C 选项错误;数组正是占用一片相邻的存储空间,所以 D 选项也错误。11.下面程序段的正确输出是int w=4,x=3,y=2,z=1;cout(wx? w:zy? z:x)end1;(分数:2.00)A.0B.1 C.2D.3解析:解析 本题为表达式作为变量进行输出,而且表达式为两个三目表达式的嵌套,条件运算术的结合性为向右结合。可以正确得出答案为 B。12.下列 SQL 语句中,用于修改表结构的是(分

29、数:2.00)A.ALTER B.CREATEC.UPDATED.INSERT解析:解析 SQL,语句中凡创建都用 CREATE,删除都用 DROP,改变用 ALTER,再跟类型和名字,附加子句。13.有以下程序main( )int i=10,j=1;cout- -“,“+jendl;执行后输出结果是(分数:2.00)A.9,2B.10,2 C.9,1D.10,1解析:解析 本题还是考察前置和后置自增与自减运算符的使用方法。在 i 输出时,还是 10,输出之后才变成 9,而+j 则是先加一在将新值输出。14.已知语句 int m=10;则下列表示引用的表示中正确的是(分数:2.00)A.int

30、 B.intC.intD.float解析:解析 引用比较特殊,即必须指向一个已有的同类型变量。引用是已有变量的别名,故选项 C 是错误的,选项 D 中变量类型不同,而选项 B 中是常数。15.以下有关成员函数特征的叙述不正确的是(分数:2.00)A.成员函数一定是内联函数 B.成员函数可以重载C.成员函数可以设置缺省参数值D.成员函数可以是静态的解析:解析 在类体内定义的成员函数都是内联函数,不在类体内定义的就不是内联函数,故成员函数不一定都是内联函数 A 项错误。16.下列程序执行结果是#includeiostream.hclass Apublic:int a;A( ):a(10)touta

31、endl;void main( )A obj1;A obj2(obj1);cout“ “obj2.aendl;(分数:2.00)A.10 10 B.编译错误缺少拷贝构造函数C.10 随机数D.随机数随机数解析:解析 本题考察拷贝构造函数的知识。如果类中没有实现拷贝构造函数,则编译器会为其自动生成一个。对于本题这种简单对象,默认生成的拷贝构造函数可以完成数据成员的自动赋值,对于复杂对象,则可能需要显式定义拷贝构造函数。17.阅读以下程序#includeiostream.hvoid main( )char line10;cinline;coutlineendl;如运行时输入 This is exa

32、mple.CR,则程序的输出结果是(分数:2.00)A.This B.This isC.This is aD.This is an example.解析:解析 本题考察 C+中 cin 输入流对象的使用规则,其特点是以空格、回车和 tab 为分隔符。因此 this 和 is 之间的空格告诉 cin 对象停止接收后面的数据。故正确答案为 A。18.面向对象的程序设计主要考虑的是提高软件的(分数:2.00)A.可靠性B.可重用性 C.可移植性D.可修改性解析:解析 对于 A 项,可靠性,没有这种说法;对于 C 项,可移植性,与设计的方法无关,而是与软硬件环境有关;对于 D 选项,可修改性,不是面向

33、对象程序设计的主要目的。所以 A 选项、C 选项和 D 选项都是错误的。19.以下程序的输出结果是main( )int a=4,b=5,e=0,d;d=! acoutdend1;(分数:2.00)A.1 B.0C.非 0 的数D.-1解析:解析 本题考查逻辑运算符!逻辑“非”,void func2(int i);char st=“hello,friend!“;void fund(int i)coutsti;if(i3)i+=2;func2(i);void func2(int i)coutsti;if(i3)i+=2;funcl(i);main( )int i=0;fund(i);coutend

34、l;(分数:2.00)A.A ) helloB.helC.hlo D.hlm解析:解析 本题考察递归调用。分析 funcl 可知,当 i=0 时,首先输出 h,然后 i 变为 2,调用 func (2),则输出 str2,应为 1。分析到此就可以排除选项 A 和 B。然后调用 runcl(4),此时输出 str 4,为 o,故正确答案为 C。21.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(分数:2.00)A.软件投机B.软件危机 C.软件工程D.软件产生解析:解析 将开发软件所需高成本和产品的低质量之间有着尖锐的矛盾称作软件危机。22.下列关于线性表、栈和队列的叙述,错

35、误的是(分数:2.00)A.线性表是给定的 n(n 必须大于零)个元素组成的序列 B.线性表允许在表的任何位置进行插入和删除操作C.栈只允许在一端进行插入和删除操作D.队列允许在一端进行插入在另一端进行删除解析:解析 线性表的插入和删除允许在任何位置进行,所以 B 选项的说法是正确的;栈的操作只允许在栈顶进行,因此,栈称为先进后出表(FILO,First In Last Out),或“后进先出”表(LIFO,Last In First Out),所以 C 选项说法也是正确的;队列(queue)是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头(front),允许插入的一端叫做队尾

36、(rear),因此队列亦称作先进先出 (FIFO, First In First Out)的线性表,或后进后出(LILO, Last In Last Out)的线性表。所以 D 选项说法也是正确的。23.设有基类定义:class Cbaseprivate:int a;protected:int b;public:int c;派生类采用何种继承方式可以使成员变量 b 成为自己的私有成员(分数:2.00)A.私有继承 B.保护继承C.公有继承D.私有、保护、公有均可解析:解析 类的继承中有三种继承方式,他们和类的访问级别相结合在派生类中可以产生多种访问级别。基类中成员为保护的,在派生类中要为私有的

37、,可以采用私有继承。基类中的保护成员在派生类中不是私有就是保护,即级别只能降低而不能升高。基类中的公有成员则可能为私有、保护和私有。24.定义静态成员函数的主要目的是(分数:2.00)A.方便调用B.有利于数据隐蔽C.处理类的静态成员变量 D.便于继承解析:解析 静态成员函数可以直接访问类的静态数据成员,但不能访问类的非静态成员,故正确答案为 C 项。25.存取指针所指的值时,采用的运算符是(分数:2.00)A.#B.;A k1, k2,*p1,*p2;则下面针对成员变量 m 的引用,错误的是(分数:2.00)A.k1.m=1B.k2-m=2 C.p1-m=3D.(*p2).m=4解析:解析

38、A*p1,A*p2 为指向 A 类对象的指针,故 p1m=3,(*p2)m=4 是正确的。但 k2 不是指针,k2m 的表示是错误的。28.若类 A 和类 B 的定义如下class Aint i,j;public:int geti( )return i;class B:public Aint k:public:void make( )k=i*j;则上述定义中非法的语句是(分数:2.00)A.k=i*j B.int k;C.return i;D.void make()解析:解析 本题考核派生类的定义和访问权限。变量 i 和 j 都是基类 A 的私有变量,它们是隐蔽的,在派生类中不能直接访问。29

39、.数据处理的最小单位是(分数:2.00)A.数据B.数据元素C.数据项 D.数据结构解析:解析 数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。故正确答案为选项 C。30.软件开发的结构化生命周期方法将软件生命周期划分成(分数:2.00)A.定义、开发、运行维护 B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计解析:解析 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护 3 个

40、阶段。31.下列程序执行后的输出结果是#includedstring.hmain( )char arr24;strcpy(arr,“you“);strepy(arr1,“me“);arr03=coutarrendl;(分数:2.00)A.youwhile(i10)if(i1)continue;if(i= =5)break;i+;)(分数:2.00)A.1B.10C.6D.死循环,不能确定次数 解析:解析 本题考查 continue 在循环语句中的作用。当 i=0 时,执行第一个 if 语句,为真,跳过后面的第二个 if 和 i+,重新判断 while 的条件,此时 i 并没有任何改变,依然是

41、0,因此将陷入一个无限循环中。33.关于友元的描述中错误的是(分数:2.00)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类和类之间的友元关系可以继承 解析:解析 友员机制就是为了解决对象封装过程中对对象所有内部数据存取都需要通过接口进行的低效率问题,但是破坏了封装性。友员关系是单向且不可继承的。34.一个 C+程序由函数 A( ),B( ),C( )和函数 P( )构成,在函数 A( )中分别调用了函数 B( )和函数 C ( ),在函数 B( )中调用了函数 A( ),且在函数 P( )中也调用了函数 A( ),

42、则可以说(分数:2.00)A.函数 B( )中调用的函数 A( )是函数 A( )的间接递归调用 B.函数 A( )被函数 B( )调用是直接递归调用C.函数 P( )直接递归调用了函数 A( )D.函数 P( )中调用的函数 A( )是函数 P( )的嵌套解析:解析 本题考察递归调用。递归调用分为直接递归和间接递归。A()属于间接递归。35.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测输入操作的函数的函数名是(分数:2.00)A.failB.eof C.badD.good解析:解析 good( ):刚进行的操作成功时返回 true,否则返回 fa

43、lse;fail( )与 good( )相反;bad( ):如果进行了非法操作返回 true,否则返回 false;eof( ):进行输入操作时,若到达文件尾返回true,否则返回。false,故正确答案为 B 项。二、填空题(总题数:15,分数:30.00)36.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。(分数:2.00)填空项 1:_ (正确答案:n/2)解析:解析 在线性表的任何位置插入一个元素的概率相等,即概率为 p=1/(n+1),则插入一个元素时所需移动元素的平均次数为 E=1/(n+1)*(n-i+1)=n/

44、2。37.用树结构表示实体类型及实体间联系的数据模型称为 1。(分数:2.00)填空项 1:_ (正确答案:层次模型)解析:解析 用树结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体间联系的数据模型称为网状模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。38.类是一个支持集成的抽象数据类型,而对象是类的 1。(分数:2.00)填空项 1:_ (正确答案:实例)解析:解析 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。39.数据流图的类型有 1 和事务型。(分数:2.

45、00)填空项 1:_ (正确答案:变换型)解析:解析 典型的数据流类型有两种:变换型和事务型。变换型是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统;在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。40.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 1。(分数:2.00)填空项 1:_ (正确答案:物理独立性)解析:解析 数据独立性是数据与程序间的互不依赖性,即数据库

46、中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。41.函数定义的格式是 1 函数名(形式参数表)函数体。(分数:2.00)填空项 1:_ (正确答案:返回类型)解析:解析 本题考察基本的函数定义格式。42.语句序列 long x;x=0L;可用一个语句表示为 1。(分数:2.00)填空项 1:_ (正确答案:long x=0L;)解析:解析 变量的声明和赋值可以分别进行也可以同时进行。分别进行时称为赋值,同时进行是称为初始化。43.在 C+中的实型数据分为三种类型,即单精度 float、双精度 double 和 1。(分数:2.00)填空项 1:_ (正确答案:长双精度 long double)解析:解析 长精度类型一般用于高精度的科学运算。44.若 a

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1