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

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

1、二级 C+笔试-247 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对下面的程序,说法正确的是( )。#includeiostreamusing namespace std;void sum(float m, float n)float sum=m+n; main()coutsum(5.3,6.5)endl;(分数:2.00)A.该程序是错误的,错误之处在于没有对 sum()函数进行说明B.程序书写规整,无语法错误,是正确的C.该程序语法无错误,但在调用函数 sum()时出错,因为 sum()函数被定义为 viod类型,但却被主函数调用

2、,因而是错误的D.虽然 sun()函数被定义为 void类型,但调用时也不会出错,程序能够编译通过2.关于析构函数的说法,正确的是( )。(分数:2.00)A.析构函数用来释放构造函数为对象分配的内存空间。它可以被系统自动调用B.析构函数没有数据类型,其返回值为 void型C.析构函数可以没有参数,也可有多个参数D.析构函数与构造函数不一样,它可以有多个,以方便使用3.下面正确的是( )。(分数:2.00)A.4.1/2B.3.2%3C.3/2=1 结果为 2D.5.2/3 结果是 14.下列语句中正确的是( )。(分数:2.00)A.int * p;i=8; p=B.int * p,i; p

3、=C.float * p;int i;p=D.float * p;cout* p;5.下列数据结构中,按“先进后出”原则组织数据的是( )。(分数:2.00)A.线性链表B.栈C.循环链表D.顺序表6.需求分析阶段的任务是确定( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能7.循环链表的主要优点是( )。(分数:2.00)A.不再需要头指针了B.从表中任一结点出发都能访问到整个链表C.在进行插入、删除运算时,能更好地保证链表不断开D.已知某个结点的位置后,能够容易地找到它的直接前趋8.char c=/41;printf(“%o“,c); 的结果为( )

4、。(分数:2.00)A.0101B.101C.41D.659.下面程序的执行结果是( )。#includeiostreamusing namespace std;class building public:building() building(unsigned stories, float breadths, float lengths)story = stories; breadth = breadths; length = lengths;void getstory(void)cout“story is:“storyendl;void getarea(void)area = length

5、*breadth*story;cout“area is:“areaendl;private:unsigned story;float length;float breadth;float area;void main(void)building b1,b2;building b3(10u,16.6,58.8);b1.getstory();b1.getarea();b2.getstory();b2.getarea();b3.getstory();b3.getarea();(分数:2.00)A.story is:0area is:0story is:0area is:0story is:10are

6、a is:9760.8B.story is:nullarea is:nullstory is:nullarea is:nullstory is:10area is:9760.8C.前两个对象输出的结果是不定的,后一个对象的结果正确D.前两个对象没有初值,因此程序编译时出错10.下列关于数组初始化的说法,正确的是( )。(分数:2.00)A.对于 int a5;它的数组元素初值为 0B.int a5=1,3,5,7,8,9;是可以的,这时数组长度自动变为 6C.static int a5;的数组元素初值为 0D.int a5=1.3,5;是不合法的,因为数组长度为 5,而仅有 3个数据,不知赋给

7、哪个元素11.数据库的故障恢复,一般是由( )。(分数:2.00)A.数据流图完成B.数据字典完成C.DBA完成D.PAD图完成12.关于输入流的提取符“”、提取函数 get()的说法不正确的是( )。(分数:2.00)A.提取符“”能提取空白字符B.提取函数 get()能够提取空白字符C.提取函数 get()可以带参数,用以存储从流中得到的字符D.提取函数 get()的返回值为所提取的字符13.在软件测试设计中,软件测试的主要目的是( )。(分数:2.00)A.实验性运行软件B.证明软件正确C.演示软件的正确功能D.发现软件错误而执行程序14.最常用的一种基本数据模型是关系数据模型,它的表示

8、应采用( )。(分数:2.00)A.树B.网络C.图D.二维表15.有如下程序:#includeiostreamusing namespace std;long fib(int n)if(n2) return(fib(n-1)+fib(n-2);else return(n);void main()int i;cout“请输入一个整数:“;cini;coutendl;coutfib(i)endl;当输入 4、2 时,该程序的输出结果是( )。(分数:2.00)A.5B.4C.5D.61 2 2 216.有以下定义:“int t3)2”,能正确标识 t数组元素地址的表达式是( )。(分数:2.00

9、)A.B.float sum(float x,float y);C.float sum(float x,float y)D.float sum(floatx,floaty)18.关于派生类的说法,不正确的是( )。(分数:2.00)A.派生类能够通过继承关键字改变对基类的函数成员的存取权限B.派生类可以拥有自己的新成员C.派生类可重载已有的函数成员D.派生类无法给基类的数据成员初始化19.下面程序的输出结果是( )。#includeiostreamusing namespace std;void main()int a,b;for(a=1,b=l;a=100;a+)if(b=10) break

