1、二级 C+笔试 41 及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.假定 a 为一个数组名,则下面的_ 表示有错误。(分数:2.00)A.aB.*a+C.*aD.*(a+1)2.下面关于二叉树的基本性质说明错误的是_ 。(分数:2.00)A.在二叉树的第 k 层上,最多有 2k(k1)个结点B.深度为 m 的二叉树最多有 2m-1(m1)个结点C.深度为 0 的结点(即叶子结点)总是比深度为 2 的结点多一个D.具有 n 个结点的二叉树,其深度至少为log 2n+1,其中log 2 n表示取不大于 log2n 的最大整数3.当需要使用
2、 ostrstream 流类定义一个流对象并联系一个字符串时,应在文件开始使用 #include 命令,使之包含_ 文件。(分数:2.00)A.iostreahB.stdlihC.strstrehD.fstreaH4.用户进行的测试包括:单元测试、集成测试、验收测试(确认测试)和系统测试。将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试是_ 。(分数:2.00)A.单元测试B.集成测试C.验收测试(确认测试)D.系统测试5.假定 AB 为一个类,则执行“AB a(4),b3,*p2;”语句时,自动调用该类构造函数的次数为_ 。(分数:2.
3、00)A.3B.4C.6D.96.数据库设计的四个阶段是:需求分析、_ 、概念设计和物理设计。(分数:2.00)A.编码设计B.测试阶段C.概念设计D.运行阶段7.下面的_ 函数头格式不正确。(分数:2.00)A.AA(int a,intB.AA(int a,int b=0)C.AA(int a=0,int b=0)D.AA(0,int8.假设 a 为一个整型数组名,则元素 a4的字节地址为_ 。(分数:2.00)A.a+4B.a+8C.a+16D.a+329.假定要对类 AB 定义加号操作符重载成员函数,实现两个 AB 类对象的加法并返回相加结果,该成员函数的声明语句为_ 。(分数:2.00
4、)A.AB operator+(AB &a,AB &;B.AB operator+ (AB &;C.operator+(AB ;D.AB& operator+();10.由 C+目标文件连接而成的可执行文件的缺省扩展名为_ 。(分数:2.00)A.cppB.exeC.objD.lik11.假设一个栈的输入序列为 1,2,3,4,5,则下列序列中不可能是栈的输出序列的是_。(分数:2.00)A.2,3,4,1,5B.5,4,1,3,2C.2,3,1,4,5D.1,5,4,3,212.在下面的二维数组定义中,_ 是正确的。(分数:2.00)A.int a 5;B.int a5C.int a ;D.
5、int a 33;13.结构化分析的常用工具不包括_ 。(分数:2.00)A.数据流图B.数据字典C.判定树D.数据库14.设 x 和 y 均为 bool 量,则 x&y 为真的条件是_ 。(分数:2.00)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假15.int a 10,则下面正确表示数组中的第十个元素的是_ 。(分数:2.00)A.a 9B.a 10C.*(a+10)D.a16.由 C+目标文件连接而成的可执行文件的缺省扩展名为_ 。(分数:2.00)A.cppB.exeC.objD.lik17.下面的_ 保留字不能作为函数的返回类型。(分数:2.00)A.voidB.i
6、ntC.newD.long18.在每个 c+程序中都必须包含这样一个函数,该函数的函数名为_ 。(分数:2.00)A.mainB.MAINC.nameD.function19.假定要对类 AB 定义加号操作符重载成员函数,实现两个 AB 类对象的加法,并返回相加结果,则该成员函数的声明语句为_ 。(分数:2.00)A.AB operator+(AB &a, AB &B.AB operator+(AB &C.opemtor +(ABD.AB &operator+ ()20.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:2.00)A.ios:i
7、nB.ios: outC.ios: inios: outD.没有21.下面的_ 保留字不能作为函数的返回类型。(分数:2.00)A.voidB.intC.newD.long22.设 x 和 y 均为 bool 量,则 xy 为假的条件是_ 。(分数:2.00)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假23.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_ 。(分数:2.00)A.控制流B.加工C.数据存储D.源24.假设 AB 为一个类,pa 为指向该类动态对象数组 px 的指针,该数组长度为 n,则执行“
8、delete pa;”语句时,自动调用该析构函数的次数为_ 。(分数:2.00)A.0B.1C.nD.n+125.在下面的函数声明中,_ 是“void BC (int a,int b);”的重载函数。(分数:2.00)A.int BC (int a,intB.void BC(int a,charC.float BC (int a,int b,int c=0)D.void BC (int a,int b=0)26.假设 AB 为一个类,则该类的拷贝构造函数的声明语句为_ 。(分数:2.00)A.AB&(ABB.AB(ABC.AB(AB &)D.AB(AB *27.当使用 ifstream 流类定
9、义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:2.00)A.iios: binaryB.ios: inios: outC.ios: outD.ios: in28.软件生命周期的三个阶段是_ 、软件开发、运行维护。(分数:2.00)A.软件需求B.软件设计C.软件测试D.软件分析29.在下面的一维数组定义中,_ 有语法错误。(分数:2.00)A.int a=1,2,3B.int a 10=0C.int a D.int a 530.在下面的函数声明中,存在语法错误的是_ 。(分数:2.00)A.void BC (int a,inB.void BD (int,inC.void
10、 BE (int,int =5)D.void BF (int x;int31.下面的概念中,不属于面向对象方法的是_ 。(分数:2.00)A.自顶向下B.继承C.类D.对象32._ 给出了数据库物理存储结构与物理存取方法(分数:2.00)A.概念模式B.外模式C.子模式D.物理模式33.对于结构中定义的成员,其隐含访问权限为_ 。(分数:2.00)A.publicB.protectedC.privateD.static34.下面不属于算法的控制结构的是_ 。(分数:2.00)A.顺序结构B.归纳结构C.循环结构D.选择结构35.结构化程序的基本结构和特点是循环结构、选择结构和_ 。(分数:2.
11、00)A.分支结构B.重复结构C.顺序结构D.多重结构二、B填空题/B(总题数:14,分数:28.00)36.用于输出表达式值的标准输出流对象是U 【1】 /U,用于从键盘上为变量输入值的标准输入流对象是U 【2】 /U。(分数:2.00)填空项 1:_37.执行“cout.char(F,-2)end 1;”语句后得到的输出结果为U 【3】 /U。(分数:2.00)填空项 1:_38.十进制数 28 和 3.26 的类型分别为U 【4】 /U和U 【5】 /U。(分数:2.00)填空项 1:_39.表达式 float(25)/4 int(14.4)%5 的值分别为U 【6】 /U和U 【7】
12、/U。(分数:2.00)填空项 1:_40.逻辑表达式 x3&x10 的相反表达式为U 【8】 /U。(分数:2.00)填空项 1:_41.假定一个二维数组的定义为“int a 35;”,则该数组所含元素的个数为U 【9】 /U,所占字节存储空间的字节数为U 【10】 /U。(分数:2.00)填空项 1:_42.假定 p 所指对象的值为 25,p+1 所指对象的值为 46,则执行“*p+;”语句后,p 所指的对象的值为U 【11】 /U。(分数:2.00)填空项 1:_43.假定 a 是一个一维数组,则 ai对应的存储地址(以字节为单位)为U 【12】 /U。(分数:2.00)填空项 1:_4
13、4.假定动态分配一个类型为 Worker 的具有 n 个元素的数组,并由 P 指向这个动态数组,如果要释放这个数组,则使用的语句为U 【13】 /U。(分数:2.00)填空项 1:_45.在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先U 【14】 /U,后U 【15】 /U,最后为U 【16】 /U。(分数:2.00)填空项 1:_46.假定用户没有给一个名为 AB 的类定义构造函数,则系统为其隐含定义的构造函数为U 【17】 /U。(分数:2.00)填空项 1:_47.在 C+流类库中,根基类为U 【18】 /U。(分数:2.00)填空项 1:_48.C+语言中的每条基
14、本语句以U 【19】 /U作为结束符,每条复合语句以U 【20】 /U作为结束符。(分数:2.00)填空项 1:_49.执行“coutchar(A+2)end1;”语句后,得到的输出结果为U 【21】 /U。(分数:2.00)填空项 1:_二级 C+笔试 41 答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.假定 a 为一个数组名,则下面的_ 表示有错误。(分数:2.00)A.aB.*a+ C.*aD.*(a+1)解析:解析 a 为一个数组名,不能进行 a+操作,所以 B 是错误的。2.下面关于二叉树的基本性质说明错误的是_ 。(分数:2
15、.00)A.在二叉树的第 k 层上,最多有 2k(k1)个结点 B.深度为 m 的二叉树最多有 2m-1(m1)个结点C.深度为 0 的结点(即叶子结点)总是比深度为 2 的结点多一个D.具有 n 个结点的二叉树,其深度至少为log 2n+1,其中log 2 n表示取不大于 log2n 的最大整数解析:解析 在二叉树的第 k 层上,最多有 2k-1 (k1)个结点,而不是 2k (k1)个结点。3.当需要使用 ostrstream 流类定义一个流对象并联系一个字符串时,应在文件开始使用 #include 命令,使之包含_ 文件。(分数:2.00)A.iostreahB.stdlihC.strs
16、treh D.fstreaH解析:解析 strstrea.h 包含了常用的流对象并联系一个字符串,所以在文件开始使用#include 命令包含 strstrea.h。4.用户进行的测试包括:单元测试、集成测试、验收测试(确认测试)和系统测试。将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试是_ 。(分数:2.00)A.单元测试B.集成测试C.验收测试(确认测试)D.系统测试 解析:解析 系统测试:将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试。5.假定 AB 为一个类,则执行“AB
17、 a(4),b3,*p2;”语句时,自动调用该类构造函数的次数为_ 。(分数:2.00)A.3B.4 C.6D.9解析:解析 AB a(4),b 3构造函数构造了 4 次,所以答案选择 B。6.数据库设计的四个阶段是:需求分析、_ 、概念设计和物理设计。(分数:2.00)A.编码设计B.测试阶段C.概念设计 D.运行阶段解析:解析 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和物理设计。7.下面的_ 函数头格式不正确。(分数:2.00)A.AA(int a,intB.AA(int a,int b=0)C.AA(int a=0,int b=0)D.AA(0,int 解析:解析 D 选项第
18、一个参数没有声明参数类型。8.假设 a 为一个整型数组名,则元素 a4的字节地址为_ 。(分数:2.00)A.a+4B.a+8C.a+16 D.a+32解析:解析 a4的字节地址为 a+4*4。9.假定要对类 AB 定义加号操作符重载成员函数,实现两个 AB 类对象的加法并返回相加结果,该成员函数的声明语句为_ 。(分数:2.00)A.AB operator+(AB &a,AB &;B.AB operator+ (AB &; C.operator+(AB ;D.AB& operator+();解析:解析 AB 类的参数应该为引用的形式。10.由 C+目标文件连接而成的可执行文件的缺省扩展名为_
19、 。(分数:2.00)A.cppB.exe C.objD.lik解析:解析 由 C+目标文件连接而成的可执行文件的缺省扩展名为 exe。11.假设一个栈的输入序列为 1,2,3,4,5,则下列序列中不可能是栈的输出序列的是_。(分数:2.00)A.2,3,4,1,5B.5,4,1,3,2 C.2,3,1,4,5D.1,5,4,3,2解析:解析 根据先进后出的原则,输入序列为 1,2,3,4,5,当 5 进入时,不可能先出 1,再出3,2,所以选择 B。12.在下面的二维数组定义中,_ 是正确的。(分数:2.00)A.int a 5;B.int a5C.int a ;D.int a 33; 解析
20、:解析 D 选项符合二维数组的定义。13.结构化分析的常用工具不包括_ 。(分数:2.00)A.数据流图B.数据字典C.判定树D.数据库 解析:解析 数据库属于数据设计阶段的主要任务。14.设 x 和 y 均为 bool 量,则 x&y 为真的条件是_ 。(分数:2.00)A.它们均为真 B.其中一个为真C.它们均为假D.其中一个为假解析:解析 x 与 y 的关系为真,则 x&y 为真的条件是它们均为真。15.int a 10,则下面正确表示数组中的第十个元素的是_ 。(分数:2.00)A.a 9 B.a 10C.*(a+10)D.a解析:解析 数组中的第十个元素是 a9。16.由 C+目标文
21、件连接而成的可执行文件的缺省扩展名为_ 。(分数:2.00)A.cppB.exe C.objD.lik解析:解析 cpp 文件编译之后为 obj 文件,而 obj 文件连接成 exe 文件,所以选择 B。17.下面的_ 保留字不能作为函数的返回类型。(分数:2.00)A.voidB.intC.new D.long解析:解析 new 分配函数。18.在每个 c+程序中都必须包含这样一个函数,该函数的函数名为_ 。(分数:2.00)A.main B.MAINC.nameD.function解析:解析 主函数 main()是 C+程序中必须含有的一个函数。19.假定要对类 AB 定义加号操作符重载成
22、员函数,实现两个 AB 类对象的加法,并返回相加结果,则该成员函数的声明语句为_ 。(分数:2.00)A.AB operator+(AB &a, AB &B.AB operator+(AB & C.opemtor +(ABD.AB &operator+ ()解析:解析 实现两个 AB 类对象的加法,井返回相加结果的成员函数,声明语句应该为 AB operator+(AB &a)。20.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:2.00)A.ios:inB.ios: outC.ios: inios: out D.没有解析:解析 ifstr
23、eam 缺省 in,ofstream 缺省 out,fstream 缺省是 in 或 out。21.下面的_ 保留字不能作为函数的返回类型。(分数:2.00)A.voidB.intC.new D.long解析:解析 new 为分配内存保留字,所以不能为函数的返回类型。22.设 x 和 y 均为 bool 量,则 xy 为假的条件是_ 。(分数:2.00)A.它们均为真B.其中一个为真C.它们均为假 D.其中一个为假解析:解析 如果 xy 为假,则它们均为假,所以选择 C。23.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_
24、 。(分数:2.00)A.控制流 B.加工C.数据存储D.源解析:解析 数据流图的合法图符包括加工、数据存储和源。24.假设 AB 为一个类,pa 为指向该类动态对象数组 px 的指针,该数组长度为 n,则执行“delete pa;”语句时,自动调用该析构函数的次数为_ 。(分数:2.00)A.0B.1 C.nD.n+1解析:解析 由于调用的是 delete pa,而不是 delete pa,所以只析构了一次,调用该析构函数的次数为 1 次。25.在下面的函数声明中,_ 是“void BC (int a,int b);”的重载函数。(分数:2.00)A.int BC (int a,intB.v
25、oid BC(int a,charC.float BC (int a,int b,int c=0)D.void BC (int a,int b=0) 解析:解析 如果重载函数 void BC (int a, int b),则参数个数和返回值等都要与其相同。26.假设 AB 为一个类,则该类的拷贝构造函数的声明语句为_ 。(分数:2.00)A.AB&(ABB.AB(ABC.AB(AB &) D.AB(AB *解析:解析 C 选项拷贝构造函数是引用,符合拷贝构造函数的要求。27.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:2.00)A.ii
26、os: binaryB.ios: inios: outC.ios: outD.ios: in 解析:解析 当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为ios:in。28.软件生命周期的三个阶段是_ 、软件开发、运行维护。(分数:2.00)A.软件需求B.软件设计 C.软件测试D.软件分析解析:解析 软件生命周期的三个阶段是软件设计、软件开发、运行维护。29.在下面的一维数组定义中,_ 有语法错误。(分数:2.00)A.int a=1,2,3B.int a 10=0C.int a D.int a 5解析:解析 C 选项没有初始化,而且没有指定元素的个数,
27、所以是错误的。30.在下面的函数声明中,存在语法错误的是_ 。(分数:2.00)A.void BC (int a,inB.void BD (int,inC.void BE (int,int =5)D.void BF (int x;int 解析:解析 D 选项用“;”(分号)分隔参数,所以存在语法错误。31.下面的概念中,不属于面向对象方法的是_ 。(分数:2.00)A.自顶向下 B.继承C.类D.对象解析:解析 自顶向下是结构化程序设计的特征。32._ 给出了数据库物理存储结构与物理存取方法(分数:2.00)A.概念模式B.外模式C.子模式D.物理模式 解析:解析 概念模式,数据库系统中全局数
28、据逻辑结构的描述,全体用户公共数据视图:外模式,也称子模式与用户模式,是用户的数据视图,也就是用户所见到的数据模式;内模式,又称物理模式,它给出了数据库物理存储结构与物理存取方法。33.对于结构中定义的成员,其隐含访问权限为_ 。(分数:2.00)A.publicB.protectedC.private D.static解析:解析 结构中定义的成员隐含访问权限是 private。34.下面不属于算法的控制结构的是_ 。(分数:2.00)A.顺序结构B.归纳结构 C.循环结构D.选择结构解析:解析 顺序结构、循环结构和选择结构是算法的基本结构。35.结构化程序的基本结构和特点是循环结构、选择结构
29、和_ 。(分数:2.00)A.分支结构B.重复结构C.顺序结构 D.多重结构解析:解析 分支结构实际就是选择结构,重复结构就是循环结构,顺序结构为结构化程序的基本特点之一。二、B填空题/B(总题数:14,分数:28.00)36.用于输出表达式值的标准输出流对象是U 【1】 /U,用于从键盘上为变量输入值的标准输入流对象是U 【2】 /U。(分数:2.00)填空项 1:_ (正确答案:1 cout)解析:2 cin 解析 根据输入输出流对象的定义而得。37.执行“cout.char(F,-2)end 1;”语句后得到的输出结果为U 【3】 /U。(分数:2.00)填空项 1:_ (正确答案:D)
30、解析:解析 根据 ASCII 码的形式F-2 得到的值便是 D。38.十进制数 28 和 3.26 的类型分别为U 【4】 /U和U 【5】 /U。(分数:2.00)填空项 1:_ (正确答案:4 整型)解析:5 浮点型 解析 数据类型的定义。39.表达式 float(25)/4 int(14.4)%5 的值分别为U 【6】 /U和U 【7】 /U。(分数:2.00)填空项 1:_ (正确答案:6 6.25)解析:7 2 解析 首先强制转换类型后除以 4,然后 14.4 强制类型转换再除以 4。40.逻辑表达式 x3&x10 的相反表达式为U 【8】 /U。(分数:2.00)填空项 1:_ (
31、正确答案:x=3x=10)解析:解析 根据逻辑表达式的定义得到。41.假定一个二维数组的定义为“int a 35;”,则该数组所含元素的个数为U 【9】 /U,所占字节存储空间的字节数为U 【10】 /U。(分数:2.00)填空项 1:_ (正确答案:9 15)解析:10 60 解析 所含元素的个数为 15 个,所占存储空间的字节数为 15*4=60 个。42.假定 p 所指对象的值为 25,p+1 所指对象的值为 46,则执行“*p+;”语句后,p 所指的对象的值为U 【11】 /U。(分数:2.00)填空项 1:_ (正确答案:11 46)解析:解析 *P+ 的结合顺序为先执行 p+,然后
32、取值。答案为 46。43.假定 a 是一个一维数组,则 ai对应的存储地址(以字节为单位)为U 【12】 /U。(分数:2.00)填空项 1:_ (正确答案:a+i*sizeof (a0))解析:解析 a+i*sizeof (a 0)为 ai对应的存储地址。44.假定动态分配一个类型为 Worker 的具有 n 个元素的数组,并由 P 指向这个动态数组,如果要释放这个数组,则使用的语句为U 【13】 /U。(分数:2.00)填空项 1:_ (正确答案:delete p;)解析:解析 语句为 deletep;。45.在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先U 【14】
33、 /U,后U 【15】 /U,最后为U 【16】 /U。(分数:2.00)填空项 1:_ (正确答案:14 基类成员)解析:15 类对象成员 16 非类对象成员 解析 派生类的构造顺序。46.假定用户没有给一个名为 AB 的类定义构造函数,则系统为其隐含定义的构造函数为U 【17】 /U。(分数:2.00)填空项 1:_ (正确答案:AB () )解析:解析 默认的构造函数。47.在 C+流类库中,根基类为U 【18】 /U。(分数:2.00)填空项 1:_ (正确答案:ios)解析:解析 ios 为根基类。48.C+语言中的每条基本语句以U 【19】 /U作为结束符,每条复合语句以U 【20】 /U作为结束符。(分数:2.00)填空项 1:_ (正确答案:19 ;或分号)解析:20 或花括号 解析 基本语句以;(或分号)结束,而复合语句以 (或花括号)结束。49.执行“coutchar(A+2)end1;”语句后,得到的输出结果为U 【21】 /U。(分数:2.00)填空项 1:_ (正确答案:C)解析:解析 输出结果为 C。