浙江省嘉兴市第五高级中学2021-2022学年高二下学期信息技术(选考)期中考试(加试)试卷

资源下载
  1. 二一教育资源

浙江省嘉兴市第五高级中学2021-2022学年高二下学期信息技术(选考)期中考试(加试)试卷

资源简介

登录二一教育在线组卷平台 助您教考全无忧
浙江省嘉兴市第五高级中学2021-2022学年高二下学期信息技术(选考)期中考试(加试)试卷
一、选择题(本大题共5小题,每小题3分,共15分。)
1.(2022高二下·嘉兴期中)以下数据结构中不属于线性结构的是(  )
A.数组 B.链表 C.队列 D.树
【答案】D
【知识点】基本数据结构
【解析】
2.(2022高二下·嘉兴期中)有一入栈序列为“ABCD”,以下以“C”开头的出栈序列中不正确的是(  )
A.CABD B.CBAD C.CBDA D.CDBA
【答案】A
【知识点】基本数据结构
【解析】
3.(2022高二下·嘉兴期中)用Python程序段定义一个3行4列的二维数组(要求先将各元素的值初始化为0,再将第2行第2个元素重新赋值为1),以下程序段可行的是(  )
A.arr=[[0]*3 for j in range(4)]
arr[2][2]=1
B.arr=[[0]*4]*3 arr[1][1]=1
C.arr=[[0] for i in range(4)]
for j in range(3)
arr[1][1]=1
D.arr=[[0,0,0,0] for j in range(3)]
arr[2][2]=1
【答案】C
【知识点】常见数据类型、数组
【解析】
4.(2022高二下·嘉兴期中)以下Python表达式不能取出字符串s=“0086-0573-1180”中的子串“0573”的是(  )
A.s[s.find("-")+1:-5] B.s[6:6+len("0573")]
C.s[-9:9:1] D.s[-6:-10:-1][::-1]
【答案】B
【知识点】运算符、基本运算与表达式
【解析】
5.(2022高二下·嘉兴期中)以下有关栈和队列的说法正确的是(  )
A.栈和队列都是先进后出
B.栈和队列都是先进先出
C.队列元素前面只有一个,后面有多个
D.栈和队列只允许在端点插入和删除数据
【答案】A
【知识点】基本数据结构
【解析】
二、非选择题(本大题共1小题,共15分)
6.(2022高二下·嘉兴期中)在 Python语言中,可以使用列表来模拟链表节点的插入操作。以下Python程序段用二维列表来定义单向链表。如要在该链表中插入节点,可以通过程序来修改相应节点的指针达到目的。
(1)如下图所示,请根据程序补充完整未插入数据前的链表数据区域的值(依次填写)   、   、   、   ,此时链表的头指针的值是   。
(2)实现链表插入的 Python 程序如下,请在程序划线处填入合适的代码。
data=[[8,-1],[7,4],[5,5],[6,0],[1,3],[2,1]] # 定义单向链表
head=2
leng=len(data)
pos=int(input("请输入要插入的位置(0~%d)之间:"%(leng)))
val=int(input("请输入要插入的数据值:"))
data.append([val,leng])
# 插入节点:
p=head
if pos==    : # 加在链表最前面,作为首节点
data[leng][1]=p
head=    # 更新头指针
else:
q=data[p][1] c=0
while cp=q q=data[p][1]
c+=1
    # 更新指针
data[p][1]=leng
#用列表形式来显示插入后的链表:
p=head
s=[]
while
p!=-1:
s.append(   )
p=data[p][1]
print(s)
【答案】(1)2;7;1;6;2
(2)0;leng;data[leng][1]=q;data[p][0]
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】
二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1登录二一教育在线组卷平台 助您教考全无忧
浙江省嘉兴市第五高级中学2021-2022学年高二下学期信息技术(选考)期中考试(加试)试卷
一、选择题(本大题共5小题,每小题3分,共15分。)
1.(2022高二下·嘉兴期中)以下数据结构中不属于线性结构的是(  )
A.数组 B.链表 C.队列 D.树
2.(2022高二下·嘉兴期中)有一入栈序列为“ABCD”,以下以“C”开头的出栈序列中不正确的是(  )
A.CABD B.CBAD C.CBDA D.CDBA
3.(2022高二下·嘉兴期中)用Python程序段定义一个3行4列的二维数组(要求先将各元素的值初始化为0,再将第2行第2个元素重新赋值为1),以下程序段可行的是(  )
A.arr=[[0]*3 for j in range(4)]
arr[2][2]=1
B.arr=[[0]*4]*3 arr[1][1]=1
C.arr=[[0] for i in range(4)]
for j in range(3)
arr[1][1]=1
D.arr=[[0,0,0,0] for j in range(3)]
arr[2][2]=1
4.(2022高二下·嘉兴期中)以下Python表达式不能取出字符串s=“0086-0573-1180”中的子串“0573”的是(  )
A.s[s.find("-")+1:-5] B.s[6:6+len("0573")]
C.s[-9:9:1] D.s[-6:-10:-1][::-1]
5.(2022高二下·嘉兴期中)以下有关栈和队列的说法正确的是(  )
A.栈和队列都是先进后出
B.栈和队列都是先进先出
C.队列元素前面只有一个,后面有多个
D.栈和队列只允许在端点插入和删除数据
二、非选择题(本大题共1小题,共15分)
6.(2022高二下·嘉兴期中)在 Python语言中,可以使用列表来模拟链表节点的插入操作。以下Python程序段用二维列表来定义单向链表。如要在该链表中插入节点,可以通过程序来修改相应节点的指针达到目的。
(1)如下图所示,请根据程序补充完整未插入数据前的链表数据区域的值(依次填写)   、   、   、   ,此时链表的头指针的值是   。
(2)实现链表插入的 Python 程序如下,请在程序划线处填入合适的代码。
data=[[8,-1],[7,4],[5,5],[6,0],[1,3],[2,1]] # 定义单向链表
head=2
leng=len(data)
pos=int(input("请输入要插入的位置(0~%d)之间:"%(leng)))
val=int(input("请输入要插入的数据值:"))
data.append([val,leng])
# 插入节点:
p=head
if pos==    : # 加在链表最前面,作为首节点
data[leng][1]=p
head=    # 更新头指针
else:
q=data[p][1] c=0
while cp=q q=data[p][1]
c+=1
    # 更新指针
data[p][1]=leng
#用列表形式来显示插入后的链表:
p=head
s=[]
while
p!=-1:
s.append(   )
p=data[p][1]
print(s)
答案解析部分
1.【答案】D
【知识点】基本数据结构
【解析】
2.【答案】A
【知识点】基本数据结构
【解析】
3.【答案】C
【知识点】常见数据类型、数组
【解析】
4.【答案】B
【知识点】运算符、基本运算与表达式
【解析】
5.【答案】A
【知识点】基本数据结构
【解析】
6.【答案】(1)2;7;1;6;2
(2)0;leng;data[leng][1]=q;data[p][0]
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】
二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1

展开更多......

收起↑

资源列表