10、;if(b%3= =1)b+=3;continue; couta;(分数:2.00)A.101B.6C.5D.420.下面程序的运行结果是( )。#includeiostreamusing namespace std;class Aint a;public:A()a=0;1A(int a(分数:2.00)A.a )a=aa;virtual void show()couta“;class B:public Aint b:public:B()b=0:B(int bB.b=bb;void show()coutb“ “;class C:public Bint c;public:C(int cC.c21

11、.下列说法不正确的是( )。(分数:2.00)A.基类指针可以指向它的公有派生类的对象B.指向基类的对象的指针可以指向派生类的对象,因而可以访问派生类的对象的成员C.基类指针不能指向其私有派生类的对象D.指向派生类对象的指针不可以指向基类的对象22.根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分成( )。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构23.当一个函数无返回值时,函数的类型应为( )。(分数:2.00)A.任意B.voidC.intD.char24.关于类的继承的特性,不正确的是( )。(分数:2.

12、00)A.子类对父类具有数据和程序代码的共性特征B.子类与父类间有所差别C.会增加代码的冗余D.类间具有层次结构25.下面程序的输出结果是( )。#includeiostreamusing namespace std;templateclass TT max(T x,T y)return(x= y ? x:y);templateclass TT max(T x,T y,T z)T t; t=(x=y ? x:y);return(t=z ? t:z);void main()int x = 10,y=18,maxi;float a = 1.2,b = 3.2,c = 2,max2;max1 = m

13、ax(x,(int)c);max2 = max(a,b,(float)y);coutmaxiendl;coutmax2endl;(分数:2.00)A.183.2B.1018C.103.2D.编译出错26.在 C+语言里,一条语句以( )字符作为结束符。(分数:2.00)A.,B.;C.D.无符号27.下列关于对象的描述,不正确的是( )。(分数:2.00)A.对象只能描述有形的东西B.对象具有属性和服务两个主要因素C.现实世界中的一切事物都可以看作对象,但只有在具体的系统中加以论述才有意义D.对象的属性是对象的静态特征,服务是动态特征。并且对象的属性只能由本对象的服务来操作28.下列叙述中,正

14、确的是( )。(分数:2.00)A.软件就是程序清单B.软件就是存放在计算,机中的文件C.软件应包括程序清单及运行结果D.软件包括程序、文档和数据29.MyClock为一个类,则指向“MyClock a,* p;”语句时,调用该类构造函数( )次。(分数:2.00)A.1B.2C.3D.430.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储的大C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同31.对中断语句的说法,不正确的是( )。(分数:2.00)A.用户可以指定中断的位置B.用户可以指定转移的位置C.break 语句可以跳出本循环D

15、.continue 语句可以结束本次循环32.下面程序输出的结果是( )。#includeiostreamusing namespace std;void main()char ch8=“good“,“better“,“best“;for(int i=1;i3;+i)coutchiendl;(分数:2.00)A.goodbetterB.betterbestC.goodbestD.good33.一个函数为 void f(int,char=a),另一个函数为 void f(int),则它们( )。(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但

16、不可以重载D.以上说法均不正确34.链表不具有的特点是( )。(分数:2.00)A.不必事先估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比35.下列字符数组的初始化,正确的是( )。(分数:2.00)A.char ch5=“a“,“b“,“c“,“d“,“e“;B.char ch=a,b;C.char ch15=“welcome to china“;D.char ch14=“I am a student“;二、填空题(总题数:15,分数:30.00)36.冒泡排序算法在最好的情况下的元素交换次数为 【1】 。(分数:2.00)填空项 1:_37.当线

17、性表采用顺序存储结构实现存储时,其主要特点是 【2】 。(分数:2.00)填空项 1:_38.为了克服软件危机提出了 【3】 概念。(分数:2.00)填空项 1:_39.常用的黑箱测试有等价分类法、边值分析法、错误推测法和 【4】 等 4种。(分数:2.00)填空项 1:_40.在最坏情况下,堆排序需要比较的次数为 【5】 。(分数:2.00)填空项 1:_41.执行语句:int result=100;cout(result= 60)结果是 【6】 。(分数:2.00)填空项 1:_42.对于嵌套的 ifelse语句,C+语法规定 else总是与 【7】 匹配。(分数:2.00)填空项 1:_

