内容正文:
(
※※请※※不※※要※※在※※装※※订※※线※※内※※答※※题※※
) (
…………○…………外…………○…………装…………○…………订…………○…………线…………○…………
)
(
…………○…………内…………○…………装…………○…………订…………○…………线…………○……………………○…………内…………○…………装…………○…………订…………○…………线…………○…………
) (
学校:___________姓名:___________班级:___________考号:___________
) (
…………○…………外…………○…………装…………○…………订…………○…………线…………○…………
)
保密★启用前
选修1 数据与数据结构 (月考模拟卷)
考试分数:100分;考试时间:90分钟
姓名: 班级: 分数:
(满分:100分 时间:90分钟)
题型
选择题
非选择题题
总计
题数
12题
3题
15题
分数
100分
得分
1. 选择题
1. 数组a的数据存放情况如下表,则当i=2时,a[6/i-1]的值是( )。
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
a[7]
a[8]
48
52
98
26
47
22
82
33
A.98 B.26 C.52 D.22
2. 线性结构是数据元素之间存在一种( )关系
A.一对多 B.多对多 C.多对一 D.一对一
3 . 半结构化数据包括( )
A.Excel表格
B.银行账户上的消费记录
C.检查身体后得到的体检报告
D.HTML文档
4 . 以下关于数据压缩的叙述中,正确的是
A.如果一幅图像的部分像素色彩值的排列为:"红红红红红蓝蓝蓝绿绿绿绿",经某种方法压缩后变为"红5蓝3绿4",这种压缩称为有损压缩
B.压缩包中的文件无需解压就能使用
C.常见的有损压缩软件有WinRAR和WinZip
D.运用有损压缩方式对视频进行压缩时会损失一些画面质量
5 . 在C语言的变量类型说明中,int,char,float等类型的长度是( )
A.固定的 B.由用户自己定义的
C.任意的 D.与机器字长有关的
6 . 在Python中可以使用列表模拟单向链表,如链表中的节点p,a[p] [0]存储p节点的数据,a[p][1]存储p指向后继节点的指针。若要在p节点之后插入新的节点x(x作为p的新后继节点),需要执行的语句是( )
A.a[p][1]=x; a[x][1]=a[p][1] B.a[x][1]=a[p][1]; a[p][1]=x
C.a[p][0]=x; a[x][0]=a[p][0] D.a[x][0]=a[p][0]; a[p][0]=x
7 . 使用Python的二维列表来模拟单向链表,如下代码创建一个拥有4个节点的链表a
a=[["cat",1],[ "dog",2],[ "pig",-1],[ "rabbit",0]]
head=3
依次输出各节点数据域的值,内容为( )
A."cat","dog","pig","rabbit" B."pig","rabbit","cat","dog"
C."pig","dog","cat","rabbit" D."rabbit","cat","dog","pig"
8 . 有如下程序段:
a=[[2,2,1],[8,0,4],[3,3,0],[6,-1,2],[8,1,-1]]
ans=head=3
p=a[head][2]
while p!=-1:
if a[ans][0] < a[p][0] :
ans=p
p=a[p][2]
print(ans,a[ans][0],sep=",")
则程序运行后,下列说法正确的是( )
A.链表数据值依次为2->8->3->6->8
B.程序输出结果为4,8
C.a[0][2]的值为1,双向链表a的头节点数据值为2
D.a[1][1]的值为0,双向链表a的尾节点数据值为8
9 . 有一组含有9个元素的有序链表:1->3->5->6->8->11->15->18->20,现为该链表增设关键节点,建立索引,下列说法不正确的是( )
A.一级索引中的关键节点为1,5,8,15,20
B.二级索引中的关键节点为1,8,20
C.若要在建立的一级索引的基础上插入元素7,则需要比较3次即可找到7插入的位置
D.若要在建立的二级索引的基础上查找元素18,则需要比较4次就可以找到元素18
10 . 有个列表n=[‘水果’, ‘砂糖橘’,’苹果’, ‘橙子’],请把列表中’苹果’改为’橘子’,选出修改正确的语句( )
A.n[2]= ‘橘子’ B.n[‘橘子’] C.n[3]= ‘橘子’ D.list[‘橘子’]
11 . 下列说法或用法正确的是( )
A.OPTION BASE 6
B.OPTION BASE 语句的位置可以任意
C.DIM A(6,3 TO 7)定义的是二维数组
D.数组元素的下标不能是负数。
12 . 定义数组 a(1 to 5,5)后,下列哪一个数组元素不存在( )。
A.a(1,1)
B.a(1,5)
C.a(0,1)
D.a(5,5)
13 . 设有数组定义语句:Dim a(5) As Integer,Listl 为列表框控件。下列给数组元素赋值的语句,错误的是( )。
A.a(3)=3
B.a(3)=VAL(InputBox(“InputData”)
C.a(3)=Listl.ListIndex
D.a=Array(1,2,3,4,5,6)
二.非选择题
14.请填一下以下内容。
结构类型
数据(节点)之间的关系
生活中相应结构应用举例
队列(线性)
(1)________________
(2)_________________
树
(3)________________
(4)_________________
图
(5)________________
(6)_________________
15. 将一组数据按大小有序排列,处在最中间位置的数叫做中位数(注:当数据奇数个时中位数为最中间的数,偶数个时中位数为最中间两个数的平均数)。中位数用来描述一组数据的中等水平和集中趋势。某个学习小组的成绩以单向链表的形式有序地存储在列表score中,为了分析成绩分布情况,计算平均分和中位数,小明编写Python程序如下所示,请回答下列问题。
(1)27、711、731、620、985中,排列求得的中位数为____。
(2)请在划线处填入合适的代码。
(3)程序中加框处代码有错,请改正。____
score=[[69,5],[75,7],[93,6],[72,0],[63,8],[64,4],[83,1],[73,3],[51,-1],[99,2]]
num=0;sum=0
head=9
fast=slow=head
while
num+=1
sum+=①____
fast=score[fast][1]
if num%2==0:
slow_p=slow
②____
if num%2==1:
mid=score[slow][0]
else:
mid=(score[slow_p][0]+score[slow][0])/2
print("平均数:",sum/num)
print("中位数:",mid)
原创精品资源学科网独家享有版权,侵权必究!6
原创精品资源学科网独家享有版权,侵权必究!6
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$ (
※※请※※不※※要※※在※※装※※订※※线※※内※※答※※题※※
) (
…………○…………外…………○…………装…………○…………订…………○…………线…………○…………
)
(
…………○…………内…………○…………装…………○…………订…………○…………线…………○……………………○…………内…………○…………装…………○…………订…………○…………线…………○…………
) (
学校:___________姓名:___________班级:___________考号:___________
) (
…………○…………外…………○…………装…………○…………订…………○…………线…………○…………
)
保密★启用前
选修1 数据与数据结构 (月考模拟卷)
考试分数:100分;考试时间:90分钟
姓名: 班级: 分数:
(满分:100分 时间:90分钟)
题型
选择题
非选择题题
总计
题数
12题
3题
15题
分数
100分
得分
1. 选择题
1. A
解析:当i=2时,表达式变为a[6/2-1],计算得到a[3],根据表格数据,a[3]的值是98。所以答案是A.98。
2. D
解析:线性结构中,数据元素之间存在一对一的关系,因为每个元素只有一个直接前驱和一个直接后继(除了首尾元素)。答案是D.一对一。
3. D
解析:半结构化数据通常是指有一定结构但并不严格遵循特定格式的数据,比如HTML文档,它有标签等结构信息,但不如数据库那样严格规范。答案是D.HTML文档。
4. D
解析:选项D是正确的。有损压缩确实会在压缩过程中丢失一些信息,从而影响原始数据的质量,比如对视频进行有损压缩时可能会损失画面质量。
5. D
解析:C语言中int、char、float等基本类型的长度通常是固定的,但这个固定长度与具体的机器架构有关。例如,在大多数现代系统上,int通常是32位,char是8位,float也是32位。答案是D.与机器字长有关的。
6. B
解析:要在节点p之后插入新节点x,并让x成为p的新后继节点,首先需要保存p当前的后继节点到x的下一个指针,然后更新p的下一个指针为x。所以正确的操作是B.a[x][1]=a[p][1]; a[p][1]=x。
7. C
解析:代码中head指向3,意味着从a[3]开始遍历链表。根据链表的定义,输出应该是从a[3]开始,其后续节点依序是a[0]、a[1]、a[2]。因此,输出的顺序是"pig","dog","cat","rabbit"。答案是C."pig","dog","cat","rabbit"。
8. B
解析:通过分析循环体,可以发现这是一个寻找链表中最大值节点的过程,ans用于记录最大值所在位置。循环结束时,ans为最大值节点的位置,a[ans][0]为最大值。根据初始条件和链表数据,最大值是8,位于第4个位置(索引为3)。所以输出是4,8。正确答案是B.程序输出结果为4,8。
9. D
解析:选项D不正确。二级索引加快了查找速度,对于查找18,只需比较到二级索引的8,然后沿链表向后找到18,最多需要3次比较(找到8,再经过两个节点找到18),而不是4次。
10. A
解析:列表中'苹果'的位置是索引2,要将其改为'橘子',正确的语句是n[2]='橘子'。因此,答案是A.n[2]= ‘橘子’。
11. C
解析:在这些选项中,C.DIM A(6,3 TO 7)定义的是二维数组,语法是正确的。其他选项要么语法错误,要么不符合BASIC语言的规范。因此,答案是C.DIM A(6,3 TO 7)定义的是二维数组。
12. C
解析:在数组a(1 to 5,5)中,不存在下标为0的元素,因此C.a(0,1)是不存在的。
13. D
解析:对于数组定义语句Dim a(5) As Integer,a是一个包含6个元素的整型数组(索引从0到5)。选项D.a=Array(1,2,3,4,5,6)试图用一个包含6个元素的数组初始化a,但由于a已经被定义为只有6个元素,而Array函数生成了一个包含6个元素的数组,这将导致数组越界。因此,答案是D.a=Array(1,2,3,4,5,6)。
二.非选择题
14.填写结构类型及其特点和生活中的应用实例:
结构类型
数据(节点)之间的关系
生活中相应结构应用举例
队列(线性)
(1)先进先出(FIFO)
(2)打印队列,顾客排队等候服务
树
(3)层次结构,每个节点可以有多个子节点
(4)组织结构图,文件系统目录结构
图
(5)任意节点之间可以有边相连,表示多对多关系
(6)社交网络,城市间的道路网络
15. (1)计算中位数:
首先将给定的成绩列表按大小排序:27、620、63、64、69、711、720、731、83、985。
由于有10个数据,是偶数个,中位数为第5个数和第6个数的平均,即(711+720)/2 = 715.5。
(2)和(3)修改Python程序中的错误并填写缺失部分:
综上所述:
(1)中位数为715.5。
(2)和(3)中程序的修改如上述代码所示,主要是添加了while循环的终止条件,并在循环体内正确累加成绩值以及更新`slow`指针。
原创精品资源学科网独家享有版权,侵权必究!6
原创精品资源学科网独家享有版权,侵权必究!6
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$