国家二级计算机等级考试试题及答案大全
备考国家二级计算机等级考试,一套全面的试题及答案至关重要。这份国家二级计算机等级考试试题及答案大全,涵盖了选择题、填空题、判断题、编程题等多种题型,内容涉及计算机硬件系统、操作系统、编程语言、数据库等核心知识板块。不仅能帮助你熟悉考试题型,还能通过答案解析,深入理解知识点,及时查漏补缺,有效提升备考效率。无论是初次参考的新手,还是想要巩固知识的考生,都能从中获益。感兴趣的小伙伴们可以来看一看。
国家二级计算机等级考试试题 1
1.下列叙述中错误的是( )。
A.对于各种特定的输入,算法的时间复杂度是固定不变的
B.算法的时间复杂度与使用的计算机系统无关
C.算法的时间复杂度与使用的程序设计语言无关
D.算法的时间复杂度与实现算法过程中的具体细节无关
正确答案:A
解析:算法的时间复杂度是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。算法所执行的基本运算次数还与问题的规模有关;对应一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。故本题答案为A选项。
2.在长度为n的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且元素出现在每个位置上的可能性是相同的,则在平均情况下需要比较的次数为( )。
A.(n+1)/2
B.n
C.3n/4
D.n/2
正确答案:A
解析:在顺序表中查找,最好情况下第一个元素就是要查找的元素,则比较次数为1;在最坏情况下,最后一个元素才是要找的元素,则比较次数为n。两种情况平均即(1+n)/2.故本题答案为A选项。
3.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是( )。
A.中序序列
B.前序序列
C.后序序列
D.前序序列或后序序列
正确答案:A
解析:前序遍历:访问根结点在访问左子树和访问右子树之前。即先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左子树和右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历:访问根结点在访问左子树和访问右子树两者之间。即先遍历左子树,然后访问根结点,最后遍历右子树。并且在遍历左子树与右子树时,仍然首先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历:访问根结点在访问左子树和访问右子树之后。即首先遍历左子树,然后遍历右子树,最后访问根结点;并且在遍历左子树和右子树时,仍然首先遍历左子树,然后遍历右子树,最后访问根结点。题目给出的二叉树显示是左结点小于根结点,根结点小于等于右结点。如果要使结果为有序序列,那么遍历过程应该是左结点-根结点-右结点,或者右结点-根结点=左结点。根据前面3种遍历特点可知,中序遍历符合要求。故本题答案为A选项。
4.循环队列的存储空间为Q(1:50),初始状态为front=rear=50.经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为( )。
A.1或50且产生上溢错误
B.51
C.26
D.2
正确答案:A
解析:循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。入队运算时,队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素。当front=rear=25时可知队列空或者队列满,此后又插入了一个元素,如果之前队列为空,插入操作之后队列里只有一个元素,如果插入之前队列已满(50个元素),执行插入则会产生溢出错误。故本题答案为A选项。
5.软件生命周期是指( )。
A.软件产品从提出、实现、使用维护到停止使用退役的'过程
B.软件的工程实施阶段
C.软件的开发与管理
D.软件的实现和维护
正确答案;A
解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。故本题答案为A选项。
6.设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ.则按层次输出(从上到下,同一层从左到右)的序列为( )。
A.ABCDEFGHIJ
B.DGHEBIJFCA
C.JIHGFEDCBA
D.CHIJDEFBCA
正确答案:A
7.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为( )。
A.0
B.1
C.48
D.49
正确答案:C
8.设顺序表的长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为( )。
A.820
B.780
C.40
D.41
正确答案:B
9.张编辑休假前正在审阅一部Word 书稿,他希望回来上班时能够快速找到上次编辑的位置,在Word 2010 中最优的操作方法是( )。
A.下次打开书稿时,直接通过滚动条找到该位置
B.记住一个关键词,下次打开书稿时,通过“查找”功能找到该关键词
C.记住当前页码,下次打开书稿时,通过“查找”功能定位页码
D.在当前位置插入一个书签,通过“查找”功能定位书签
正确答案:D
10.在Word 中编辑一篇文稿时,纵向选择一块文本区域的最快捷操作方法是( )。
A.按下Ctrl 键不放,拖动鼠标分别选择所需的文本
B.按下Alt 键不放,拖动鼠标选择所需的文本
C.按下Shift 键不放,拖动鼠标选择所需的文本
D.按Ctrl+Shift+F8 组合键,然后拖动鼠标所需的文本
正确答案:B
11.手写板或者鼠标属于( )。
A.输入设备
B.输出设备
C.中央处理器
D.存储器
正确答案:A
解析:计算机有输入、存储、运算、控制和输出五个部分组成。手写板和鼠标都属于输入设备。故正确答案为A选项。 12.某企业需要在一个办公室构建适用于20多人的小型办公网络环境,这样的网络环境属于( )。
A.城域网
B.局域网
C.广域网
D.互联网
正确答案:B
解析:按照覆盖地理范围和规模不同,可以将计算机网络分为局域网、城域网和广域网。局域网是一种在有限区域内使用的网络,它所覆盖的地区范围较小,一般在几千米之内,适用于办公室网络、企业与学校的主干局网络。故正确答案为B选项。
13.第四代计算机的标志是微处理器的出现,微处理器的组成是( )。
A.运算器和存储器
B.存储器和控制器
C.运算器和控制器
D.运算器、控制器和存储器
正确答案:C
解析:微处理器由运算器和控制器组成。运算器是计算机处理数据形成信息的加工厂,它的主要功能是对数据进行算术运算和逻辑运算。控制器是计算机的指挥中心,它统一控制计算机的各个部件。故正确答案为C选项。
14.在计算机内部,大写字母?G?的ASCII码为?1000111?,大写字母?K?的ASCII码为( )。
A.1001001
B.1001100
C.1001010
D.1001011
正确答案:D
解析:1000111对应的十进制数是71,则?K?的码值是75,转换成二进制位1001011.故正确答案为D选项。
15.以下不属于Word文档视图的是( )。
A.阅读版式视图
B.放映视图
C.Web版式视图
D.大纲视图
正确答案:B
解析:Word提供了5种视图方式,分别为页面视图、阅读版式视图、Web版式视图、大纲视图和草稿,不包括放映视图。故正确答案为B选项。
国家二级计算机等级考试试题 2
1[单选题] 要使标签中的文本靠右显示,应将其Aligment属性设置为
A.0-LeftJustifyB.1-RightJustifyC.2-CenterD.3
参考答案:B
参考解析:0-LeftJustify:文本靠左显示;l-RightJustify:文本靠右显示;2-Center:文本居中显示。
2[单选题] 软件测试的目的是()。
A.评估软件可靠性
B.发现并改正程序中的错误
C.改正程序中的错误
D.发现程序中的错误
参考答案:D
参考解析:软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。
3[单选题] 软件设计中划分模块的一个准则是()。
A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合
参考答案:B
参考解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
4[单选题] 有如下数据定义语句:Dim X,Y As Integer以上语句表明()。
A.x、Y均是整型变量
B.x是整型变量,Y是变体类型变量
C.X是变体类型变量,Y是整型变量
D.x是整型变量,Y是字符型变量
参考答案:C
5[单选题] 在软件开发中,需求分析阶段可以使用的'工具是()。
A.N—s图B.DFD图C.PAD图D.程序流程图
参考答案:B
参考解析:在需求分析阶段可以使用的工具有数据流图(DFD图),数据字典(DD),判定树与判定表,所以选择B。
6[单选题] 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
参考答案:B
参考解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块问互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C与D错误。
7[单选题] 设:a=2,b=8,c=6,d=3,表达式a>bAndNot(C>D.Ord>c的值是
A.1B.OC.TrueD.False
参考答案:D
参考解析:本题中包含的两种运算符的优先级别由高到低依次为:比较运算符、逻辑运算符。其中,逻辑运算符的优先级为:Not(非)→And(与)→Or(或)。And前面表达式的值为False,And后面表达式的值为False,Or后面表达式的值也为False,所以最后输出的也是False。因此,答案为D.。
参考解析:用Dim可同时定义多个变量,但变量要l分别声明其数据类型,如果不声明数据类型,默认是Variant变I体型变量。l本题中,变量x定义时没声明数据类型,所以为Variant型I变量,变量Y是整型变量。故c选项正确。
8[单选题] 当文本框中的内容发生改变时所触发的事件是()。
A.KeyUpB.ChangeC.LostFocus D.GotFocus
参考答案:B
参考解析:文本框中内容有变化时,触发Change事件。故B选项正确。当在文本框中输人数据,松开键盘时触发它的KeyUp事件;文本框失去焦点触发LostFocus事件:获得焦点。触发Got—1%eus事件0
9[单选题]下面程序的执行结果是()。
Private Sub Commandl—Click()a=0
k=1Do While k<4
X=k+kk=k+1
Prim X;
LoopEnd Sub
A.1 4 27B.1 1 1C.1 4 9 D.0 0 0
参考答案:B
参考解析:本题主要考查算术运算符中的幂运算,在程序中x的值为k的k次方的a次方,k的值每次循环都加1,但a的值不变总为0,除0以外的任何数的0次方都是l,因此,在k的值变为4之前会输出三个l。
10[单选题] 设变量X的值是845,则下面语句的输出是
Printx、100+(xMod100)10+x
Mod10
A.17B.548C.845D.485
参考答案:A
参考解析:整除运算(、)的结果是商的整数部分。例如,72表示整除,商为3.5,结果取整数部分3,不进行四舍五入。如果参加整除的操作数是浮点数,则先按四舍五人的原则将它们变成整数,然后再执行整除运算。例如,对于8.5、2,先将8.5变成9再进行整除,商为3.5,结果为4。取余运算(MoD.是求两个整数相除后的余数。如果参加取余运算的操作数是浮点数,则先按四舍五人的原则将它们变成整数,然后再执行取余运算。例如,对于8.52.1,先将8.5变成9,2.1变成2,然后9除以2与1,因此取余结果为1。
算术运算符的优先级:先乘除,后加减;乘方优先于乘除;函数优先于乘方;Mod次于乘除而优先于加减;括号最优先本题中,x100结果为8,(xModl00)10结果为4,xModt0结果为5,所以输出为l7,选项A.正确。
国家二级计算机等级考试试题 3
1[单选题] 一个关系中的各条记录()。
A.前后顺序不能任意颠倒,要按输入的顺序排列
B.前后顺序不能任意颠倒,要按关键字段值的顺序排列
C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同
D.前后顺序可以任意颠倒,不影响数据的实际含义
参考答案:D
参考解析:一个关系就是一张二维表,每个关系有一个关系名。在关系模型中对关系有一定的要求,关系必须具有以下特点:关系必须规范化,表中不能再包含表;在同一个关系中不能出现完全相同的属性(列),即不允许有相同的字段名;关系中不允许有完全相同的元组(行),即不允许有相同的记录;在一个关系中行的次序无关紧要,可任意交换两行的位置;在一个关系中列的次序无关紧要,可任意交换两列的位置。本题D为正确选项。
2[单选题] 在软件开发中,需求分析阶段可以使用的工具是( )。
A.N-S图 B.DFD图 C.PAD图 D.程序流程图
参考答案:B
参考解析:在需求分析阶段可以使用的工具有数据流图(DFD图),数据字典(DD),判定树与判定表,所以选择B)。
3[单选题] 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。
A.16B.10C.6 D.4
参考答案:A
参考解析:根据-y.树的性质3:在任意一课二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为l的结点的个数是25-5-4=16个。
4[简答题]在考生文件夹下完成如下基本操作:
1.通过SQLINSERT语句插入元组(”p7”,”PN7”,1020)到“零件信息”表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.pr9中。
2.通过SQLDELETE语句从“零件信息”表中删除单价小于600的所有记录,并将相应的SQL语句存储在文件tw0.pr9中。一
3.通过SQLUPDATE语句将“零件信息”表中零件号为“p4”的零件的单价更改为l090,并将相应的SQL语句存储在文件three.pr9中。
4.打开菜单文件mymenu.Innx,然后生成可执行的菜单程序mymenu.mpr。
参考解析:
【考点分析】本大题主要考查的知识点是:利用SQL语句对表进行插入、删除、修改等操作,为菜单生成可执行的菜单程序。
【解题思路】对于第l、2,3小题,需先在命令窗口中完成正确的SQL语句的编写并执行,然后检查SQL语句的执行结果,接下来新建题目要求的程序文件,最后将SQL语句复制到新建的程序文件中。生成可执行的菜单程序需先打开菜单文件,然后执行“菜单”菜单中的“生成”命令。
【操作步骤】
(1)打开VisualFoxPr0,在命令窗口输入“INSERTINTO零件信息VALUES(”p7“,”PN7”,l020)”,并按下回车键执行语句。
然后创建—个程序文件0ne.pr9,把代码复制过去并保存。(2)在命令窗口输入“DELETEFROM零件信息WHERE单价<600”,并按下回车键执行语句。
然后创建—个程序文件tw0.prg,把代码复制过去并保存。(3)在命令窗口输入“UPDATE零件信息SET单价=1090WHERE零件号=”p4””,并按下回车键执行语句。
然后创建一个程序文件three.pr9,把代码复制过去并保存。
(4)打开菜单mymenu.mnx后,选择系统菜单中的“菜单”,然后选择“生成”。
【举一反三】第1题的题型还出现手:第l3套一(4)、第89套一(3)、第l7套一(3)、第97套--(2)。第2题的题型还出现于:第89套一(2)、第97套一(4)。第3题的题型还出现于:第87套一(2)、第29套--(2)、第30套一-(4)、第94套一(4)、第97套一(3)。
5[单选题] 与“SELECT*FROM学生INTO DBF A”等价的语句是( )。
A.SELECT*FROM学生INTO A
B.SELECT*FROM学生INTO TABLE A
C.SELECT*FROM学生TO TABLE A
D.SELECT*FROM学生TO DBF A
参考答案:B
参考解析:在SQL查询语句的尾部添加、INTO DBFI
TABLE<表名>可以将查询的结果放入新生成的指定表中。
INTO TABLE A等价于INTO DBF A,因此B)为正确选项。
6[单选题] 在Visual FoxPro中,下面关于索引的正确描述是( )。
A.当数据库表建立索引以后,表中的记录的物理顺序将被改变
B.索引的数据将与表的数据存储在一个物理文件中
C.建立索引是创建一个索引文件,该文件包含有指向表记录的指针
D.使用索引可以加快对表的更新操作
参考答案:C
参考解析:Visual FoxPro索引是由指针构成的文件,这些指针逻辑上按照索引关键字值进行排序。索引文件和表的dbf文件分别存储,并且不改变表中记录的物理顺序。实际上,创建索引是创建一个由指向.dbf文件记录的指针构成的文件。若要根据特定顺序处理表记录,可以选择一个相应的索引,使用索引还可以加速对表的查询操作,但不会加快对表的更新操作。
7[单选题] 在Visual FoxPro中,命令“INDEX ON姓名TO xm”的功能是()。
A.建立一个名为xm.idx的索引文件
B.建立一个名为xm.cdx的索引文件
C.在结构索引文件中建立一个名为xm的索引
D.在非结构索引文件中建立一个名为xm的索引
参考答案:A
参考解析:INDEX ON命令用于在程序中建立索引,执行命令“INDEX ON姓名TO xm”之后可建立一个名为xm的索引文件,索引文件的扩展名为.idx,故本题A选项正确。
8[单选题] 设x=〝123〞,y=123,k=〝Y〞,表达式x+&k的'值是()。
A.123123B.246C.123y D.数据类型不匹配
参考答案:D
参考解析:本题考查宏替换函数:&<字符型变量>[],其功能为替换出字符型变量的内容,即函数值是变量中的字符串。本题数据类型不匹配,无法替换。
9[单选题] 设有读者表:
读者(借书证号C,姓名C,单位C,性别.L,职称C,联系电话C.
查询姓名中含“志”的所有读者的信息,正确的SQL语句是:
A.SELECT*FROM读者WHERE姓名LIKE”+志+”
B.SELECT*FROM读者WHERE姓名=”*志*”
C.sELECT*FROM读者WHERE姓名LIKE”%志%”
D.SELECT*FROM读者WHERE姓名=”%志%”
参考答案:C
参考解析:SQL的基本格式为SELECT—FROM—WHERE,其中SELECT说明要查询的字段,FROM 说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。LIKE为字符串匹配运算符,可与通配符“%”和“一”一起使用。“%”表示与任意多个字符匹配;“一”表示与任意一个字符匹配。查询姓名中含“志”的所有读者的信息可用“LIKE”%志%””表示,C选项正确。
10[单选题] 在表设计器中设置的索引包含在()。
A.单独索引文件中
B.唯一索引文件中
C.结构复合索引文件中
D.非结构复合索引文件中
参考答案:C
参考解析:从索引的组织方式来讲,索引分为三类索引文件:单独的idx索引,是一种非结构索引;采用非默认名的cdx索引,也是非结构索引;与表名同名的cdx索引,是结构复合索引。与表名同名的cdx索引是一种结构复合压缩索引,它是Visual FoxPro数据库中最普通也是最重要的一种索引文件,用表设计器建立的索引都是这类索引。
国家二级计算机等级考试试题 4
1.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
【参考答案】 C
2.下列关于虚基类的描述,错误的是()
A.设置虚基类的.目的是为了消除二义性
B.虚基类的构造函数在非虚基类之后调用
C.若同一层中包含多个虚基类,这些基类的构造函数按它们说明的次序调用
D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
【参考答案】 B
3.下列运算符中,在C++语言中不能重载的是()
A.*
B.>=
C.:
D./
【参考答案】 C
4.下列程序的运行结果是()
#include
class A
{ int a;
public:
A( ) {a=0;}
A(int aa)
{a=aa;
cout<
void main( )
{A x,y(2),z(3);
cout<
A.00
B.23
C.34
D.25
【参考答案】 B
5.判断char型变量c是否为小写字母的正确表达式是()
A.′a′<=c<=′z′
B.(c>+A)&&(c<=z)
C.(′a′>=c)||(′z′<=c)
D.(c>=′a′)&&(c<=′z′)
【参考答案】 D
国家二级计算机等级考试试题 5
1.下列叙述中正确的是( )。
A. 所有数据结构必须有根结点
B. 所有数据结构必须有终端结点(即叶子结点)
C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
D. 没有根结点或没有叶子结点的数据结构一定是非线性结构
【答案】D
【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素"且惟一②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”,④除第一个元素外,其他数据元素均有惟一的“前驱”。所以没有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。答案选择D选项。
2. 以下叙述中错误的是( )。
A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言源程序经编译后生成后缀为的目标程序
【答案】A
【解析】A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把文件与各种库函数连接起来生成一个后缀为的可执行文件。答案选择A选项。
3. C语言主要是借助以下( )功能来实现程序模块化的`。
A. 定义函数
B. 定义常量和外部变量
C. 三种基本结构语句
D. 丰富的数据类型
【答案】A
【解析】C程序的模块化主要通过函数来实现。C语言允许对函数单独进行编译,从而可以实现模块化。答案选择A选项。
4. 有以下程序段:
char ch;
int k;
ch='a';
k=12;
print("%c,%d,",h,ch,k);
printf("k=%d",k);
已知字符a的ASCII码十进制值为97,则执行上述程序段后输出的结果是( )。
A. 因变量类型与格式描述符的类型不匹配输出无定值
B. 输出项与格式描述符个数不符,输出为零值或不定值
C.a,97,12k=12
D. a,97,k=12
【答案】D
【解析】字符变量的值是该字符的ASCII码值,可以参与整型变量所允许的任何运算。"ch='a",%c表示以字符格式输出ch的值,所以输出为a;%d表示以十进制代码的形式输出ch的值,为97;k没有对应的输出格式,不输出。在第二个语句中,首先输出"k=",然后以十进制代码输出k的值,为12。答案选择D选项。
5. 下列叙述中正确的是( )。
A. 栈是“先进先出”的线性表
B. 队列是“先进后出"的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
【答案】D
【解析】有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。A项错误,栈是“先进后出"的线性表B项错误,队列是“先进先出"的线性表;C项错误,循环队列是线性结构的,有序的线性表既可采用顺序存储结构,也可采用链式存储结构。
答案选择D选项。
6. 某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度(根结点在第1层)为( )。
A. 5
B. 40
C.3
D. 2
【答案】B
【解析】二叉树的后序序列为DCBGFEA,则A为根结点。中序序列为DCBAEFG,则DCB为左子树结点,EFG为右子树结点。同理B为C父结点,C为D父结点。根据分析,可画出左子树,同理E为F父结点,F为G父结点。根据分析,可画出右子树,故二叉树深度为4层。答案选择B选项。
7. 设有定义:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,则以下赋值语句中正确的是( )。
A. s[0]=m[1];
B. s=m;
C.s.n=m.n;
D. s[2].x=m[2].x;
【答案】A
【解析】定义了结构体类型数组s,长度为2,结构体类型数组m,长度为2,并对数组m进行了初始化。同类型的结构体可以直接用变量名实现赋值,A项正确;数组名为数组首地址,地址常量之间不可以相互赋值,B项错误;数组名为地址常量不是结构体变量,不能引用成员,C项错误;s[2]与m[2]数组越界,D项错误。答案选择A选项。
8. 关于C语言标识符,以下叙述错误的是( )。
A. 标识符可全部由数字组成
B. 标识符可全部由下划线组成
C. 标识符可全部由小写字母组成
D. 标识符可全部由大写字母组成
【答案】A
【解析】C语言标识符只能由字母、数字、下划线构成,且只能以字母、下划线开头,故答案选择A选项。
9. 以下程序段中的变量已定义为int类型,则
sum=pAd=5;
pAd=sum++,++pAd,pAd++;
printf("%d",pAd);
程序段的输出结果是( )。
A. 6
B. 4
C. 5
D. 7
【答案】D
【解析】自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。执行pAd=sum++,sum++是后置自增,执行完后,pAd=5,sum=6。++pAd和pAd++语句中没有其他运算,即效果相同,pAd分别加1,两句执行完后,pAd7。答案选择D选项。
10. 设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为( )。
A. 5
B. 6
C.m-5
D. m-6
【答案】D
【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用队首指针指向队首元素的前一个位置,因此,从队首指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,最坏情况下需要比较次数为m-6次。答案选择D选项。