18、43.以下程序的输出是 【8】 。#includeiostreamusing namespace std;fun(intm)static int n=1;n=m*n;return(n);void main()int i;for(i=1;i=3;i+) coutfun(i);(分数:2.00)填空项 1:_44.当用数组元素作函数参数时,这属于 【9】 传递。(分数:2.00)填空项 1:_45.请填写空格:#includeiostreamusing namespace std;void fun(int x,int y,int * z)*2 = x + y;void main()int a=10

19、0,b=100,c,*p=fun(a,b,p);【10】 ; /输出调用 fun函数后返回 a、b 的和。(分数:2.00)填空项 1:_46.在类中定义和实现的函数称为 【11】 。(分数:2.00)填空项 1:_47.重载函数的函数名称相同,但函数的实现和功能不同,系统是靠 【12】 来决定采用哪个函数。(分数:2.00)填空项 1:_48.设置虚基类的目的是解决二义性问题,可通过 【13】 标识虚基类。(分数:2.00)填空项 1:_49.如果一个类中含有纯虚函数,则该类称为 【14】 。(分数:2.00)填空项 1:_50.模板是实现代码重用机制的一种工具,其中使一个函数可以定义成对许

20、多不同数据类型完成同一个任务的是指 【15】 模板。(分数:2.00)填空项 1:_二级 C+笔试-247 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对下面的程序,说法正确的是( )。#includeiostreamusing namespace std;void sum(float m, float n)float sum=m+n; main()coutsum(5.3,6.5)endl;(分数:2.00)A.该程序是错误的,错误之处在于没有对 sum()函数进行说明B.程序书写规整,无语法错误,是正确的C.该程序语法无错误,但在调用函

21、数 sum()时出错,因为 sum()函数被定义为 viod类型,但却被主函数调用,因而是错误的 D.虽然 sun()函数被定义为 void类型,但调用时也不会出错,程序能够编译通过解析:解析 void 类型的函数的返回值类型是不确定的,不能使用函数的返回值。2.关于析构函数的说法,正确的是( )。(分数:2.00)A.析构函数用来释放构造函数为对象分配的内存空间。它可以被系统自动调用 B.析构函数没有数据类型,其返回值为 void型C.析构函数可以没有参数,也可有多个参数D.析构函数与构造函数不一样,它可以有多个,以方便使用解析:解析 析构函数没有数据类型,也没有参数,没有返回值,一个类只能

22、有一个析构函数。3.下面正确的是( )。(分数:2.00)A.4.1/2 B.3.2%3C.3/2=1 结果为 2D.5.2/3 结果是 1解析:解析 选项 B的%要求是整型;选项 C关系运算值为 1;选项 D结果为 1.7333。4.下列语句中正确的是( )。(分数:2.00)A.int * p;i=8; p=B.int * p,i; p= C.float * p;int i;p=D.float * p;cout* p;解析:解析 选项 A中的变量 i没有定义就使用了;选项 C(float)i把 i中的数据取出后变为 float型,就是一个数值,“printf(“%o“,c); 的结果为(

23、)。(分数:2.00)A.0101B.101C.41 D.65解析:解析 printf(“%o“,c);以八进制输出 c,而/41就是八进制表示的字符。9.下面程序的执行结果是( )。#includeiostreamusing namespace std;class building public:building() building(unsigned stories, float breadths, float lengths)story = stories; breadth = breadths; length = lengths;void getstory(void)cout“stor

24、y is:“storyendl;void getarea(void)area = length*breadth*story;cout“area is:“areaendl;private:unsigned story;float length;float breadth;float area;void main(void)building b1,b2;building b3(10u,16.6,58.8);b1.getstory();b1.getarea();b2.getstory();b2.getarea();b3.getstory();b3.getarea();(分数:2.00)A.story

25、 is:0area is:0story is:0area is:0story is:10area is:9760.8B.story is:nullarea is:nullstory is:nullarea is:nullstory is:10area is:9760.8C.前两个对象输出的结果是不定的,后一个对象的结果正确 D.前两个对象没有初值,因此程序编译时出错解析:解析 该题是关于构造函数重载的,由于前两个对象没有赋初值,值不定。10.下列关于数组初始化的说法,正确的是( )。(分数:2.00)A.对于 int a5;它的数组元素初值为 0B.int a5=1,3,5,7,8,9;是可以

