




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考点1答案:数据结构与算法(1)B)【解析】算法的时间复杂度是指算法在计算机内执行时所需时间的度量;与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。因此,选项B)的说法是正确的。(2)D)【解析】时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算法在运行过程中临时占用所需存储空间大小的度量。人们都希望选择一个既省存储空间、又省执行时间的算法。然而,有时为了加快算法的运行速度,不得不增加空间开销;有时为了能有效地存储算法和数据,又不得不牺牲运行时间。时间和空间的效率往往是一对矛盾体,很难做到两全。但是,这不适用于所有的情况,也就是说时间复杂度和空间复杂度之间虽然经常矛盾,但是二者不存在必然的联系。因此,选项A)、B)、C)的说法都是错误的。故本题的正确答案是D)。(3)C)【解析】数据处理的最小单位是数据项;由若干数据项组成数据元素;数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。(4)D)【解析】一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等。而采用不同的存储结构,其数据处理的效率是不同的。故本题答案为D)。(5)C)【解析】数据结构概念一般包括数据的逻辑结构、存储结构及数据上的运算集合等。数据的逻辑结构只抽象地反映数据元素之间的逻辑关系,而不管它在计算机中的存储形式。(6)A)【解析】数据结构作为计算机的一门学科,主要研究和讨论以下三个方面的问题: 数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; 在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; 对各种数据结构进行的运算。(7)A)【解析】根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件: 有且只有一个根结点; 每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。(8)D)【解析】线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。(9)A)【解析】如果一个非空的数据结构满足下列两个条件:第一,有且只有一个根结点;第二,每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构。线性结构又称线性表。(10)B)【解析】顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。(11)D)【解析】栈是限定在一端进行插入与删除的线性表。栈是按照“先进后出”的或“后进先出”的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。(12)B)【解析】本题考查的是栈。栈是一种特殊的线性表,线性表可以顺序存储,也可以链式存储,而栈是一种线性表,也可以采用链式存储结构。故本题答案为B)。(13)B)【解析】本题主要考查对于栈的理解。栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的。(14)A)【解析】和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。(15)B)【解析】由栈“后进先出”的特点可知:A)中e1不可能比e2先出,C)中e1不可能比e2先出,D)中栈是先进后出的,所以不可能是任意顺序。B)中出栈过程如下图所示:(16)B)【解析】栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈,所以出栈时一定是先出D,再出C,最后出A。(17)C)【解析】队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先出的特点,它是按“先进先出”的原则组织数据的。(18)C)【解析】考查栈和队列概念的掌握。栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。(19)A)【解析】本题考查的是线性单链表、双向链表与循环链表的结构及其基本运算。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 故本题答案为A)。(20)A)【解析】链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。本题答案为A)。(21)A)【解析】将题中所述的树用图形表示即可得到叶子结点的数目,另外还可用公式n0= a 等价于kk=a-32,又因为相同的大小写字母的ASCII值,小写字母的要比大写字母大32。所以a-32等于A。故选项C)和选项A)是等价的。isalpha()函数的功能是判断一个参数是否为字母。又因为小写字母的ASCII值范围是97122,大写字母的ASCII值范围是6590,当判断是字母且值小于91时一定是大写字母,所以选项D)能够判断出kk中的值为大写字母。(7)C)【解析】本题考查的是逻辑表达式。在C语言中,整型值可以转换为逻辑值,规则是当整型值为0时,它表示逻辑假;当整型值不为0时,它表示逻辑真。所以题目中的while(E)循环是当E等于0时,循环结束,E不等于0时,继续循环。选项C)中,当E等于0时,表达式“E=0”为真继续循环,而E不等于0时,表达式为假则循环结束,这与题目中的条件不等价,故应该选择C)。(8)B)【解析】本题主要考查的是逻辑表达式。选项A)中表达式的意思是:当c等于2或4或6时,表达式的值为真,否则为假。所以不满足题意。选项C)中表达式的意思是:当c大于等于2且小于等于6,并且c不是奇数时,表达式的值为真,否则为假。这样,满足该表达式的c,只能取值为2、4、6了,所以也不满足题意。选项D)中后面一个子表达式(c%2!=1)和选项C)中的!(c%2)是等价的。都是判断c不是奇数。因此也不满足题意。故本题正确答案为B)。(9)B)【解析】本题中a 的值为6,b 的值为8,最后s 的值为8,s*=s 等价于s=s*s。(10)A)【解析】本题考查的是if语句。本题是一道陷阱题,语句if (ab) a=b, b=c; c=a;看上去好像a=b,b=c; c=a;都是if的子句,其实只有第1个分号及其之前的语句a=b, b=c;是if的子句,c=a;是紧接着的语句,跟if的条件无关,始终会被运行的。题目中,a=10,b=50,所以ab条件为假,那么a=b, b=c;不会被执行,而c=a;会被执行。所以最终输出结果是a=10 b=50 c=10,应该选择A)。(11)B)【解析】本题是一个陷阱题,以书写格式来考查考生对if语句的理解。if语句只对紧跟其后的一条语句或语句块产生作用。因此,题目中两条if语句只有a=b;和c=b;是if的子句。第1条if语句中ab为假,所以跳过语句a=b;,执行c=a;后,a=3、b=5、c=3。第2条if语句的判断条件c!=a为假,所以跳过语句c=b;。故最终输出的结果是:3,5,3,应该选择B)。(12)C)【解析】本题考查简单的ifelse 语句。先执行条件if(ab),显然不成立,再执行else 语句。(13)C)【解析】考查if 语句的使用。整个语句都是以ab 为假设的,在ab 的情况下,如果c=d,则y=0;否则y=1。所以答案为选项C)。(14)D)【解析】本题考核的知识点是if语句的用法。选项A)、选项B)和选项C)都是在a的值为0的时候输出y,a不为0的时候输出x,而选项D)是在a为0的时候输出x,a不为0的时候输出y。所以,4个选项中选项D)符合题意。(15)C)【解析】本题考查的知识点是:if与else的配对原则。else语句总是与前面最近的不带else的if相结合,故本题选C)。(16)D)【解析】ifelse 语句的执行过程如下,首先计算if 后面一对圆括号内表达式的值,若表达式的值为非0,执行if 子句,然后跳过else 子句,去执行if 语句后的下一条语句;若表达式的值为0,跳过if 子句,去执行else 子句,接着去执行if 语句后的下一条语句。C 语言的语法规定,else子句总是与前面最近的不带else 的if 匹配,与书写格式无关,本题目的后一个ifelse 相当于嵌套在第一个if 子句里,相当于xy&y0 时,z=0;当x=0 时,z=z+1。(17)D)【解析】本题考查的是ifelse语句。C语言规定else总是与最近的if搭配,因此程序中else与第二个if搭配。程序首先判断(xy),为假,所以跳过后面的整个ifelse语句。执行到输出语句时,x的值仍为1,x+返回x增1之前的结果1,故应该选择D)。(18)C)【解析】本题考查了if语句的嵌套。在嵌套的if语句中,else总是与它上面最近的且不带else的if配对。因此本题的正确答案为选项C)。(19)C)【解析】该题目测验考生对ifelse if 结构的理解,比较简单。x 的值满足x10.0 的关系,所以程序将执行y=1.0/ x;语句,y 的值应该等于0.5。最后,用printf 函数输出时,%f 的输出格式为小数点后保留6 位。(20)A)【解析】本题考查的是条件表达式的嵌套。因为条件运算符的结合方向为“自右至左”,所以表达式ab?a:cd?c:d相当于ab?a:(cd?c:d)。由于a=1,b=4,所以ab的结果为“真”,所以整个表达式的值为a的值1。所以,4个选项中选项A)符合题意。(21)B)【解析】本题考查的知识点是条件表达式。条件运算符?:是C语言中唯一的三目运算符,它的规则是先计算左边运算分量,如果为“真”(非0),则返回中间运算分量的值,否则返回右边运算分量的值。本题中因为ac为“假”,所以第2个表达式的值为k的值2。所以本题应该选择B)。(22)A)【解析】本题考核的知识点是三目运算符“? :”的运用。三目运算表达式的规则为如果“?”前面的表达式的值为真,则取“:”前的表达式的值,否则,取“:”后面表达式的值。分析题目中给出的表达式可知,如果ab和bc同时成立,k=1,否则k=0。所以,4个选项中选项A)符合题意。(23)C)【解析】C 语言中,switch 语句专用于实现多分支结构程序,其特点是各分支清晰且直观。switch 后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同。(24)A)【解析】考查switch 语句的使用。switch 语句的执行过程为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天星幼儿园装修协议
- 肾脏结石的护理
- 业务代理及市场拓展协议
- AIGC实战和智能体开发 课件 项目3 任务1 学习人工智能伦理知识
- 2025年低资源文本分类增强习题(含答案与解析)
- 2025年轻量化部署启动时间测试题(含答案与解析)
- 2025年命名实体链接知识库匹配习题(含答案与解析)
- 2025年模型水印多模态嵌入试题(含答案与解析)
- 阿片类镇痛药进展2讲课文档
- 常见临床危象的急救与护理
- 购物中心行业研究报告2024-2025商业洞察
- AI智能体的感知与理解
- 新闻记者职业资格高频真题含答案2025年
- 《工程制图》课件
- 餐饮行业数字化门店运营与管理效率提升报告
- S7-1200 PLC原理及应用基础 课件 第5章 S7-1200 PLC的模拟量处理
- 2024年四川省古蔺县事业单位公开招聘医疗卫生岗笔试题带答案
- 2025-2030中国驾驶培训行业市场发展前瞻及投资战略研究报告
- 临床医学研究中的数据管理与分析
- 广东工业设计城规划方案(9.2终版)图文
- 成品油行业知识培训课件
评论
0/150
提交评论