1、全国计算机等级考试二级 C+真题 2005年 9月及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试2.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或
2、删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素4.下列叙述中正确的是(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可有多种存储结构,且各种存储结构影响数据处理的效率5.下列描述中正确的是(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题6.在软件设计中,不属于过程设计工具
3、的是(分数:2.00)A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图7.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令8.数据库设计的根本目标是要解决(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护9.设有如下关系表: (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S10.数据库系统的核心是(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员11.下列关于 C+函数的叙
4、述中,正确的是(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己12.下列关于类和对象的叙述中,错误的是(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系13.在 C+中,用于实现运行时多态性的是(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数14.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+
5、D.重载一个二元运算符时,必须声明两个形参15.下列关于模板的叙述中,错误的是(分数:2.00)A.模板声明中的第一个符号总是关键字 templaleB.在模板声明中用括起来的部分是模板的形参表C.类模板不能有数据成员D.在一定条件下函数模板的实参可以省略16.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout”是一个输出流对象B.“endl“的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符17.下列字符串中,正确的 C+标识符是(分数:2.00)A.foo-1B.2bC.newD.-25618.已知枚举类型定义语句为: enum
6、TokenNAMB,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是(分数:2.00)A.枚举常量 NAME的值为 1B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 1019.执行语句序列 iht i=0;while(i25)i+=3;couti; 输出结果是(分数:2.00)A.24B.25C.27D.2820.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是(分数:2.00)A.int vect =30,50,-88;B.in
7、t veer =30,50,-88,0,0;C.int vect5=30,50,-88;D.int vect5=30,50,-88,0,0;21.有如下程序: #includeiostream void fun(intx=y;y=t; int main() int a2=23,42; fun(a1,a0; std:couta0“,“a1std:ndl; return 0; 执行后的输出结果是(分数:2.00)A.42,42B.23,23C.23,42D.42,2322.有如下类声明: class Foo int bar; ; 则 Foo类的成员 bar是(分数:2.00)A.公有数据成员B.公
8、有成员函数C.私有数据成员D.私有成员函数23.有如下类声明: class MyBASE int k; public: void set(iht n)k=n; int get()coastreturn k; ; class MyDERIVED:pnoted My BASE protected: int j; public: void set(int m,int n)MyBASE:set(m);j=n; int get()constreturn MyBASE:get()+j; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3C.2D.125.有如下函数
9、模板定义: templateclass t T func(Tx,Ty)return x*x+y*y; 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5);D.funcint(3,5.5)26.有如下程序: #includeiostream using namespace std; int main() cout.fill(*) cout.width(6); cout.fill(#) cout123endl; return 0; 执行后的输出结果是(分数:2.00)A.#123B.123#C.*123D.123
10、*27.在下列函数原型中,可以作为类 AA构造函数的是(分数:2.00)A.void AA(in;B.int AA();C.AA(inconst;D.AA(in;28.下列关于 this指针的叙述中,正确的是(分数:2.00)A.任何与类相关的函数都有 this指针B.类的成员函数都有 this指针C.类的友元函数都有 this指针D.类的非静态成员函数才有 this指针29.有如下程序: #includeiostream using namespace std; class Test public: Test()n+=2; Test()n-=3; static int getNum()ret
11、urn n; private: static int n; ; int Tesl:n=1 int main() Test*p=new Test; delete p; cout“n=“Tes:tgetNum()endl; return 0; 执行后的输出结果是(分数:2.00)A.n=0B.n=1C.n=2D.n=330.有如下程序: #includeiostream using namespace std; class A public: A()cout“A“; ;class Bpublic:B()cout“B“;); class C:public A B b; public: C()cout
12、“C“; ; int main()Cobj;retum 0; 执行后的输出结果是(分数:2.00)A.CBAB.BACC.ACBD.ABC31.有如下类声明: class XA int x; public: XA(int n)x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是(分数:2.00)A.XB:XB(int a,int :x(,y(B.XB:XB(int a,int :XA(,y(C.XB:XB(int a,int :x(,XB(D.XB:XB(int a,int :XA(,XB
13、(32.有如下程序: #includeiostream using namespace std; class BASE public: BASE()cout“BASE“; ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVEDx;retum 0; 执行后的输出结果是(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE33.在表达式 x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是(分数:2.00)
14、A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数34.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin是一个输入流对象B.可以用 ifstream定义一个输出流对象C.执行语句序列 char*y=“PQMN“;couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cigetline(x,80);时,若键入 Happy new year 则 x中的字符串是“Ha
15、ppy“35.有如下程序: #includeiostream using namespace std; class AA int n; public: AA(int k);n(k) intget()return n; int get()constreturn n+1; ; int main() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是(分数:2.00)A.55B.57C.75D.77二、B填空题/B(总题数:14,分数:28.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据
16、独立性最高的阶段是U 【1】 /U。(分数:2.00)填空项 1:_37.算法复杂度主要包括时间复杂度和 【2】 复杂度。(分数:2.00)填空项 1:_38.在进行模块测试时,要为每个被测试的模块另外设计两块:驱动和承接模块(桩模块)。其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_39.一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。(分数:2.00)填空项 1:_40.数据结构分为逻辑结构和存储结构,循环队列属于工 【5】 结构。(分数:2.00)填空项 1:_41.下列函数的功能是判断字符串 str是否对称
17、,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char*str) int i=o,i=0; while(strj)U 【6】 /U; for(j-;iji+,j-); return iU 【7】 /Uj; (分数:2.00)填空项 1:_42.执行语句序列 int x=10, coutX-rendl; 输出结果为U 【8】 /U。(分数:2.00)填空项 1:_43.下列程序的输出结果为 Object id=0 Obiect id=1 请将程序补充完整。 #includeiostream using namespace std; clas
18、s Point public: Point(int xx=O,int yy=O)X=xx;Y=yy;countP+; Point()countp-; int GetX()(return X;) int GetY(Xremm Y;) static void GetC()cout“Objcetid=“countpendl; private: int X,Y; static int countP; : U 【9】 /U。 /静态数据成员的初始化 int main() Point:GetC(); Point A(4,5); A.GetC() return 0; (分数:2.00)填空项 1:_44.非
19、成员函数应声明为类的 【10】 函数才能访问这个类的 private成员。(分数:2.00)填空项 1:_45.派生类中的成员不能直接访问基类中的 【11】 成员。(分数:2.00)填空项 1:_46.下列程序的输出结果为 2,请将程序补充完整。 #includeiostream using namespace std; class Basc public: U 【12】 /Uvoid fun()cout1; ; class Dcrived:public Base public: void fun()cout2; ; int main() Base*p=new Derived; p-fun()
20、; delete p; return 0; (分数:2.00)填空项 1:_47.请将下列类定义补充完整。 class Basepublic:void fun()cout“Base:fun“end;; class Derived:public Base public: void fun() U 【13】 /U/显式调用基类的 fun函数 cout“Derived:fun“endl; ;(分数:2.00)填空项 1:_48.多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符只能作为类的 【14】 函数重载。(分数:2.00)填空项 1:_49.下面是一个栈类的模板,其中 p
21、ush函数将元素 i压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top值为 0,栈顶元素在 stacktop-1中,在下面横线处填上适当的语句,完成栈类模板的定义。 templateclass t class Tstack enumsize=1000; T stacksize int top; public: Tsack():top(0) void push(const T T pop() if(top=O)exit(1);/栈空时终止运行 retumU 【15】 /U; ;(分数:2.00)填空项 1:_全国计算机等级考试二级 C+真题 2005年 9月答案解析(总分:98.00,做题时
22、间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析 程序设计并不等于编程,编程只是程序设计中的一小步。测试是程序执行的过程,目的在于发现错误,一般不由开发者测试自己的程序,测试发现错误后,可以立即进行调试并改正错误,经调试改错后还应进行再测试。2.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分查找只适用于顺序存
23、储的有序表。3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素解析:解析 栈是特殊的线性表,在栈顶端既可以插入元素,又可以删除元素:在栈底端不允许插入元素,也不能删除元素。4.下列叙述中正确的是(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D.一个逻辑数据结构可有多种存储结构,且各种
24、存储结构影响数据处理的效率解析:解析 数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构:而采用不同的存储结构,其数据处理的效率是不同的。5.下列描述中正确的是(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发中的技术问题解析:解析 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法,由于软件开发中面临着纷繁复杂的问题,所以强调用工程化的原则去处理。6.在软件设计中,不属于过程设计工具的是(分数
25、:2.00)A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图 解析:解析 DFD(数据流图)是常用的结构化分析工具;NS,PAD,PDL 是常见的过程设计工具,其中NS,PAD 属于图形工具,PDL 属于语言工具。7.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:解析 软件生命周期分为软件定义、软件开发及软件运行维护 3个阶段。维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段。8.数据库设计的根本目标是要解决(分数:
26、2.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:解析 数据库技术的根本目标是要解决数据共享的问题,选项 A)的说法是正确的。9.设有如下关系表: (分数:2.00)A.T=RSB.T=RS C.T=RSD.T=R/S解析:解析 T 是 RS 的结果,关系 T由属于关系 R的或者属于关系 S的元组组成。10.数据库系统的核心是(分数:2.00)A.数据模型B.数据库管理系统 C.数据库D.数据库管理员解析:解析 数据库系统的核心是数据库管理系统(DBMS)。11.下列关于 C+函数的叙述中,正确的是(分数:2.00)A.每个函数至少要具有一个参数B.每个函数
27、都必须返回一个值C.函数在被调用之前必须先声明 D.函数不能自己调用自己解析:解析 从函数的形式看,函数分两类:无参函数:有参函数。当调用无参函数时,主调函数并不将数据传送给被调用函数,且可以带回或不带回函数值。当调用有参函数时,在主调函数和被调用函数之间有参数传递。在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。C+允许函数的递归调用。12.下列关于类和对象的叙述中,错误的是(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析 类可以理解为一种特殊的数据类型,与 int等
28、基本数据类型一样,可以声明多个对象。13.在 C+中,用于实现运行时多态性的是(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数 解析:解析 C+的多态性有两种:函数重载和虚函数。虚函数只有在运行时才能被确定,称为运行时多态。14.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载 C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参解析:解析 一般运算符重载可以采用成员函数方式或友元方式。但成员运算符(.),指向成员的指针,作用域运算符(:),条件运算符(?:)只能采用
29、成员函数方式;重载运算符(+),对应的运算符函数名是operator+();重载一个二元运算符时,只需声明一个形参,左操作数毋须用参数输入,而是通过隐含的this指针传入。15.下列关于模板的叙述中,错误的是(分数:2.00)A.模板声明中的第一个符号总是关键字 templaleB.在模板声明中用括起来的部分是模板的形参表C.类模板不能有数据成员 D.在一定条件下函数模板的实参可以省略解析:解析 C+中有两类模板:类模板和函数模板。类模板中可以有数据成员,所以选项 C)错误。16.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout”是一个输出流对
30、象B.“endl“的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符 解析:解析 ()表示插入运算符;()表示提取运算符。17.下列字符串中,正确的 C+标识符是(分数:2.00)A.foo-1B.2bC.newD.-256 解析:解析 标识符只能由大小写字母,下划线和数字组成,只允许字母或下划线开头,不允许使用系统的关键字作为标识符。18.已知枚举类型定义语句为: enum TokenNAMB,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是(分数:2.00)A.枚举常量 NAME的值为 1 B.枚举常量 NUMBER的值为 1C.枚举常量 MIN
31、US的值为 6D.枚举常量 PRINT的值为 10解析:解析 第一个枚举常量的值为 0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量缺省时,在前一枚举常量值的基准上依次增 1。19.执行语句序列 iht i=0;while(i25)i+=3;couti; 输出结果是(分数:2.00)A.24B.25C.27 D.28解析:解析 i 为 3的倍数,当 i=24时,i25,执行 while的循环体 i+=3,则 i=27,不满足 i25 的条件,结束循环。20.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的
32、是(分数:2.00)A.int vect =30,50,-88; B.int veer =30,50,-88,0,0;C.int vect5=30,50,-88;D.int vect5=30,50,-88,0,0;解析:解析 该定义的数组只有 3个元素。21.有如下程序: #includeiostream void fun(intx=y;y=t; int main() int a2=23,42; fun(a1,a0; std:couta0“,“a1std:ndl; return 0; 执行后的输出结果是(分数:2.00)A.42,42B.23,23 C.23,42D.42,23解析:解析 x
33、为引用,双向的;而 y为值传递,单向的。22.有如下类声明: class Foo int bar; ; 则 Foo类的成员 bar是(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员 D.私有成员函数解析:解析 默认属性为 private。23.有如下类声明: class MyBASE int k; public: void set(iht n)k=n; int get()coastreturn k; ; class MyDERIVED:pnoted My BASE protected: int j; public: void set(int m,int n)MyBASE:se
34、t(m);j=n; int get()constreturn MyBASE:get()+j; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3 C.2D.1解析:解析 protected 派生:pnvate-不可见;protected-private;public-protected。解析:解析 重载的运算符是二元的。25.有如下函数模板定义: templateclass t T func(Tx,Ty)return x*x+y*y; 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.fu
35、nc(3,5.5); D.funcint(3,5.5)解析:解析 模板类型参数歧义。26.有如下程序: #includeiostream using namespace std; int main() cout.fill(*) cout.width(6); cout.fill(#) cout123endl; return 0; 执行后的输出结果是(分数:2.00)A.#123 B.123#C.*123D.123*解析:解析 cout 函数的 fill()方法用来填充不足宽度:width()用来指定输出宽度。27.在下列函数原型中,可以作为类 AA构造函数的是(分数:2.00)A.void AA
36、(in;B.int AA();C.AA(inconst;D.AA(in; 解析:解析 构造函数不能标以返回类型,即使 void也不行。它的返回值类型是隐含的,是指向类本身的指针。28.下列关于 this指针的叙述中,正确的是(分数:2.00)A.任何与类相关的函数都有 this指针B.类的成员函数都有 this指针C.类的友元函数都有 this指针D.类的非静态成员函数才有 this指针 解析:解析 类的静态成员函数不能含有 this指针,因为 this指针是一个指向对象的指针。29.有如下程序: #includeiostream using namespace std; class Test
37、 public: Test()n+=2; Test()n-=3; static int getNum()return n; private: static int n; ; int Tesl:n=1 int main() Test*p=new Test; delete p; cout“n=“Tes:tgetNum()endl; return 0; 执行后的输出结果是(分数:2.00)A.n=0 B.n=1C.n=2D.n=3解析:解析 本题考查构造函数和析构函数的调用。类的静态成员和成员函数是类属,不依赖于对象实例存在。30.有如下程序: #includeiostream using name
38、space std; class A public: A()cout“A“; ;class Bpublic:B()cout“B“;); class C:public A B b; public: C()cout“C“; ; int main()Cobj;retum 0; 执行后的输出结果是(分数:2.00)A.CBAB.BACC.ACBD.ABC 解析:解析 本题考查基类构造函数,数据成员构造函数的调用次序。系统首先要通过派生类的构造函数调用基类的构造函数,对基类成员初始化:然后对派生类中新增的成员初始化。31.有如下类声明: class XA int x; public: XA(int n)
39、x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是(分数:2.00)A.XB:XB(int a,int :x(,y(B.XB:XB(int a,int :XA(,y( C.XB:XB(int a,int :x(,XB(D.XB:XB(int a,int :XA(,XB(解析:解析 派生类的构造首先要调用基类的构造函数,对基类成员初始化;然后对派生类中新增的成员初始化。格式为:派生类名(构造函数形参表):基类构造函数(形参表)。32.有如下程序: #includeiostream usin
40、g namespace std; class BASE public: BASE()cout“BASE“; ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVEDx;retum 0; 执行后的输出结果是(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE 解析:解析 本题考查基类析构函数和派生类析构函数的调用次序。33.在表达式 x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是(分数:2.00)A
41、.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数 D.operator+有一个参数,operator*有一个参数解析:解析 本题考查运算符重载。运算符可重载为成员函数,也可重载为友元函数。当重载为成元函数时,运算符重载函数的形参个数要比运算符操作数的个数少一个,当重载为友元函数时,其参数个数应与操作数个数相同。34.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin是一个输入流对象 B.可以用 ifstream定义一个输出流对象C.执行语句序列 c
42、har*y=“PQMN“;couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cigetline(x,80);时,若键入 Happy new year 则 x中的字符串是“Happy“解析:解析 选项 C)应该输出字符串“PQMN”,选项 D)x中的字符串是“Happy new year”。35.有如下程序: #includeiostream using namespace std; class AA int n; public: AA(int k);n(k) intget()return n; int get()constreturn n+1; ; int main
43、() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是(分数:2.00)A.55B.57 C.75D.77解析:解析 本题考查 const对象。一个 const对象只允许被声明为 const的方法函数引用。二、B填空题/B(总题数:14,分数:28.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是U 【1】 /U。(分数:2.00)填空项 1:_ (正确答案:数据库系统)解析:解析 数据管理技术的发展过程分为人工管理,文件系统以及数据库系统三个阶段,数据独立性最高
44、的阶段是数据库系统。37.算法复杂度主要包括时间复杂度和 【2】 复杂度。(分数:2.00)填空项 1:_ (正确答案:空间)解析:解析 算法的复杂度主要包括时间复杂度和空间复杂度。38.在进行模块测试时,要为每个被测试的模块另外设计两块:驱动和承接模块(桩模块)。其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_ (正确答案:驱动模块)解析:解析 驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。39.一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。(分数:2.00)填空项 1:_ (正确
45、答案:32)解析:解析 对于深度为 6的二叉树来说,第 6层的结点数最多为 26-1=32。40.数据结构分为逻辑结构和存储结构,循环队列属于工 【5】 结构。(分数:2.00)填空项 1:_ (正确答案:存储)解析:解析 循环队列是队列的一种顺序存储结构。41.下列函数的功能是判断字符串 str是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char*str) int i=o,i=0; while(strj)U 【6】 /U; for(j-;iji+,j-); return iU 【7】 /Uj; (分数:2.00)填空项 1:_
46、 (正确答案:【6】i+)解析:【7】= 解析 从字符串两端依次比较各字符是否相等,for 循环结束后,当 i=j 表明字符串对称,否则不对称。42.执行语句序列 int x=10, coutX-rendl; 输出结果为U 【8】 /U。(分数:2.00)填空项 1:_ (正确答案:10-10)解析:解析 考察对引用的定义的理解。43.下列程序的输出结果为 Object id=0 Obiect id=1 请将程序补充完整。 #includeiostream using namespace std; class Point public: Point(int xx=O,int yy=O)X=xx;Y=yy;c