26、的,这时数组长度自动变为 6C.static int a5;的数组元素初值为 0 D.int a5=1.3,5;是不合法的,因为数组长度为 5,而仅有 3个数据,不知赋给哪个元素解析:解析 数组一旦定义,其长度就不可变了;初始化数组的数据个数不要大于数组长度,否则会出现逻辑错;初始化数组的数据个数若小于数组长度,则先赋给前边的元素,后边的元素值自动初始化为0;静态数组如果没有初始化自动初始化为 0。11.数据库的故障恢复,一般是由( )。(分数:2.00)A.数据流图完成B.数据字典完成C.DBA完成 D.PAD图完成解析:解析 数据库的故障恢复一般是由 DBA完成的。12.关于输入流的提取符

27、“”、提取函数 get()的说法不正确的是( )。(分数:2.00)A.提取符“”能提取空白字符 B.提取函数 get()能够提取空白字符C.提取函数 get()可以带参数,用以存储从流中得到的字符D.提取函数 get()的返回值为所提取的字符解析:解析 提取函数 get()能够提取空白字符,可以带参数,用以存储从流中得到的字符,返回值为所提取的字符。13.在软件测试设计中,软件测试的主要目的是( )。(分数:2.00)A.实验性运行软件B.证明软件正确C.演示软件的正确功能D.发现软件错误而执行程序 解析:解析 使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求

28、或是弄清预期结果与实际结果之间的差别。软件测试是为了发现错误而执行程序的过程。测试要以查找错误为中心,而不是为了演示软件的正确功能。14.最常用的一种基本数据模型是关系数据模型,它的表示应采用( )。(分数:2.00)A.树B.网络C.图D.二维表 解析:解析 关系数据模型采用二维表来表示的。15.有如下程序:#includeiostreamusing namespace std;long fib(int n)if(n2) return(fib(n-1)+fib(n-2);else return(n);void main()int i;cout“请输入一个整数:“;cini;coutendl;

29、coutfib(i)endl;当输入 4、2 时,该程序的输出结果是( )。(分数:2.00)A.5B.4C.5 D.61 2 2 2解析:解析 注意递归调用的过程,当输入 2作为函数参数时,调用肋()函数直接返回参数值 2;当输入参数大于 2时有一个递归调用的过程。16.有以下定义:“int t3)2”,能正确标识 t数组元素地址的表达式是( )。(分数:2.00)A.B.float sum(float x,float y);C.float sum(float x,float y) D.float sum(floatx,floaty)解析:解析 选项 A函数形参需指定类型;选项 B函数头不能

30、以分号结尾;选项 D函数形参需指定类型。18.关于派生类的说法,不正确的是( )。(分数:2.00)A.派生类能够通过继承关键字改变对基类的函数成员的存取权限B.派生类可以拥有自己的新成员C.派生类可重载已有的函数成员D.派生类无法给基类的数据成员初始化 解析:解析 派生类可以通过构造函数的初始化列表,给基类的数据成员和对象成员初始化。19.下面程序的输出结果是( )。#includeiostreamusing namespace std;void main()int a,b;for(a=1,b=l;a=100;a+)if(b=10) break;if(b%3= =1)b+=3;continu

31、e; couta;(分数:2.00)A.101B.6C.5D.4 解析:解析 该题是对 for 循环语句、条件语句、中断语句的综合考察。循环 for 语句执行了 4次,当执行第 4次循环的时候 b=10退出循环,输出 a的值为 4。20.下面程序的运行结果是( )。#includeiostreamusing namespace std;class Aint a;public:A()a=0;1A(int a(分数:2.00)A.a )a=aa;virtual void show()couta“;class B:public Aint b:public:B()b=0:B(int bB.b=bb;v

