1、二级 C+笔试 45 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列关于 C+函数的叙述中,正确的是_ 。(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己2.对于语句 coutend1x;中的各个组成部分,下列叙述中错误的是_ 。(分数:2.00)A.“cout”是一个输出流对象B.“end1”的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符3.下列关于模板的叙述中,错误的是_ 。(分数:2.00)A.模板声明中的第一个符号总是关键字
2、 templateB.在模板声明中用和,括起来的部分是模板的形参表C.类模板不能有数据成员D.在一定条件下函数棋板的实参可以省略4.数据库设计的根本目标是要解决_ 。(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护5.在软件设计中,不属于过程设计工具的是_ 。(分数:2.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图6.有如下程序: #include iostream using namespace std; class AA int n; public: AA(int k):n(k) int get() return n; i
3、nt get()const retnm n+1; int main() AA a(5); const AA b(6); cout a.get()b.get(); return 0; 执行后的输出结果是_ 。(分数:2.00)A.55B.57C.75D.777.下列关于运算符重载的叙述中,正确的是_ 。(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参8.有如下类声明: class XA int x; public: XA(int n) x=n; ; class XB:
4、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(iD.XB:XB(int a,int :XA(,XB(9.在 C+中,用于实现运行时多态性的是_ 。(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数10.有如下程序: #include iostream using namespace std; class BASE public
5、: BASE() cout“BASE“; ; class DERIVED: public BASE public: DERIVED() cout;“DERIVED“; ;int main()DERIVED x; return 0; 执行后的输出结果是_ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE11.要定义一个具有 5 个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是_ 。(分数:2.00)A.int vect =30,50,-88;B.int vect=30,50,-88
6、,0,0;C.int vect 5=30,50,-88;D.int vect 5=30,50,-88,0,0;12.数据库系统的核心是_ 。(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员14.下列叙述中正确的是_ 。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率15.下列关于 this 指针的叙述中,正确的是_ 。(分数:2.00)A.任何与类相关的函数都有
7、this 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针16.在下列函数原型中,可以作为类 AA 构造函数的是_ 。(分数:2.00)A.void AA(in;B.int AA();C.AA (inconst;D.AA(in17.设有如下关系表: RST _ _ _ A B C A B C A B C 1 1 2 3 1 3 1 1 2 2 2 3 2 2 3 3 1 3 则下列操作中正确的是_ 。(分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S18.有如下程序: #includeiostream us
8、ing namespace std; int main() cout.fill(*); cout.width (6); cout.fill(#); cout123end1; return 0; 执行后的输出结果是_ 。(分数:2.00)A.#123B.123#C.*123D.123*19.有如下函数模板定义: templateclass T T func (T x,T y)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);20.有如下程
9、序: #include iostream void fun (inty=t; int main() int a 2=23,42; fun (a1,a0; std:couta0”,”a1std: ond1; retum0; 执行后的输出结果是_ 。(分数:2.00)A.41,41B.23,23C.13,42D.42,2321.有如下类声明: class MyBASE int k; public: void set(int n) k=n; int get()const return k; ; class MyDERIVED: protected MyBASE Protected: int j; p
10、ublic: void set(int m,int n)MyBASE: set(m);j=n; int get () const return MyBASE: get ()+j; ;则类MyDERIVED 中保护的数据成员和成员函数的个数是_ 。(分数:2.00)A.4B.3C.2D.122.下列叙述中正确的是_ 。(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试23.下列数据结构中,能用二分法进行查找的是_ 。(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表24
11、.有如下程序: #include iostream using namespace std; class Test public: Test() n+=2; Test() n-=3; static int getNum()retum n; private: static int n; ; int Test: n=1; int main() Test*p=new Test; delete p; cout“n=“Test: getNum()end1; return 0; ;执行后的输出结果是_.(分数:2.00)A.n=0B.n=1C.n=2D.n=325.下列叙述中正确的是_ 。(分数:2.00
12、)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令26.在表达式 x+y*z 中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是_ 。(分数:2.00)A.operator+有两个参数,operator*有两个参数B.opezator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数27.下面关于 C+流的叙述中,正确的是_ 。(分数:2.00)A.ci
13、n 是一个输入流对象B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char*y=“PQMN”;couty;将输出字符串“PQMN”的地址D.执行语句序列 char x80;cigetline (x,80);时,若键入 Happy new year,则 x 中的字符串是 “Happy”,28.下列字符串中,正确的 C+标识符是_ 。(分数:2.00)A.foo-1B.2bC.newD.25629.已知枚举类型定义语句为:enum TokenNAME,NUMBER,PLUS=5,M1NUS,PRINT=10;则下列叙述中错误的是_ 。(分数:2.00)A.枚举常量 NAME 的
14、值为 1B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 1030.有如下类声明: class Foo int bar;则 Foo 类的成员 bar 是_ 。(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数31.有如下程序: #include iostream using namespace std; class A public: A() cout“A“; ; class B public:B() cout“B“; class C: public A Bb; public: C() cout“C“;
15、; int main() C obj;return 0;执行后的输出结果是 _。(分数:2.00)A.CBAB.BACC.ACBD.ABC32.执行语句序列: int i=0;while (i25)i+=3;couti; 输出结果是_ 。(分数:2.00)A.24B.25C.27D.833.下列关于栈的描述正确的是_ 。(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素34.下列关于类和对象的叙述中,错误的是_ 。(分数:2.00)A.一个类只能有一
16、个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系35.下列描述中正确的是_ 。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题二、B填空题/B(总题数:14,分数:30.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是U 【1】 /U。(分数:2.00)填空项 1:_37.算法复杂度主要包括时间复杂度和U 【2】 /U复杂度。(分数:2.00)
17、填空项 1:_38.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中U 【3】 /U的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_39.一棵二叉树第六层(根结点为第一层)的结点数最多为U 【4】 /U个。(分数:2.00)填空项 1:_40.数据结构分为逻辑结构和存储结构,循环队列属于U 【5】 /U结构。(分数:2.00)填空项 1:_41.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char *
18、str) int i=0,j=0; while(strj)U 【6】 /U; for(j-; ij i+,j-); return iU 【7】 /Uj; (分数:4.00)填空项 1:_42.执行语句序列: int x=10, coutx-rend1; 输出结果为U 【8】 /U。(分数:2.00)填空项 1:_43.下列程序的输出结果为: Object id=0 Object id=1 请将程序补充完整。 #include iostream using namespace std; class Point public: Point(int xx=0,int yy=0) X=xx;Y=yy;
19、countP+; Point() countP-; int GetX() return X; int GetY() return Y; static void GetC0 cout “Objectid=“countpend1; 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.非成员函数应声明为类的U 【10】 /U函数才能访问这个类的 private 成员。(分数:2.
20、00)填空项 1:_45.派生类中的成员不以直接访问基类中的U 【11】 /U成员。(分数:2.00)填空项 1:_46.下列程序的输出结果为 2,请将程序补充完整。 #include iostream using namespace std; class Base public: U 【12】 /Uvoid fun() cout1; ; class Derived: public Base public: void fun() cout2; ; int main() Base *p=new Derived; p-fun(); delete p; return 0; (分数:2.00)填空项
21、1:_47.请将下列类定义补充完整。 class Base public:void fun() cout“Base: fun“end1; ; class Derived: public Base public: void fun() U 【13】 /U/显式调用基类的 fun 函数 cout“Derived: fun“end1; ;(分数:2.00)填空项 1:_48.多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但口运算符只能作为类的U【14】 /U函数重载。(分数:2.00)填空项 1:_49.下面是一个栈类的模板,其中 push 函数将元素 i 压入栈顶,pop 函数弹
22、出栈顶元素。栈初始为空,top 值为 0,栈顶元素在 stacktop-1)中,在下面横线处填上适当语句,完成栈类模板的定义。 template class T class Tstack enumsize=1000; T stacksize; int top; public: Tstack():top(0) void push(const T T pop() if(top=0) exit(1); / 栈空时终止运行 returnU 【15】 /U; ;(分数:2.00)填空项 1:_二级 C+笔试 45 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:
23、70.00)1.下列关于 C+函数的叙述中,正确的是_ 。(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明 D.函数不能自己调用自己解析:解析 函数可以自己调用自己,而且可以没返回值,可以具有多个参数。2.对于语句 coutend1x;中的各个组成部分,下列叙述中错误的是_ 。(分数:2.00)A.“cout”是一个输出流对象B.“end1”的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符 解析:解析 “”称为插入运算符。3.下列关于模板的叙述中,错误的是_ 。(分数:2.00)A.模板声明中的第一个符号总是关键字 tem
24、plateB.在模板声明中用和,括起来的部分是模板的形参表C.类模板不能有数据成员 D.在一定条件下函数棋板的实参可以省略解析:解析 类模板可以有自己的数据成员,例如 templateclass T。4.数据库设计的根本目标是要解决_ 。(分数:2.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:解析 数据库是用来解决数据共享问题的。5.在软件设计中,不属于过程设计工具的是_ 。(分数:2.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图 解析:解析 软件设计的相关内容。6.有如下程序: #include iostream using
25、 namespace std; class AA int n; public: AA(int k):n(k) int get() return n; int get()const retnm n+1; int main() AA a(5); const AA b(6); cout a.get()b.get(); return 0; 执行后的输出结果是_ 。(分数:2.00)A.55B.57 C.75D.77解析:解析 const 是可以标志运算符重载的,所以选择 B。7.下列关于运算符重载的叙述中,正确的是_ 。(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员
26、函数重载 C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参解析:解析 运算符重载的相应内容。8.有如下类声明: 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(iD.XB:XB(int a,int :X
27、A(,XB(解析:解析 构造函数的定义过程中,初始化基类成员,只能通过调用基类构造函数,所以答案选择B。9.在 C+中,用于实现运行时多态性的是_ 。(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数 解析:解析 多态性的相关概念。10.有如下程序: #include iostream using namespace std; class BASE public: BASE() cout“BASE“; ; class DERIVED: public BASE public: DERIVED() cout;“DERIVED“; ;int main()DERIVED x; retur
28、n 0; 执行后的输出结果是_ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE 解析:解析 析构函数的调用顺序是,先调用派生类的析构函数,再调用基类的析构函数。11.要定义一个具有 5 个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是_ 。(分数:2.00)A.int vect =30,50,-88; B.int vect=30,50,-88,0,0;C.int vect 5=30,50,-88;D.int vect 5=30,50,-88,0,0;解析:解析 5 个元素的一维
29、数组 vect,而 A 构造的是 3 个元素的一维数组。12.数据库系统的核心是_ 。(分数:2.00)A.数据模型B.数据库管理系统 C.数据库D.数据库管理员解析:解析 数据库系统的相关概念。解析:解析 重载的是一个二元运算符“一”,所以此题选择 A。14.下列叙述中正确的是_ 。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 解析:解析 数据的逻辑结构和存储结构的相关概念。15.下
30、列关于 this 指针的叙述中,正确的是_ 。(分数:2.00)A.任何与类相关的函数都有 this 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针 解析:解析 类的非静态成员函数才有 this 指针。16.在下列函数原型中,可以作为类 AA 构造函数的是_ 。(分数:2.00)A.void AA(in;B.int AA();C.AA (inconst;D.AA(in 解析:解析 如果作为类 AA 构造函数不能有返回值,排除答案 A、B,而且不能是常函数,所以选择 D。17.设有如下关系表: RST _ _ _ A B C
31、 A B C A B C 1 1 2 3 1 3 1 1 2 2 2 3 2 2 3 3 1 3 则下列操作中正确的是_ 。(分数:2.00)A.T=RSB.T=RS C.T=RSD.T=R/S解析:解析 数据逻辑操作的相关内容。18.有如下程序: #includeiostream using namespace std; int main() cout.fill(*); cout.width (6); cout.fill(#); cout123end1; return 0; 执行后的输出结果是_ 。(分数:2.00)A.#123 B.123#C.*123D.123*解析:解析 根据定义,开始
32、设置的 coutfill(*),被后面的 coutfill(#)替代,所以cout 的输出结果是#123。19.有如下函数模板定义: templateclass T T func (T x,T y)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);解析:解析 在 C 的调用过程中,func(3,5.5)由于参数的类型不一致,不能判别两个参数的类型,发生错误。20.有如下程序: #include iostream void fun (i
33、nty=t; int main() int a 2=23,42; fun (a1,a0; std:couta0”,”a1std: ond1; retum0; 执行后的输出结果是_ 。(分数:2.00)A.41,41B.23,23 C.13,42D.42,23解析:解析 a0做的是地址传递,所以执行函数后值发生变化,而 a1做的是值传递,值并没有发生变化,所以此题应选择 A。21.有如下类声明: class MyBASE int k; public: void set(int n) k=n; int get()const return k; ; class MyDERIVED: protecte
34、d MyBASE Protected: int j; public: void set(int m,int n)MyBASE: set(m);j=n; int get () const return MyBASE: get ()+j; ;则类MyDERIVED 中保护的数据成员和成员函数的个数是_ 。(分数:2.00)A.4B.3C.2 D.1解析:解析 由于是保护继承,基类的公有成员变成保护成员,set(int n)变成保护成员函数,而 get()const 被重载,为公有成员,j 为新定义的保护成员,所以数据成员和成员函数的个数是 C。22.下列叙述中正确的是_ 。(分数:2.00)A.程
35、序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析 程序设计的相关概念。23.下列数据结构中,能用二分法进行查找的是_ 。(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分法需要有序的线性表。24.有如下程序: #include iostream using namespace std; class Test public: Test() n+=2; Test() n-=3; static int getNum()retum n; private: static
36、 int n; ; int Test: n=1; int main() Test*p=new Test; delete p; cout“n=“Test: getNum()end1; return 0; ;执行后的输出结果是_.(分数:2.00)A.n=0 B.n=1C.n=2D.n=3解析:解析 经过一次构造函数和析构函数的调用后,执行后的输出结果是 A。25.下列叙述中正确的是_ 。(分数:2.00)A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:解析 软件的相关内容。26.在表达式 x+y
37、*z 中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是_ 。(分数:2.00)A.operator+有两个参数,operator*有两个参数B.opezator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数 D.operator+有一个参数,operator*有一个参数解析:解析 operator+ 作为成员函数重载,本身便是一个参数,所以只有一个参数,而*是作为非成员函数重载,需要两个参数,此题选择 C。27.下面关于 C+流的叙述中,正确的是_ 。(分数:2.00)A.cin 是一个输入流对象 B
38、.可以用 ifstream 定义一个输出流对象C.执行语句序列 char*y=“PQMN”;couty;将输出字符串“PQMN”的地址D.执行语句序列 char x80;cigetline (x,80);时,若键入 Happy new year,则 x 中的字符串是 “Happy”,解析:解析 cin 是一个输入流对象。28.下列字符串中,正确的 C+标识符是_ 。(分数:2.00)A.foo-1B.2bC.newD.256 解析:解析 标识符必须以下划线或者字母开头。29.已知枚举类型定义语句为:enum TokenNAME,NUMBER,PLUS=5,M1NUS,PRINT=10;则下列叙
39、述中错误的是_ 。(分数:2.00)A.枚举常量 NAME 的值为 1 B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 10解析:解析 枚举常量第一个值默认为零,所以 NAME=0。30.有如下类声明: class Foo int bar;则 Foo 类的成员 bar 是_ 。(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员 D.私有成员函数解析:解析 类成员的默认属性为私有数据成员。31.有如下程序: #include iostream using namespace std; class A public: A(
40、) cout“A“; ; class B public:B() cout“B“; class C: public A Bb; public: C() cout“C“; ; int main() C obj;return 0;执行后的输出结果是 _。(分数:2.00)A.CBAB.BACC.ACBD.ABC 解析:解析 在构造派生类对象时,基类的构造函数要优于派生类的构造函数先执行,所以 D 为正确答案。32.执行语句序列: int i=0;while (i25)i+=3;couti; 输出结果是_ 。(分数:2.00)A.24B.25C.27 D.8解析:解析 当 i=27 时跳出循环,所以输
41、出结果应是 27。33.下列关于栈的描述正确的是_ 。(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素解析:解析 栈是一种“先进后出”的数据结构,只能在一端插入或删除元素。34.下列关于类和对象的叙述中,错误的是_ 。(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析 类可以有多个对象。35.下列描述中正确的是_ 。(分数:2.00)A.软件工程只是解
42、决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发中的技术问题解析:解析 软件工程的相关概念。二、B填空题/B(总题数:14,分数:30.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是U 【1】 /U。(分数:2.00)填空项 1:_ (正确答案:数据库系统)解析:解析 数据库是三个阶段中数据独立性最高的阶段。37.算法复杂度主要包括时间复杂度和U 【2】 /U复杂度。(分数:2.00)填空项 1:_ (正确答案:空间)解析:解析 算法的
43、复杂度主要是由时间复杂度和空间复杂度构成。38.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中U 【3】 /U的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_ (正确答案:驱动模块)解析:解析 驱动模块的作用是传送作用。39.一棵二叉树第六层(根结点为第一层)的结点数最多为U 【4】 /U个。(分数:2.00)填空项 1:_ (正确答案:32)解析:解析 二叉树第 n 层的结点数为 2 的 n-1 次方。40.数据结构分为逻辑结构和存储结构,循环队列属于U 【5】 /U结构。(分数:2.00)填空项
44、 1:_ (正确答案:存储)解析:解析 循环队列是队列的一种,属于存储结构。41.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char *str) int i=0,j=0; while(strj)U 【6】 /U; for(j-; ij i+,j-); return iU 【7】 /Uj; (分数:4.00)填空项 1:_ (正确答案:6 i+;)解析:7 i=i; 解析 首先计算字符串的长度,然后开始判断 i 是否大于等于 j,如果是则说明是可以逆转的。42.执行语句序列: int x=10, coutx-rend1; 输出结果为U 【8】 /U。(分数:2.00)填空项 1:_ (正确答案:10-10)解析:43.下列程序的输出结果为: Object id=0 Object id=1 请将程序补充完整。 #include iostream using na