内容正文:
2025-2026学年第一学期高二信息科技期中检测卷
(考试时间:90分钟 满分:100分)
一、单项选择题(本题共15小题,每小题3分,共45分)
1. 下列关于数据与信息的叙述,正确的是( )
A. 数据就是信息,信息就是数据
B. 数据是信息的载体,信息是数据的内涵
C. 数据是客观事物的符号表示,信息是主观的
D. 数据需要经过处理才能成为信息
【答案】B
【解析】
【详解】本题考查数据与信息。数据是信息载体,承载着信息的内容,而信息是数据所表达的内涵,二者并不等同;数据是客观事物的符号表示,信息虽具有主观性,但也有客观的一面;数据不一定需要经过处理才能成为信息,有些数据本身就包含着信息。故答案为:B。
2. 下列数据中,属于结构化数据的是( )
A 一张照片 B. 一段音频 C. 一个Excel表格 D. 一段视频
【答案】C
【解析】
【详解】本题考查结构化数据。结构化数据是指可以用二维表结构来逻辑表达实现的数据,如数字、符号等。一张照片、一段音频、一段视频属于非结构化数据,它们没有固定的结构和格式。而一个Excel表格是典型的结构化数据,它以行和列的形式组织数据,每一列都有特定的数据类型和含义。故答案为:C。
3. 十进制数25转换为二进制数( )
A. 11001 B. 10011 C. 11011 D. 10101
【答案】A
【解析】
【详解】本题考查十进制转二进制。将十进制数转换为二进制数可使用除 2 取余的方法,25 除以 2 商 12 余 1,12 除以 2 商 6 余 0,6 除以 2 商 3 余 0,3 除以 2 商 1 余 1,1 除以 2 商 0 余 1,从下往上取余数得到 11001。故答案为:A。
4. 下列不属于数据采集方式的是( )
A. 传感器采集 B. 网络爬虫 C. 问卷调查 D. 数据加密
【答案】D
【解析】
【详解】本题考查数据采集方式。传感器采集是利用传感器获取物理世界中的各种数据;网络爬虫是通过程序自动从互联网上抓取数据;问卷调查是通过设计问卷收集人们的意见和信息,这三种都属于数据采集的方式。而数据加密是对数据进行加密处理以保护数据安全,不属于数据采集方式。故答案为:D。
5. 下列关于算法的叙述,错误的是( )
A. 算法必须有输入和输出 B. 算法必须在有限步骤内结束
C. 算法每一步必须有确切的含义 D. 算法可以有零个或多个输入
【答案】A
【解析】
【详解】本题考查算法的特征。算法具有有穷性,即必须在有限步骤内结束;确定性,即每一步必须有确切的含义;可以有零个或多个输入,但至少有一个输出。所以算法不是必须有输入,但必须有输出,选项A错误。故答案为:A。
6. 下列流程图符号中,表示判断框的是( )
A. 矩形 B. 菱形 C. 椭圆形 D. 平行四边形
【答案】B
【解析】
【详解】本题考查流程图符号。在流程图中,矩形一般表示处理框;菱形表示判断框,用于判断某一条件是否成立;椭圆形通常表示起止框;平行四边形表示输入输出框。故答案为:B。
7. 下列排序算法中,时间复杂度为O(n²)的是( )
A. 快速排序 B. 归并排序 C. 堆排序 D. 冒泡排序
【答案】D
【解析】
【详解】本题考查排序算法时间复杂度。快速排序平均时间复杂度为O(nlogn),最坏情况下为O(n²);归并排序的时间复杂度始终为O(nlogn);堆排序的时间复杂度为O(nlogn);冒泡排序的时间复杂度为O(n²)。故答案为:D。
8. 下列数据结构中,属于线性结构的是( )
A. 树 B. 图 C. 栈 D. 二叉树
【答案】C
【解析】
【详解】本题考查数据结构。线性结构是一个有序数据元素的集合,栈是一种特殊的线性表,遵循后进先出原则,属于线性结构;而树、图、二叉树都不属于线性结构。故答案为:C。
9. 在python中,下列哪个关键字用于定义函数?( )
A. def B. function C. define D. func
【答案】A
【解析】
【详解】本题考查的是python基础。在不同的编程语言中,定义函数的关键字有所不同:A. def:Python 语言中用于定义函数的关键字,B. function:JavaScript 语言中用于定义函数的关键字,C. define:不是主流语言中定义函数的关键字,D. func:Go 语言和 Kotlin 语言中用于定义函数的关键字。故选A。
10. 下列Python数据类型中,属于可变类型的是( )
A. 整数 B. 字符串 C. 元组 D. 列表
【答案】D
【解析】
【详解】本题考查Python数据类型。在Python中,整数、字符串和元组一旦创建,其值和内存地址就固定了,不能进行修改,属于不可变类型;而列表可以通过索引、切片等方式修改其中的元素,属于可变类型。故答案为:D。
11. 下列Python代码的输出结果是( )
x = 5
y = 2
print(x // y)
A. 2.5 B. 2 C. 3 D. 2.0
【答案】B
【解析】
【详解】本题考查Python整除运算符。在Python中,“//”是整除运算符,它会返回商的整数部分,忽略小数部分。代码中x = 5,y = 2,5除以2的商为2.5,使用“//”运算符取整数部分,结果为2。故答案为:B。
12. 下列Python代码的输出结果是( )
s = "Hello"
print(s[1:4])
A. "Hel" B. "ell" C. "ello" D. "ell"
【答案】B
【解析】
【详解】本题考查Python字符串切片。s[1:4]表示从索引1开始(包含索引1对应的字符)到索引4结束(不包含索引4对应的字符),字符串s="Hello"中索引0对应'H',索引1对应'e',索引2对应'l',索引3对应'l',索引4对应'o',因此s[1:4]对应的子串是从索引1到索引3的字符,即"ell",所以输出结果为"ell"。故答案为:B。
13. 下列关于递归算法的叙述,正确的是( )
A 递归算法一定比迭代算法效率高
B. 递归算法必须有递归出口
C. 递归算法不能解决循环问题
D. 递归算法占用的内存一定比迭代算法少
【答案】B
【解析】
【详解】本题考查递归算法相关内容。递归算法在执行过程中,会不断调用自身,需要保存大量的调用栈信息,频繁的函数调用和栈操作会带来额外的开销,所以递归算法通常比迭代算法效率低,A选项错误。递归算法是通过不断调用自身来解决问题的,如果没有递归出口,递归就会无限进行下去,无法得到结果,所以递归算法必须有递归出口,B选项正确。递归算法可以解决循环问题,很多循环结构的问题都可以用递归的方式来实现,例如计算阶乘、斐波那契数列等,C选项错误。递归算法由于需要保存每一层的调用信息,会占用较多的内存栈空间;而迭代算法通常是在一个循环中逐步计算,内存占用相对更优;所以递归算法占用的内存通常比迭代算法多,D选项错误。故本题答案是B选项。
14. 下列Python代码的输出结果是( )
A. 15 B. 120 C. 24 D. 60
【答案】B
【解析】
【详解】本题考查Python代码执行结果计算。这段 Python 代码定义了一个递归函数func,用于计算阶乘。当n <= 1时,返回 1;否则返回n * func(n-1)。计算func(5)时,过程为5 * 4 * 3 * 2 * 1 = 120,所以输出结果是120。故答案为:B。
15. 下列关于数据安全的叙述,错误的是( )
A. 数据加密可以保护数据的机密性 B. 数据备份可以防止数据丢失
C. 数据校验可以保证数据的完整性 D. 数据压缩可以提高数据的安全性
【答案】D
【解析】
【详解】本题考查数据安全。数据加密是将数据进行编码转换,使得只有授权的人才能解读,从而保护数据的机密性;数据备份是将数据复制到其他存储介质,当原始数据丢失时可进行恢复,能防止数据丢失;数据校验是通过特定算法对数据进行计算和比对,以保证数据在传输或存储过程中没有被篡改,确保数据的完整性;而数据压缩是通过特定算法减少数据的存储空间或传输带宽,与数据的安全性并无直接关联。故答案为:D。
二、综合题(本题共3小题,共55分)
16. 阅读材料,回答问题。
材料一:下图是计算1+2+3+...+100的流程图:
(1)根据流程图,写出实现该算法的Python代码。____
(2)该算法的时间复杂度是多少?请说明理由。____
(3)如果将题目改为计算1+2+3+...+n,其中n由用户输入,应该如何修改算法?请写出修改后的Python代码。____
【答案】 ①. sum = 0
for i in range(1,101):
sum += i
print(sum) ②. 时间复杂度为O(n)。理由:算法需要执行n次循环,执行时间与n成正比。 ③. n = int(input("请输入n的值:"))
sum = 0
for i in range(1,n+1):
sum += i
print(sum)
【解析】
【详解】本题考查Python程序与流程图。
(1)根据流程图,Python代码的实现为:首先初始化变量 sum=0,并用 for 循环从1到100依次累加每个整数到 sum 中,最后使用 print(sum) 输出结果。这段代码直接对应流程图中的“i=1、sum=0”初始化步骤,以及循环中“sum=sum+i,i=i+1”的操作。
(2)算法需要执行一个从1到100的循环,每次循环执行一次加法操作,循环次数与 n(此处为100)成正比,因此总的操作次数是线性增长的,时间复杂度为 O(n)。
(3)如果题目改为计算 1+2+3+…+n,其中 n 由用户输入,只需将循环上限改为用户输入的 n。修改后的 Python 代码为:首先用 n = int(input("请输入n的值:")) 获取用户输入,然后初始化 sum=0,再用 for i in range(1,n+1) 循环累加每个整数到 sum 中,最后用 print(sum) 输出结果。这与原算法逻辑完全相同,只是循环次数由固定的100改为用户输入的 n,从而实现了通用化。
17. 阅读材料,回答问题。
材料一:下图是一个简单的链表结构:
材料二:Python中可以使用类来实现链表节点:
(1)简述链表与数组在存储结构上的主要区别。____
(2)编写一个函数,实现在链表末尾添加一个新节点。____
(3)分析链表和数组在插入、删除操作上的性能差异。____
【答案】 ①. 数组在内存中连续存储,通过索引直接访问元素;链表在内存中非连续存储,通过指针连接各个节点 ②. def append_node(head,data):
new_node = Node(data)
if head is None:
head = new_node
else:
current = head
while current.next is not None:
current = current.next
current.next = new_node
return head ③. 链表在插入和删除操作上性能更好。数组插入和删除需要移动大量元素,时间复杂度为O(n);链表只需修改指针,时间复杂度为O(1)。
【解析】
【详解】本题考查链表与Python程序。
(1)数组在内存中是连续存储的,元素之间的位置紧密相邻,可通过索引直接快速访问元素;而链表在内存中是非连续存储的,各个节点通过指针(如材料中的next)来连接,形成链式结构,访问元素需要从表头开始依次遍历指针。
(2)该函数append_node的作用是在链表末尾添加新节点。首先创建新节点new_node,若链表的头节点head为None(即链表为空),则将头节点指向新节点;若链表非空,就从head开始遍历,通过while循环找到最后一个节点(即current.next为None的节点),然后将该节点的next指针指向新节点,最终返回头节点,从而实现了在链表末尾添加新节点的功能。
(3)在插入和删除操作的性能上,链表更优。数组进行插入、删除操作时,需要移动操作位置之后的大量元素,时间复杂度为O(n);而链表在插入、删除时,仅需修改对应节点的指针指向,无需移动元素,时间复杂度为O(1)。
18. 阅读材料,回答问题。
材料一:二进制数1101转换为十进制数的过程如下图所示:
材料二:Python中可以使用内置函数进行进制转换:
(1)将二进制数101011转换为十进制数。____
(2)编写一个函数,实现将十进制数转换为二进制数(不使用内置函数)。____
(3)简述二进制在计算机科学中的应用。____
【答案】 ①. 1010112 = 1×2⁵ + 0×2⁴ + 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 32 + 0 + 8 + 0 + 2 + 1 = 4310 ②. def dec_to_bin(n):
if n == 0:
return "0"
binary = ""
while n > 0:
binary = str(n % 2) + binary
n = n // 2
return binary ③. 二进制在计算机科学中的应用:计算机内部使用二进制表示数据;二进制便于逻辑运算;二进制简化了电路设计;二进制便于错误检测和纠正。
【解析】
【详解】本题考查数制转换相关内容。二进制转化为十进制:1、无符号整数,从右往左依次用二进制位上的数字乘以2的n次幂的和(n大于等于0);2、带符号的二进制整数,除去最高位的符号位(1为负数,0为正数),其余与无符号二进制转化为十进制方法相同;3、小数二进制转化为十进制数,从小数点后第一位上的二进制数字乘以2的负一次方加上第二位上的二进制数字乘以2的负二次方,以此类推第n位上的二进制数字乘以2的负n次方。十进制转换二进制转换规则:十进制整数转换为二进制整数采用“除2取余,逆序排列”法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时停止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,以此类推,依次排列起来。(1)依据转换规则,将二进制数101011转换为十进制数:1010112 = 1×2⁵ + 0×2⁴ + 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 32 + 0 + 8 + 0 + 2 + 1 = 4310。(2)将十进制数转换为二进制数采用“除2取余,逆序排列”法。其过程用函数描述,如代码所示。(3)二进制在计算机科学中的应用包括:计算机内部使用二进制表示数据;二进制便于逻辑运算;二进制简化了电路设计;二进制便于错误检测和纠正。
第1页/共1页
学科网(北京)股份有限公司
$
2025-2026学年第一学期高二信息科技期中检测卷
(考试时间:90分钟 满分:100分)
一、单项选择题(本题共15小题,每小题3分,共45分)
1. 下列关于数据与信息的叙述,正确的是( )
A. 数据就是信息,信息就是数据
B. 数据是信息的载体,信息是数据的内涵
C. 数据是客观事物的符号表示,信息是主观的
D. 数据需要经过处理才能成为信息
2. 下列数据中,属于结构化数据的是( )
A. 一张照片 B. 一段音频 C. 一个Excel表格 D. 一段视频
3. 十进制数25转换为二进制数是( )
A. 11001 B. 10011 C. 11011 D. 10101
4. 下列不属于数据采集方式的是( )
A. 传感器采集 B. 网络爬虫 C. 问卷调查 D. 数据加密
5. 下列关于算法的叙述,错误的是( )
A. 算法必须有输入和输出 B. 算法必须在有限步骤内结束
C. 算法的每一步必须有确切的含义 D. 算法可以有零个或多个输入
6. 下列流程图符号中,表示判断框的是( )
A. 矩形 B. 菱形 C. 椭圆形 D. 平行四边形
7. 下列排序算法中,时间复杂度为O(n²)的是( )
A. 快速排序 B. 归并排序 C. 堆排序 D. 冒泡排序
8. 下列数据结构中,属于线性结构的是( )
A. 树 B. 图 C. 栈 D. 二叉树
9. 在python中,下列哪个关键字用于定义函数?( )
A. def B. function C. define D. func
10. 下列Python数据类型中,属于可变类型的是( )
A. 整数 B. 字符串 C. 元组 D. 列表
11. 下列Python代码的输出结果是( )
x = 5
y = 2
print(x // y)
A. 2.5 B. 2 C. 3 D. 2.0
12. 下列Python代码的输出结果是( )
s = "Hello"
print(s[1:4])
A. "Hel" B. "ell" C. "ello" D. "ell"
13. 下列关于递归算法叙述,正确的是( )
A. 递归算法一定比迭代算法效率高
B. 递归算法必须有递归出口
C. 递归算法不能解决循环问题
D. 递归算法占用的内存一定比迭代算法少
14. 下列Python代码的输出结果是( )
A. 15 B. 120 C. 24 D. 60
15. 下列关于数据安全叙述,错误的是( )
A. 数据加密可以保护数据的机密性 B. 数据备份可以防止数据丢失
C. 数据校验可以保证数据完整性 D. 数据压缩可以提高数据的安全性
二、综合题(本题共3小题,共55分)
16. 阅读材料,回答问题。
材料一:下图是计算1+2+3+...+100的流程图:
(1)根据流程图,写出实现该算法的Python代码。____
(2)该算法的时间复杂度是多少?请说明理由。____
(3)如果将题目改为计算1+2+3+...+n,其中n由用户输入,应该如何修改算法?请写出修改后的Python代码。____
17. 阅读材料,回答问题。
材料一:下图是一个简单的链表结构:
材料二:Python中可以使用类来实现链表节点:
(1)简述链表与数组在存储结构上的主要区别。____
(2)编写一个函数,实现在链表末尾添加一个新节点。____
(3)分析链表和数组在插入、删除操作上的性能差异。____
18. 阅读材料,回答问题
材料一:二进制数1101转换为十进制数的过程如下图所示:
材料二:Python中可以使用内置函数进行进制转换:
(1)将二进制数101011转换十进制数。____
(2)编写一个函数,实现将十进制数转换为二进制数(不使用内置函数)。____
(3)简述二进制在计算机科学中的应用。____
第1页/共1页
学科网(北京)股份有限公司
$