32、oid show()coutb“ “;class C:public Bint c;public:C(int c C.c解析:解析 指向基类对象的指针可以指向派生类的对象,但只引用继承下来的成员,不能引用自己新增函数;虚函数可被继承,继承下来并重新定义后仍是虚函数,不管继承层次多深,不管是否再用关键字viaual说明。故答案为 B。21.下列说法不正确的是( )。(分数:2.00)A.基类指针可以指向它的公有派生类的对象B.指向基类的对象的指针可以指向派生类的对象,因而可以访问派生类的对象的成员 C.基类指针不能指向其私有派生类的对象D.指向派生类对象的指针不可以指向基类的对象解析:解析 其前半

33、句是正确的,但后半句是错误的。它可以访问派生类的对象中由基类继承下来的成员,但不可访问派生类新增成员。22.根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分成( )。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:解析 根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分成线性结构和非线性结构。23.当一个函数无返回值时,函数的类型应为( )。(分数:2.00)A.任意B.void C.intD.char解析:解析 如果函数所体现的计算不需要返回结果,则数据类型可以指定为 void类型。注意,这种

34、情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。24.关于类的继承的特性,不正确的是( )。(分数:2.00)A.子类对父类具有数据和程序代码的共性特征B.子类与父类间有所差别C.会增加代码的冗余 D.类间具有层次结构解析:解析 不会增加代码的冗余,反而会减少冗余。25.下面程序的输出结果是( )。#includeiostreamusing namespace std;templateclass TT max(T x,T y)return(x= y ? x:y);templateclass TT max(T x,T y,T z)T t; t=(x=y ? x:y

35、);return(t=z ? t:z);void main()int x = 10,y=18,maxi;float a = 1.2,b = 3.2,c = 2,max2;max1 = max(x,(int)c);max2 = max(a,b,(float)y);coutmaxiendl;coutmax2endl;(分数:2.00)A.183.2B.1018 C.103.2D.编译出错解析:解析 本道题考查函数模板以及函数模板重载的使用,max1=max(x,(int)c)语句会实例化 T max(T x, T y)函数模板,返回两个 int数据中的最大值;max2=max(a,b,(float

36、)y);语句会实例化 T max(T x, T y, T 2)函数模板,返回 3个 float数据中的最大值。26.在 C+语言里,一条语句以( )字符作为结束符。(分数:2.00)A.,B.; C.D.无符号解析:解析 在 C+语言里,一条语句以“;”字符作为结束符。27.下列关于对象的描述,不正确的是( )。(分数:2.00)A.对象只能描述有形的东西 B.对象具有属性和服务两个主要因素C.现实世界中的一切事物都可以看作对象,但只有在具体的系统中加以论述才有意义D.对象的属性是对象的静态特征,服务是动态特征。并且对象的属性只能由本对象的服务来操作解析:解析 抽象是分析对象的基本方法。28.

37、下列叙述中,正确的是( )。(分数:2.00)A.软件就是程序清单B.软件就是存放在计算,机中的文件C.软件应包括程序清单及运行结果D.软件包括程序、文档和数据 解析:解析 软件包括程序、文档和数据。29.MyClock为一个类,则指向“MyClock a,* p;”语句时,调用该类构造函数( )次。(分数:2.00)A.1 B.2C.3D.4解析:解析 *p 不调用类的构造函数,*p 并不定义类对象,而是定义了一个指针指向一个 MyClock 的对象。30.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储的大C.便于插入和删除操作 D.数据元素的

38、物理顺序与逻辑顺序相同解析:解析 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放,它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。31.对中断语句的说法,不正确的是( )。(分数:2.00)A.用户可以指定中断的位置B.用户可以指定转移的位置 C.break 语句可以跳出本循环D.continue 语句可以结束本次循环解析:解析 不论 break 语句还是 continue 语句转移的位置根据程序是默认的了,不用人为设置。32.下面程序输出的结果是( )。#includeiostreamusing namespac

