内容正文:
安徽省2025年对口招生考试计算机类
专业综合模拟卷(一)
(本试题卷共三部分,87道小题,共11页。时量150分钟,满分390分)
第一部分 计算机网络基础(180分)
1、 填空题(每空3分,共60分)
1. 数据包从源主机到目标主机的传输过程中,可能会跨越多个网络设备,这种过程被称为______。
2. 在TCP/IP协议栈中,负责数据报路由功能的协议是______。
3. DNS系统用于将域名转换为______。
4. 在计算机网络中,OSI模型的第七层是______层。
5. HTTP协议中,服务器返回状态码______表示请求的资源已永久移动到新位置。
6. IPv6地址的长度为______位。
7. 在以太网中,CSMA/CD协议用于避免______。
8. 因特网中常用的自治系统内部路由协议有______。
9. 使用SSH协议的主要目的是实现______的远程登录和数据传输。
10. 在无线通信中,基于SSID的网络选择用于识别______。
11. SSL/TLS协议主要用于在网络通信中提供数据的______和完整性。
12. 路由表中,网络目标与子网掩码的组合用于确定数据包的______路径。
13. 在TCP协议中,用于三次握手建立连接的三个步骤是SYN、______和ACK。
14. VPN技术常用于在公共网络上创建_______的虚拟通道。
15. 在计算机网络中,使用______协议可以通过仅发送变化的数据段来实现高效的数据传输。
16. 带宽和延迟是影响网络性能的两个重要因素,其中带宽指的是______。
17. NAT技术通常用于解决IPv4地址的______问题。
18. 在TCP连接断开过程中,四次挥手中的第二次消息传递是______。
19. BGP协议与其他路由协议最大的不同在于,它能够处理______多个自治系统之间的路由。
20. QoS(服务质量)技术在网络中用于管理和提高网络______性能。
2、 单项选择题(每小题4分,共60分)
1. 下列不属于广域网技术的是( )。
A. X.25
B. DDN
C. Frame Relay
D. ADSL
2. 下列传输介质中,采用LC接头作为连通器件的是( )。
A. 双绞线
B. 粗缆
C. 细缆
D. 光纤
3. 以下网络设备中,( )工作在物理层。
A. 集线器
B. 路由器
C. 交换机
D. 网桥
4. 数据链路层的协议数据单元通常被称为( )。
A. 分组(Packet)
B. 报文(Message)
C. 比特流
D. 帧(Frame)
5. Telnet服务的知名端口号是( )。
A. 25(SMTP)
B. 21(FTP)
C. 23
D. 53(DNS)
6. FTP可以用来传输( )的文件。
A. 文本类型
B. 图像类型
C. 音频类型
D. 以上所有类型
7. 路由器工作在那一层?( )
A. 第一层
B. 第二层
C. 第三层
D. 以上都不是
8. 一个路由器的路由表项通常包含( )。
A. 目标网络和到达该网络的完整路径
B. 所有目标主机和到达目标主机的完整路径
C. 目标网络和到达该网络路径的下一个路由器的IP地址
D. 互联网中所有路由器的IP地址
9. 下列协议中的哪一个是面向连接的传输层协议?( )
A. TCP
B. UDP
C. IP
D. ICMP
10. 下列哪一种协议是用于电子邮件传送的? ( )
A. IGMP
B. ICMP
C. SMTP
D. SNMP(网络管理)
11. 在运行TCP/IP的计算机上配置“默认网关”时,应该填写的是( )。
A. 本计算机的域名地址
B. 本计算机的IP地址
C. 同网段路由器的域名地址
D. 同网段路由器的IP地址
12. DNS工作在网络体系结构的哪一层?( )
A. 数据链路层
B. 网络层
C. 传输层
D. 应用层
13. 在TCP/IP网络中,传输层协议将数据传递到网络层后,封装成( ),然后交给数据链路层处理。
A. MAC数据帧
B. 信元(Cell)
C. IP数据报
D. TCP报文段
14. ARP协议的主要功能是:( )。
A. 将IP地址解析为物理地址
B. 将物理地址解析为IP地址
C. 将主机域名解析为IP地址
D. 将IP地址解析为主机域名
15. 网络中使用的设备HUB又称为( )。
A. 网关
B. 路由器
C. 交换机
D. 集线器
3、 综合运用题(每题15分,共60分)
1.简述CSMA/CD工作过程。
2. 简述NAT的实现方式。
3. 按照网络服务方式的不同可以将网络分为三类,C/S、B/S和P2P,请解释它们的含义和内
容?
4. 从计算机网络定义来看,网络主要涉及哪四个方面的问题?
第二部分 信息技术(40分)
4、 填空题(每空2分,共20分)
1. 信息技术设备中包括移动终端、可穿戴设备、网络设备和 _____ 设备。
2. 操作系统的功能之一是管理 _____ 和软件资源。
3. BCD码和ASCII码都是用于信息的 _____。
4. 在Word 2016中,_____ 功能用于恢复被撤销的操作。
5. Excel 2016中,使用 _____ 功能可以设置单元格的填充和数据对齐方式。
6. PowerPoint 2016中的超链接可以用于在演示文稿中建立 _____ 连接。
7. 数字媒体技术的一个应用是制作 _____ 视频。
8. Windows 10操作系统中,_____ 用于管理文件及文件夹。
9. Unicode码是一种可以编码 _____ 的编码标准。
10. 信息系统的结构包括基础设施层、资源管理层、业务逻辑层和 _____ 层。
5、 单项选择题(每小题4分,共20分)
1. 在Windows 10中,哪个功能用于修改文件或文件夹的属性?( )
A. 控制面板
B. 任务栏
C. 剪贴板
D. 资源管理器
2. 以下哪种编码用于表示汉字?( )
A. ASCII码
B. BCD码
C. Unicode码
D. 条形码
3. 在Excel 2016中,哪一个函数可以用于统计数值单元格的个数?( )
A. SUM
B. AVERAGE
C. COUNT
D. MAX
4. 以下哪一个选项是信息社会的基本特征之一?( )
A. 高度的信息化
B. 机械化生产
C. 国际化经营
D. 标准化管理
5. 在PowerPoint 2016中,哪个功能用于更换幻灯片的背景和主题?( )
A. 幻灯片母版
B. 动画效果
C. 超链接
D. 协作修订
第三部分 Python程序(170分)
6、 填空题(每空3分,共30分)
1. 已知 x = list(range(20)),那么执行语句 x[:18] = [] 后,列表 x 的值为_________。
2. 表达式 'abc' in ('abcdefg') 的值为_________。
3. 表达式 str([1, 2, 3]) 的值为_________。
4. 表达式 sum(range(1, 10, 2)) 的值为_________。
5. 表达式 'Hello world'.upper() 的值为_________。
6. 表达式 'a' + 'b' 的值为_________。
7. Python中定义函数的关键字是_________。
8. 在函数内部可以通过关键字_________来定义全局变量。
9. Python使用_________关键字来定义类。
10. 表达式 1<2<3 的值为_________。
7、 单项选择题(每小题4分,共60分)
1. 在软件开发过程中,以下哪项不是一个步骤?( )
A. 规格说明
B. 测试/调试
C. 决定费用
D. 维护
2. 在Python中,以下哪项不是合法的标识符?( )
A. spam
B. spAm
C. 2spam
D. spam4U
3. Python语句 "ab"+"c"*2 的运行结果是( )。
A. abc2
B. abcabc
C. Abcc
D. ababcc
4. 在Python语言中表示“x属于区间[a,b)”的正确表达式是( )。
A. a≤ x or x < b
B. a<= x and x < b
C. a≤x and x< b
D. a<=x or x<b
5. 在教科书中利用Python探究电流和电压、电阻的关系实验里,除了可以通过书中的Jupyter Notebook外,处理数据还可以通过下列哪个工具实现?( )
A. Python IDLE
B. Xmind
C. 网络画板
D. 几何画板
6. 在Python中,表达式(21%4)+5的值是( )。
A. 2
B. 6
C. 10
D. 3
7. 已知字符串s1="python",s2="Python",则表达式中s1>s2的值为( )。
A. “python”
B. “Python”
C. True
D. False
8. 下面Python代码运行后,a、b的值为( )。
a=23
b=int(a/10)
a= a-b * 10
print(a,b)
A. 23 2
B. 3 2
C. 3 20
D. 2 3
9. 要实现将实数型变量a的值保留三位小数,以下哪个python可以实现?( )
A. a%0.001
B. a//0.001
C. round(a,3)
D. round(3,a)
10. Python中的数据类型float表示( )。
A. 布尔型
B. 整型
C. 字符串型
D. 浮点型
11. 在Python中,“print(100-33*5%3)”语句输出的是( )。
A. 34
B. 67
C. 100
D. 1
12. Python不支持的数据类型有( )。
A. char
B. int
C. float
D. list
13. 关于定义函数的规则,以下描述错误的是( )。
A. 函数代码块从形式上包含函数名部分和函数体部分
B. 函数名部分以func 关键字开头,后接函数标识符名称和圆括号,以冒号结尾
C. 圆括号内可以定义参数列表(可以有0个、1个或多个参数),即使参数个数为0,圆括号也必须有
D. 函数体部分的内容需要缩进
14. 假设某个函数的函数体只有以下一行,请选择不返回None的选项( )。
A. return None
B. return
C. return 0
D. 100-20
15. 生成或计算新数据值的代码片段被称为( )。
A. 标识符
B. 表达式
C. 生成子句
D. 赋值语句
8、 程序分析题(每小题8分,共40分)
1. 分析下列程序运行结果。
def func(x):
if x > 10:
return x * 2
else:
return x + 10
print(func(func(5)))
2. 分析下列程序运行结果。
def add(a, b):
return a + b
def multiply(a, b):
return a * b
result = multiply(add(2, 3), 4)
print(result)
3. 分析下列程序运行结果。
for i in range(5):
print(i * i)
4. 分析下列程序运行结果。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print(factorial(5))
5. 分析下列程序运行结果。
list1 = [1, 2, 3, 4, 5]
list2 = [x * 2 for x in list1 if x % 2 == 0]
print(list2)
9、 程序设计题(每小题10分,共20分)
1. 写一个函数`filter_even_numbers(numbers)`,该函数接收一个整数列表,并返回只包含偶数的列表。
2. 写一个函数`merge_dictionaries(dict1, dict2)`,它合并两个字典,如果有重复的键,以第二个字典的值为准。
10、 综合应用题(20分)
1. 需要实现一个Python程序来处理某公司员工信息管理的任务。程序要求如下:
(1)员工信息存储:
员工信息需要从一个CSV文件中读取,文件包含:`员工ID`,`姓名`,`部门`,`入职日期(YYYY-MM-DD)`,`薪水`,`工作评估分数`。
每条记录用一行表示,列之间用逗号分隔。
(2)程序功能:
类别化部门:统计公司每个部门的员工数。
评估与奖励:根据员工的工作评估分数,计算每个员工的奖金。规则如下:
评估分数大于90的员工获得20%的奖金。
评估分数在80到90之间的员工获得10%的奖金。
其他员工没有奖金。
按入职时间排序:输出入职时间最长的前5位员工的信息。
工资与奖金整合:输出一个新的文件,记录每位员工的姓名、总收入(基本工资+奖金)。
(3)代码结构:
使用类来表示员工信息。
程序应包括文件读写、数据处理、信息统计等模块。
设计良好的类和函数接口,以便代码易于扩展和维护。
(4)给出足够的错误处理,如:无效数据格式、文件不存在等。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
安徽省2025年对口招生考试计算机类
专业综合模拟卷(一)
(本试题卷共三部分,87道小题,共11页。时量150分钟,满分390分)
第一部分 计算机网络基础(180分)
1、 填空题(每空3分,共60分)
1. 数据包从源主机到目标主机的传输过程中,可能会跨越多个网络设备,这种过程被称为______。
【答案】路由
2. 在TCP/IP协议栈中,负责数据报路由功能的协议是______。
【答案】IP协议
3. DNS系统用于将域名转换为______。
【答案】IP地址
4. 在计算机网络中,OSI模型的第七层是______层。
【答案】应用层
5. HTTP协议中,服务器返回状态码______表示请求的资源已永久移动到新位置。
【答案】301
6. IPv6地址的长度为______位。
【答案】128
7. 在以太网中,CSMA/CD协议用于避免______。
【答案】冲突
8. 因特网中常用的自治系统内部路由协议有______。
【答案】OSPF
9. 使用SSH协议的主要目的是实现______的远程登录和数据传输。
【答案】安全
10. 在无线通信中,基于SSID的网络选择用于识别______。
【答案】无线网络
11. SSL/TLS协议主要用于在网络通信中提供数据的______和完整性。
【答案】加密
12. 路由表中,网络目标与子网掩码的组合用于确定数据包的______路径。
【答案】转发
13. 在TCP协议中,用于三次握手建立连接的三个步骤是SYN、______和ACK。
【答案】SYN
14. VPN技术常用于在公共网络上创建_______的虚拟通道。
【答案】安全
15. 在计算机网络中,使用______协议可以通过仅发送变化的数据段来实现高效的数据传输。
【答案】TCP
16. 带宽和延迟是影响网络性能的两个重要因素,其中带宽指的是______。
【答案】网络传输速率
17. NAT技术通常用于解决IPv4地址的______问题。
【答案】短缺
18. 在TCP连接断开过程中,四次挥手中的第二次消息传递是______。
【答案】FIN
19. BGP协议与其他路由协议最大的不同在于,它能够处理______多个自治系统之间的路由。
【答案】跨越
20. QoS(服务质量)技术在网络中用于管理和提高网络______性能。
【答案】数据传输
2、 单项选择题(每小题4分,共60分)
1. 下列不属于广域网技术的是( )。
A. X.25
B. DDN
C. Frame Relay
D. ADSL
【答案】D
2. 下列传输介质中,采用LC接头作为连通器件的是( )。
A. 双绞线
B. 粗缆
C. 细缆
D. 光纤
【答案】D
3. 以下网络设备中,( )工作在物理层。
A. 集线器
B. 路由器
C. 交换机
D. 网桥
【答案】A
4. 数据链路层的协议数据单元通常被称为( )。
A. 分组(Packet)
B. 报文(Message)
C. 比特流
D. 帧(Frame)
【答案】D
5. Telnet服务的知名端口号是( )。
A. 25(SMTP)
B. 21(FTP)
C. 23
D. 53(DNS)
【答案】C
6. FTP可以用来传输( )的文件。
A. 文本类型
B. 图像类型
C. 音频类型
D. 以上所有类型
【答案】D
7. 路由器工作在那一层?( )
A. 第一层
B. 第二层
C. 第三层
D. 以上都不是
【答案】C
8. 一个路由器的路由表项通常包含( )。
A. 目标网络和到达该网络的完整路径
B. 所有目标主机和到达目标主机的完整路径
C. 目标网络和到达该网络路径的下一个路由器的IP地址
D. 互联网中所有路由器的IP地址
【答案】C
9. 下列协议中的哪一个是面向连接的传输层协议?( )
A. TCP
B. UDP
C. IP
D. ICMP
【答案】A
10. 下列哪一种协议是用于电子邮件传送的? ( )
A. IGMP
B. ICMP
C. SMTP
D. SNMP(网络管理)
【答案】C
11. 在运行TCP/IP的计算机上配置“默认网关”时,应该填写的是( )。
A. 本计算机的域名地址
B. 本计算机的IP地址
C. 同网段路由器的域名地址
D. 同网段路由器的IP地址
【答案】D
12. DNS工作在网络体系结构的哪一层?( )
A. 数据链路层
B. 网络层
C. 传输层
D. 应用层
【答案】D
13. 在TCP/IP网络中,传输层协议将数据传递到网络层后,封装成( ),然后交给数据链路层处理。
A. MAC数据帧
B. 信元(Cell)
C. IP数据报
D. TCP报文段
【答案】C
14. ARP协议的主要功能是:( )。
A. 将IP地址解析为物理地址
B. 将物理地址解析为IP地址
C. 将主机域名解析为IP地址
D. 将IP地址解析为主机域名
【答案】A
15. 网络中使用的设备HUB又称为( )。
A. 网关
B. 路由器
C. 交换机
D. 集线器
【答案】D
3、 综合运用题(每题15分,共60分)
1.简述CSMA/CD工作过程。
【答案】
CSMA/CD是一种局域网的共享介质协议,它是基于竞争机制的,其工作过程如下:
(1)发送站发送时首先侦听载波(载波检测)。
(2)如果网络(总线)空闲,发送站开始发送它的帧。
(3)如果网络(总线)被占用,发送站继续侦听载波并推迟发送直至网络空闲。
(4)发送站在发送过程中侦听碰撞(碰撞检测)。
(5)如果检测到碰撞,发送站立即停止发送,这意味着所有卷入碰撞的站都停止发送。
(6)每个卷入碰撞的站都进入退避周期,即按照一定的退避算法等一段随机时间后进行重发,亦即重复上述1-6步骤,直至发送成功。
2. 简述NAT的实现方式。
【答案】
所谓的NAT技术,就是通过具有NAT功能的设备实现内网的IP地址与公网的地址之间的相互转换,将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占用。
当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包的源IP信息,并从它的NAT映射表中找出与该IP匹配的转换条目,用所选用的内部全局地址(全球唯一的IP地址)来替换内部局部地址,并转发数据包。
当外部网络对内部主机进行应答时,数据包被送到NAT路由器上,路由器接收到目的地址为内部全局地址的数据包后,它将用内部全局地址通过NAT映射表查找出内部局部地址,然后将数据包的目的地址替换成内部局部地址,并将数据包转发到内部主机。
3. 按照网络服务方式的不同可以将网络分为三类,C/S、B/S和P2P,请解释它们的含义和内
容?
【答案】
计算机网络按网络的服务方式分类可以分为:客户机/服务器模式、浏览器/服务器模式和对等网三种。
(1)客户机/服务器(client/server C/S)模式:在客户机/服务器(C/S)模式中,服务器指的是在网络上可以提供服务的任何程序(计算机),客户指的是向服务器发起请求并等待响应的程序(计算机)。服务器一般以并发服务器的方式随系统启动而启动,当无请求时,服
务器处于等待状态;当请求到达时,服务器为其产生一个子进程,处理这个请求并做出响应;
(2)浏览器/服务器(B/S)模式是因特网上使用的模式。这种模式最主要的特点是与
软硬件平台无关性,把应用逻辑和业务处理规则放在服务器一侧。
(3)对等网(Peer to Peer)是指系统内每台计算机的“地位”是平等的,允许每台计算机共享其它计算机内部的信息资源和硬件资源;对等网内的计算机一般类型相同,甚至操作系
统也相同。
4. 从计算机网络定义来看,网络主要涉及哪四个方面的问题?
【答案】
答:计算机网络是就是利用通信设备和线路将地理位置不同的、功能独立的多个计算机系统互连起来,以功能完善的网络软件(即网络通信协议、信息交换方式、网络操作系统等)实现网络中资源共享和信息传递的系统。
从定义中看出涉及到四个方面的问题:
(1)至少两台计算机以及其他设备(如打印机、外接硬盘等)互联。
(2)通信设备与线路介质。
(3)网络软件,通信协议和NOS
(4)联网计算机的“独立自治”性。
第二部分 信息技术(40分)
4、 填空题(每空2分,共20分)
1. 信息技术设备中包括移动终端、可穿戴设备、网络设备和 _____ 设备。
【答案】外围
2. 操作系统的功能之一是管理 _____ 和软件资源。
【答案】硬件
3. BCD码和ASCII码都是用于信息的 _____。
【答案】编码
4. 在Word 2016中,_____ 功能用于恢复被撤销的操作。
【答案】恢复
5. Excel 2016中,使用 _____ 功能可以设置单元格的填充和数据对齐方式。
【答案】格式
6. PowerPoint 2016中的超链接可以用于在演示文稿中建立 _____ 连接。
【答案】幻灯片
7. 数字媒体技术的一个应用是制作 _____ 视频。
【答案】短
8. Windows 10操作系统中,_____ 用于管理文件及文件夹。
【答案】资源管理器
9. Unicode码是一种可以编码 _____ 的编码标准。
【答案】多种文字
10. 信息系统的结构包括基础设施层、资源管理层、业务逻辑层和 _____ 层。
【答案】应用表现
5、 单项选择题(每小题4分,共20分)
1. 在Windows 10中,哪个功能用于修改文件或文件夹的属性?( )
A. 控制面板
B. 任务栏
C. 剪贴板
D. 资源管理器
【答案】D
2. 以下哪种编码用于表示汉字?( )
A. ASCII码
B. BCD码
C. Unicode码
D. 条形码
【答案】C
3. 在Excel 2016中,哪一个函数可以用于统计数值单元格的个数?( )
A. SUM
B. AVERAGE
C. COUNT
D. MAX
【答案】C
4. 以下哪一个选项是信息社会的基本特征之一?( )
A. 高度的信息化
B. 机械化生产
C. 国际化经营
D. 标准化管理
【答案】A
5. 在PowerPoint 2016中,哪个功能用于更换幻灯片的背景和主题?( )
A. 幻灯片母版
B. 动画效果
C. 超链接
D. 协作修订
【答案】A
第三部分 Python程序(170分)
6、 填空题(每空3分,共30分)
1. 已知 x = list(range(20)),那么执行语句 x[:18] = [] 后,列表 x 的值为_________。
【答案】[18, 19]
2. 表达式 'abc' in ('abcdefg') 的值为_________。
【答案】False
3. 表达式 str([1, 2, 3]) 的值为_________。
【答案】'[1, 2, 3]'
4. 表达式 sum(range(1, 10, 2)) 的值为_________。
【答案】25
5. 表达式 'Hello world'.upper() 的值为_________。
【答案】'HELLO WORLD'
6. 表达式 'a' + 'b' 的值为_________。
【答案】'ab'
7. Python中定义函数的关键字是_________。
【答案】def
8. 在函数内部可以通过关键字_________来定义全局变量。
【答案】global
9. Python使用_________关键字来定义类。
【答案】class
10. 表达式 1<2<3 的值为_________。
【答案】True
7、 单项选择题(每小题4分,共60分)
1. 在软件开发过程中,以下哪项不是一个步骤?( )
A. 规格说明
B. 测试/调试
C. 决定费用
D. 维护
【答案】C
2. 在Python中,以下哪项不是合法的标识符?( )
A. spam
B. spAm
C. 2spam
D. spam4U
【答案】C
3. Python语句 "ab"+"c"*2 的运行结果是( )。
A. abc2
B. abcabc
C. Abcc
D. ababcc
【答案】B
4. 在Python语言中表示“x属于区间[a,b)”的正确表达式是( )。
A. a≤ x or x < b
B. a<= x and x < b
C. a≤x and x< b
D. a<=x or x<b
【答案】B
5. 在教科书中利用Python探究电流和电压、电阻的关系实验里,除了可以通过书中的Jupyter Notebook外,处理数据还可以通过下列哪个工具实现?( )
A. Python IDLE
B. Xmind
C. 网络画板
D. 几何画板
【答案】A
6. 在Python中,表达式(21%4)+5的值是( )。
A. 2
B. 6
C. 10
D. 3
【答案】B
7. 已知字符串s1="python",s2="Python",则表达式中s1>s2的值为( )。
A. “python”
B. “Python”
C. True
D. False
【答案】D
8. 下面Python代码运行后,a、b的值为( )。
a=23
b=int(a/10)
a= a-b * 10
print(a,b)
A. 23 2
B. 3 2
C. 3 20
D. 2 3
【答案】B
9. 要实现将实数型变量a的值保留三位小数,以下哪个python可以实现?( )
A. a%0.001
B. a//0.001
C. round(a,3)
D. round(3,a)
【答案】C
10. Python中的数据类型float表示( )。
A. 布尔型
B. 整型
C. 字符串型
D. 浮点型
【答案】D
11. 在Python中,“print(100-33*5%3)”语句输出的是( )。
A. 34
B. 67
C. 100
D. 1
【答案】A
12. Python不支持的数据类型有( )。
A. char
B. int
C. float
D. list
【答案】A
13. 关于定义函数的规则,以下描述错误的是( )。
A. 函数代码块从形式上包含函数名部分和函数体部分
B. 函数名部分以func 关键字开头,后接函数标识符名称和圆括号,以冒号结尾
C. 圆括号内可以定义参数列表(可以有0个、1个或多个参数),即使参数个数为0,圆括号也必须有
D. 函数体部分的内容需要缩进
【答案】B
14. 假设某个函数的函数体只有以下一行,请选择不返回None的选项( )。
A. return None
B. return
C. return 0
D. 100-20
【答案】C
15. 生成或计算新数据值的代码片段被称为( )。
A. 标识符
B. 表达式
C. 生成子句
D. 赋值语句
【答案】B
8、 程序分析题(每小题8分,共40分)
1. 分析下列程序运行结果。
def func(x):
if x > 10:
return x * 2
else:
return x + 10
print(func(func(5)))
【答案】
首先调用func(5),因为5不大于10,所以返回5 + 10 = 15。然后再调用func(15),因为15大于10,所以返回15 * 2 = 30。最终输出结果为30。
2. 分析下列程序运行结果。
def add(a, b):
return a + b
def multiply(a, b):
return a * b
result = multiply(add(2, 3), 4)
print(result)
【答案】
首先调用add(2, 3),返回2 + 3 = 5。然后将5作为参数传递给multiply函数,返回5 * 4 = 20。最终输出结果为20。
3. 分析下列程序运行结果。
for i in range(5):
print(i * i)
【答案】
输出结果为:
0
1
4
9
16
4. 分析下列程序运行结果。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print(factorial(5))
【答案】
这是一个递归函数,用于计算阶乘。计算过程如下:
5 * factorial(4) = 5 * 4 * factorial(3) = 5 * 4 * 3 * factorial(2) = 5 * 4 * 3 * 2 * factorial(1) = 5 * 4 * 3 * 2 * 1 * factorial(0) = 5 * 4 * 3 * 2 * 1 * 1 = 120。最终输出结果为120。
5. 分析下列程序运行结果。
list1 = [1, 2, 3, 4, 5]
list2 = [x * 2 for x in list1 if x % 2 == 0]
print(list2)
【答案】
这是一个列表推导式,用于生成一个新列表,其中包含原列表中偶数元素的两倍。原列表中的偶数元素为2和4,因此新列表为[2 * 2, 4 * 2] = [4, 8]。最终输出结果为[4, 8]。
9、 程序设计题(每小题10分,共20分)
1. 写一个函数`filter_even_numbers(numbers)`,该函数接收一个整数列表,并返回只包含偶数的列表。
【答案】
def filter_even_numbers(numbers):
return [num for num in numbers if num % 2 == 0]
# 示例用法
even_numbers = filter_even_numbers([1, 2, 3, 4, 5, 6])
print(even_numbers) # 输出: [2, 4, 6]
2. 写一个函数`merge_dictionaries(dict1, dict2)`,它合并两个字典,如果有重复的键,以第二个字典的值为准。
【答案】
def merge_dictionaries(dict1, dict2):
merged_dict = dict1.copy() # 复制第一个字典
merged_dict.update(dict2) # 更新为第二个字典的值
return merged_dict
# 示例用法
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
merged_dict = merge_dictionaries(dict1, dict2)
print(merged_dict) # 输出: {'a': 1, 'b': 3, 'c': 4}
10、 综合应用题(20分)
1. 需要实现一个Python程序来处理某公司员工信息管理的任务。程序要求如下:
(1)员工信息存储:
员工信息需要从一个CSV文件中读取,文件包含:`员工ID`,`姓名`,`部门`,`入职日期(YYYY-MM-DD)`,`薪水`,`工作评估分数`。
每条记录用一行表示,列之间用逗号分隔。
(2)程序功能:
类别化部门:统计公司每个部门的员工数。
评估与奖励:根据员工的工作评估分数,计算每个员工的奖金。规则如下:
评估分数大于90的员工获得20%的奖金。
评估分数在80到90之间的员工获得10%的奖金。
其他员工没有奖金。
按入职时间排序:输出入职时间最长的前5位员工的信息。
工资与奖金整合:输出一个新的文件,记录每位员工的姓名、总收入(基本工资+奖金)。
(3)代码结构:
使用类来表示员工信息。
程序应包括文件读写、数据处理、信息统计等模块。
设计良好的类和函数接口,以便代码易于扩展和维护。
(4)给出足够的错误处理,如:无效数据格式、文件不存在等。
【答案】
import csv
from datetime import datetime
class Employee:
def __init__(self, emp_id, name, department, join_date, salary, score):
self.emp_id = emp_id
self.name = name
self.department = department
self.join_date = datetime.strptime(join_date, '%Y-%m-%d')
self.salary = float(salary)
self.score = float(score)
self.bonus = self.calculate_bonus()
def calculate_bonus(self):
if self.score > 90:
return self.salary * 0.2
elif 80 <= self.score <= 90:
return self.salary * 0.1
else:
return 0.0
def total_income(self):
return self.salary + self.bonus
def read_employees(file_path):
employees = []
try:
with open(file_path, mode='r', newline='') as file:
reader = csv.reader(file)
next(reader) # Skip header
for row in reader:
employees.append(Employee(*row))
except Exception as e:
print(f"Error reading file: {e}")
return employees
def department_statistics(employees):
statistics = {}
for emp in employees:
if emp.department not in statistics:
statistics[emp.department] = 0
statistics[emp.department] += 1
return statistics
def oldest_employees(employees, n=5):
employees.sort(key=lambda emp: emp.join_date)
return employees[:n]
def write_total_income_file(employees, file_path):
try:
with open(file_path, mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Total Income'])
for emp in employees:
writer.writerow([emp.name, emp.total_income()])
except Exception as e:
print(f"Error writing file: {e}")
def main():
employees = read_employees('employees.csv')
if not employees:
return
# Department statistics
dep_stats = department_statistics(employees)
print("Department Statistics:")
for department, count in dep_stats.items():
print(f"{department}: {count} employees")
# Oldest employees
oldest = oldest_employees(employees)
print("
Oldest Employees:")
for emp in oldest:
print(f"{emp.name}, Joined on: {emp.join_date.date()}")
# Write total income to file
write_total_income_file(employees, 'total_income.csv')
if __name__ == '__main__':
main()
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$