39、e std;void main()char ch8=“good“,“better“,“best“;for(int i=1;i3;+i)coutchiendl;(分数:2.00)A.goodbetterB.betterbest C.goodbestD.good解析:解析 二维数组 ch共 3行 8列,for 循环语句输出第 2、3 行的数组元素33.一个函数为 void f(int,char=a),另一个函数为 void f(int),则它们( )。(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载 D.以上说法均不正确解析:解析 只

40、要满足参数不同的条件,就可以在同一程序中对同名的函数进行定义。但是由于其中一个函数有默认值,因此当程序中出现如下语句 x=f(5)时,就会产生二义性,不能确定调用函数 f(5)还是调用函数 f(5,a),此时这两个函数不能重载。34.链表不具有的特点是( )。(分数:2.00)A.不必事先估计存储空间B.可随机访问任一元素 C.插入删除不需要移动元素D.所需空间与线性表长度成正比解析:解析 链表不能随机访问任一元素。35.下列字符数组的初始化,正确的是( )。(分数:2.00)A.char ch5=“a“,“b“,“c“,“d“,“e“;B.char ch=a,b; C.char ch15=“

41、welcome to china“;D.char ch14=“I am a student“;解析:解析 选项 A中一个数组元素存放一个字符,不能存放字符串;当把字符串整体赋给字符串时,字符数组的长度要比字符串长度大 1,用来存放终结符,所以选项 C和选项 D都不正确。二、填空题(总题数:15,分数:30.00)36.冒泡排序算法在最好的情况下的元素交换次数为 【1】 。(分数:2.00)填空项 1:_ (正确答案:0)解析:解析 冒泡排序算法在最好的情况下(已经有序的)元素交换次数为 0。37.当线性表采用顺序存储结构实现存储时,其主要特点是 【2】 。(分数:2.00)填空项 1:_ (正

42、确答案:逻辑结构中相邻的结点在存储结构中仍相邻)解析:解析 当线性表采用顺序存储结构实现存储时,其主要特点是逻辑结构中相邻的结点在存储结构中仍相邻。38.为了克服软件危机提出了 【3】 概念。(分数:2.00)填空项 1:_ (正确答案:软件工程)解析:解析 软件工程的出现是由于软件危机的出现。39.常用的黑箱测试有等价分类法、边值分析法、错误推测法和 【4】 等 4种。(分数:2.00)填空项 1:_ (正确答案:因果图法)解析:解析 常用的黑箱测试有等价分类法、边值分析法、因果图法和错误推测法 4种。40.在最坏情况下,堆排序需要比较的次数为 【5】 。(分数:2.00)填空项 1:_ (

43、正确答案:O(nlog 2n)解析:解析 在最坏情况下,堆排序需要比较的次数为 O(nlog2n)。41.执行语句:int result=100;cout(result= 60)结果是 【6】 。(分数:2.00)填空项 1:_ (正确答案:good)解析:解析 条件运算符中的条件表达式为真时取第一个表达式的值。42.对于嵌套的 ifelse语句,C+语法规定 else总是与 【7】 匹配。(分数:2.00)填空项 1:_ (正确答案:离它最近的且尚未配对的订语句)解析:解析 对于嵌套的 if.else语句,C+语法规定 else总是与离它最近的且尚未配对的 if语句匹配。43.以下程序的输出

44、是 【8】 。#includeiostreamusing namespace std;fun(intm)static int n=1;n=m*n;return(n);void main()int i;for(i=1;i=3;i+) coutfun(i);(分数:2.00)填空项 1:_ (正确答案:126)解析:解析 局部静态变量在离开作用域之后,并没有被销毁,而是仍然驻留在内存当中,直到程序结束。第一次调用 fun 函数时 n的值等于 1,第二次调用 fun 函数时 n的值等于 2,第三次调用 fun 函数时 n的值等于 6,每次调用 fun 函数时,保留上次调用时 n的值不变。44.当用数

45、组元素作函数参数时,这属于 【9】 传递。(分数:2.00)填空项 1:_ (正确答案:数值)解析:解析 当用数组元素作函数参数时是值传递方式。45.请填写空格:#includeiostreamusing namespace std;void fun(int x,int y,int * z)*2 = x + y;void main()int a=100,b=100,c,*p=fun(a,b,p);【10】 ; /输出调用 fun函数后返回 a、b 的和。(分数:2.00)填空项 1:_ (正确答案:cout*p;)解析:解析 函数 fun()通过指针可以带回返回值,a、b 的和存放在*p 中。

46、46.在类中定义和实现的函数称为 【11】 。(分数:2.00)填空项 1:_ (正确答案:内联函数)解析:解析 在类中定义的函数称为内联函数,类外定义的函数默认情况下都是非内联函数。用关键字 inline 可以强制转换,对于内联成员函数,编译时在所有调用该函数的地方将装入实际的函数代码,内联成员函数的声明必须出现在对它的每个调用之前。47.重载函数的函数名称相同,但函数的实现和功能不同,系统是靠 【12】 来决定采用哪个函数。(分数:2.00)填空项 1:_ (正确答案:参数个数或参数类型)解析:解析 函数重载是指同一个函数名可以对应着多个函数的实现。函数重载要求编译器能够唯一地确定调用一个函数时应执行哪个函数代码,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。48.设置虚基类的目的是解决二义性问题,可通过 【13】 标识虚基类。(分数:2.00)填空项 1:_ (正确答案:virtual)解析:解析 设置虚基类的目的是解决二义性问题,可通过 virtual 标识虚基类。49.如果一个类中含有纯虚函数,则该类称为 【14】 。(分数:2.00)填空项 1:_ (正确答案:抽象类)解析:解析 类中一旦有纯虚函数的定义,那么这个类就再也不能创建此类的对象了,我们把这种类叫做抽象类。50.模板是实现代码重用机制的一种工具,其中使一个函数可

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

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

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