Advertisement

计算机二级python基础知识总结-江苏省计算机二级python样卷

阅读量:

江苏省高等学校计算机等级考试

二级Python语言考试(样卷)

(本试卷完成时间120分钟)

第一部分 计算机信息技术基础知识

选择题(满分20分)共20小题,每小题2分。基于不同的应用场景和需求设置下设置下设置下设置下设置下设置下设置下设置下设置下设置下设置下设置下设置下设置下设置下的数字音频系统会采用多种多样的编码方案和相应的音频文件格式。请问以下哪种音频格式是由微软公司开发并采用未压缩编码方式实现的?

A. WAV

B. MP3

C. AAC

D. WMA

A

解析: MP3被视为一种音频压缩技术. 由于其正式名称被称为MPEG Audio Layer 3 ,人们通常将其简称为MP 3 . WMA是由微软公司制定的一种音频压缩文件格式 ,相较于MP 3 标准而言,MWA文件在体积上更为紧凑 ,在音质上同样表现出色 . WAV是由微软开发的一种声音文件格式(采用未压缩编码方法). 虽然这种方法虽然降低了体积大小但牺牲了部分音质细节 .

5

2.下列有关IP地址(IPv4)和路由器的叙述中,错误的是_____。

A.每个IP地址以32位的二进制数表示,在应用中一般采用"点分十六进制"的形式

B. 将IP地址划分为五个类别中包含三种基础类型:A型、B型和C型;各类拥有不同长度的网络号码与主机号码

C. IP地址空间的分配由国际组织ICANN负责,目前IP地址空间已分配完毕

D. 路由器是连接异构网络的主要设备,在配置中一台路由器配备多种IP地址配置功能。

A

解释:每一个IP地址由32个字节的二进制数表示,在实际应用中常以点/分/十进制的形式呈现。

4

3.字符集及其编码是计算机中表示、存储、处理和交换文本信息的基本要素之一,但由于历史发展过程中的种种原因,目前不同系统或应用所采用的字符编码方案仍存在差异性。下列编码方案中,所有字符均采用等长编码(即每个字符的代码长度相同)的是______

A. GB2312

B. GB18030

C. UTF-8

D. UTF-16

A

解析: GB2312编码:我国首国标标准于1981年发布,其特点是以选用6763个常用汉字加682个非汉字字符为基础,全部采用双字节编码方案; GB18030则包含高达23940个汉字符号,在兼容性上与GB2312及GBK标准保持一致,并能与UCS体系无缝衔接,成为我国信息处理设备中的强制性标准; 国际标准化组织(ISO)开发了统一码标准,其中包含了两种主要编码方案:UTF-8及UTF-16; UTF-8采用单一字节编码表示ASCII字符,拉丁字母、标点符号等也采用双字节方式表示,而汉字则被定义为三字节编码,其他不常用字符则使用四字节表示; 在Windows中文版系统中应用UTF-16双字节编码策略以简化存储空间需求

5

TCP/IP模型将计算机网络划分为四个层次,并且每个层次都有多个协议。在TCP/IP模型中,HTTP协议位于第______层。

A.接口层

B.互连层

C.传输层

D.应用层

D

解析:TCP/IP涵盖了100多个协议,并将其划分为四个层级:从高到低依次是应用层、传输层、网络互连层及网络接口与硬件层。应用层定义了不同主机间如何通过互连网络进行通信,并包含诸如HTTP、SMTP、FTP及Telnet等协议;传输层则规定了端到端数据传输的方式,并包含TCP和UDP两种协议——其中TCP负责可靠的数据传输至目的主机而UDP则不具备这种可靠性;在网络互连层面定的是整个互连网络中计算机间统一使用的编址方案以及数据包格式(称为IP数据报),并规定了该数据报的转发机制;最后在网络接口与硬件层面定的是如何与各种不同的网络建立连接,并负责将IP包转换为适合特定网络传输的帧格式。

4

5.下列有关计算机网络组成、分类和工作模式等叙述中,错误的是______。

根据其所覆盖的地理区域划分,计算机网络通常会划分为局域网(LAN)、广域网(WAN)、无线局域网(WLAN)等类别

广域网中的一部分是由机构或组织自行搭建的专用网络系统,另一部分则是由通信服务提供商构建的公用数据网络

C. 网络协议体系是计算机网络体系的重要组成部分,并且目前互联网主要用于TCP/IP协议系统。

D.计算机网络有两种基本工作模式,即P2P工作模式和C/S工作模式

A

该解析根据网络所覆盖的地域范围划分为局域网(LAN)、城域网(MAN)以及广域网(WAN)

4

6.下列有关计算机的逻辑组成和分类的叙述中,错误的是______。

通常情况下,在一台计算机内部配置有多台处理器,在这种架构下每个处理器都有各自定义的任务领域;其中中央处理器(CPU)扮演着核心角色。

B.主存储器与CPU之间通过高速通道进行快速连接,并负责存储正在运行中的程序代码以及待处理的数据

C.人们常提及PC时,通常指的是台式电脑、笔记本电脑以及智能设备等家用电子设备。

嵌入式计算装置通常集成于各种电子设备中作为专用处理设备使用,并且许多这样的装置会将固件直接固定到芯片上。

C

解析:当人们谈到PC时,则通常指的是用于个人计算的各种电子设备(设备)。例如,在这种情况下,“设备”这一概念更为广泛适用,并且可以涵盖不同的功能需求和性能水平的不同类别。此外,“如中央处理器(CPU)、图形处理器等”这一表述则进一步明确了具体的技术细节及其应用场景

注:注意:一台典型的计算机内部通常配置有多颗处理器以提高性能(性能)。这种设计不仅能够支持多任务处理能力,并且在图形处理或其他高计算需求的任务中表现更为突出

2

7.字符集合及其编码体系是计算机领域表示、存储、处理和交换文本信息的基本架构,在这一领域内因历史原因导致不同系统或应用所采用的字符编码方案尚未统一。在当前我国信息处理产品的应用中,则必须强制性地采用以下哪一种编码方案?

A. GB 2312

B. GBK

C. GB 18030

D. UCS/Unicode

C

解析:GB18030标准规定了包含汉字23940个,并相容于GB2312和GBK标准体系。此外还与其计算机用户系统(UCS)实现了接轨,并被我国的信息处理产品行业所强制采用。

5

在现代通信系统的主要应用领域中, 以有效提升数据链路利用率及降低通信成本为目标, 多数场景下会采用多路复用技术将多个信号集成到同一传输介质中以实现高效传输. 用户通过电话线连接ADSL技术时, 其主要采用的技术模式是______.

A. TDM

B. WDM

C. FDM

D. CDM

C

解析:时分多路复用来自各类终端设备,在不同的时间段依次占用同一通信线路进行数据传输,并被认定为计算机网络中最主要的传输手段之一;频分多路复用技术则通过将来自多个信号源的数据信号调制到各自独立的载波频率上进行同步传输;而波分多路复用则采用光纤传递多种不同波长的光信号实现信息传递;此外,在码分技术中每个参与通信方都被赋予独特的地址码序列,并且这些序列彼此不重叠,在接收端能够有效识别并解码发送方的信息,并且具有较强的抗干扰能力。

4

9.光盘是目前常见的辅助存储器。下列相关叙述中,错误的是____。

A. 光盘存储器由两个主要组件构成:光盘驱动器和光盘片。其基板采用铝合金制造。

就接口类型而言,在当前设计中内置式DVD光驱与主机通常采用SATA接口连接,并行传输数据;而外部使用的多为USB接口单根传输模式

C. DVD光盘按规格可分为单面单层、单面双层等多种规格,主流采用的是单面单层介质

D. BD 光驱通过利用蓝光照写光盘上的数据内容从而实现了更大的存储容量

A

解析:光盘的基片是耐热的有机玻璃。

2

微软公司在其 Office 软件中内置于其中的一种程序设计语言。允许用户编写程序以增强功能。该语言是_____。

A. VBA

B. VBScript

C. Java

D. C#

A

VBA被用来开发增强Office功能的程序;VBScript被用来附加到HTML文件中以增强网页功能;Java被用作网络编程工具,并支持开发安卓应用;Objective-C语言是编写作 iPhone 和 iPad 的主要语言;Lisp 和 PROLOG 语言主要应用于人工智能领域;Ada 语言被广泛应用于飞机控制系统的设计与开发;MATLAB是一种基于向量和矩阵运算的数值计算工具软件。

3

第二部分Python程序设计

一、 选择题(共10分,每题2分)

1.以下哪一个是Python合法的标识符?

A._name

B.1name

C.stu-name

D.stu.name

2.以下关于Python的赋值说法中错误的是哪一项?

A.Python中的变量在使用前必须赋值,变量赋值后该变量才会被创建。

B.Python支持多元赋值和多重赋值。

C.Python赋值时大小写敏感。

D.Python中要首先声明变量的类型后才能给该变量赋值。

3.对于序列numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],以下相关操作和对应输出正确的是哪一

项?

A.>>> numbers[0: 2]

[1, 2, 3]

B.>>> numbers[0: -1]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

C.>>> numbers[-2:]

[9, 10]

D.>>> numbers[0::3]

[1, 3, 5, 7, 9]

4.以下不能作为字典的key的是哪一个选项?

A.2016

B.'China'

C.listA = ['Name']

D.tupleA = (123)

5.如果要在文本文件test.txt的其中间部分插入一行字符串,则应确定open语句的位置。

应该选择以下哪一项?

A.a

B.r+

C.w+

D.a+

二、填空题(共20分,每空2分)

1.执行如下代码,结果分别是(1) 和 (2) 。

a = [5, 1, 3, 4]

print sorted(a, reverse = True)

Out[]:____

strs = ["a", "bb", "BB", "zz"]

print sorted(strs)

Out[]:____

2.若输入字符串"baozi”,则程序运行结果的第一行是 (3) ,第二行是

(4),第三行是 (5) 。

names = ["yunyun","sky","baozi","xiaoxiao","agui"]

numbers = [5555555,11111,123456,88888,123321]

data = dict(zip(names,numbers))

while True:

name = input("Please input the name:")

if data.get(name):

print(data[name])

break

else:

print('Enter the name again. ')

for (name, number) in data.items():

if(number < 100000):

print(name)

3.执行如下代码,结果分别是(6) 和 (7) 。

import numpy as np

a = np.arange(1, 5)

np.power(a, 2).sum()

Out[]:____

np.add(a, np.arange(4))

Out[]:array([____])

4.若输入131和2,则程序的运行结果是 (8)。

def foo(num, base):

if(num >= base):

foo(num // base , base)

print(num % base , end = ' ')

numA = int(input("Enter the first number: "))

numB = int(input("Enter the second number: "))

foo(numA, numB)

5.执行如下代码,则程序运行结果的第一行是[(9)],第二行是

(10)。

def fun(m, n):

while n:

m, n = n, m % n

return m

arr = [24, 18, 120, 54, 36, 35, 72, 33]

print(arr[::-1])

hcf = fun(arr[0],arr[2])

for i in range(len(arr)):

if i > 2 and i % 2 == 0:

hcf = fun(hcf, arr[i])

print(hcf)

三、操作题(共50分)

1.完善程序(共12分,每空3分)

【要求】

1.打开T盘中的文件myf0.py,按以下程序功能完善文件中的程序。

2.修改后的源程序仍保存在T盘myf0.py文件中。

【程序功能】

命名函数countchar用于统计字符串中包含的26个字母的数量,并且不论大小写字母的区别。例如字符串'Hope'

is a good thing.”的统计结果为:

[1, 0, 0, 1, 1, 0, 2, 2, 2, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0]

【待完善的源程序】

def countchar((1)):

list1 = [0]*26

for i in(2)(0,len(str)):

if (str[i] >= 'a'(3)str[i] <='z'):

list1[ord(str[i])-(4)] += 1

print list1

if name == "main":

str = "Hope is a good thing."

str = str.lower()

countchar(str)

2.改错(共16分,每个错4分)

【要求】

1.打开T盘中的文件myf1.py,按以下程序功能改正文件中程序的错误。

允许对程序中的某些部分进行重新编辑和优化处理,并根据需要增加少量的变量描述或进行编译前的优化操作

命令,但不能增加其他语句,也不能删去整条语句。

3.修改后的源程序仍保存在T盘myf1.py中。

【程序功能】

在已排好序的列表中插入一个数让列表仍然有序。

参数data代表的是原有的有序数据集合;num为待插入的新数值;该函数的功能是确定插入的位置。

到列表中正确的插入位置进行插入,让新列表仍然有序。

【测试数据与运行结果】

测试数据:

Enter a new number:11

屏幕输出:

The new sorted list is: [11, 13, 22, 31, 48, 54, 71, 91, 94]

测试数据:

Enter a new number:38

屏幕输出:

The new sorted list is: [13, 22, 31, 38, 48, 54, 71, 91, 94]

测试数据:

Enter a new number:a

Please enter a digit!(输出)

Enter a new number:123

屏幕输出:

The new sorted list is: [11, 13, 22, 31, 48, 54, 71, 91, 94, 123]

【含有错误的源程序】

def insert(data, num):

length = length(data)

data.append(num)

for i in range(length) + 1:

if num < data[i]:

for j in range(length,i,-1):

data[j] = data[j+1]

data[i] = num

break

if name == "main":

data = [13,22,31,48,54,71,91,94]

while True:

try:

num = int(input("Enter a new number:"))

insert(data, num)

print("The new sorted list is:",data)

continue

except ValueError:

print("Please enter a digit!")

3.编程(共22分)

【要求】

在T盘中打开文件myf2.py,在该文件中将编写好的程序并将其保存下来;随后将运行该程序,并将得到的结果存储为文件myf2.out

在Python标准库中缓冲文件系统中采用专门提供的文件操作函数来完成数据文件的开启、读取及关闭过程。

【程序功能】

确定给定的数值是否为质数的同时,请评估经过调整后的数值是否符合默尼森数的标准

P是素数且M也是素数,并且满足等式M=2P-1,则称M为默尼森数。

【编程要求】

1.将测试数据放到一个列表中,结果放到一个新的列表中。

实现判断函数isprime(x)用于判定整数x是否为质数,并在结果为真时返回True

False。

3.实现一个名为ismonisen(x)的函数,并使其利用isprime(x)函数来识别x是否为默尼森数

如果是则返回True,否则返回False。

通过调用ismonisen(x)函数来对测试数据进行评估,并从中提取所有变化后的默尼森数作为研究样本

执行以下操作:首先将数据导入到一个新的列表中,并同时输出(按空格分隔)到屏幕及文件myf2.out中。随后进行后续处理步骤,并最终完成相关操作。

生本人准考证号字符串输出到文件myf2.out中。

【测试数据与运行结果】

测试数据:

2, 7, 11, 13, 21

屏幕输出:

3 127 8191

参考答案:

第一部分 计算机信息技术基础知识

选择题

第二部分Python程序设计

一、选择题

(1)A(2)D(3)C(4)C(5)B

二、填空题

(1)[5, 4, 3, 1]

(2)['BB', 'a', 'bb', 'zz']

(3)123456

(4)sky或xiaoxiao

(5)xiaoxiao或sky

(6)30

(7)1, 3, 5, 7

(8)1 0 0 0 0 0 1 1

(9)33, 72, 35, 36, 54, 120, 18, 24

(10)12

三、操作题

1.完善程序

def countchar( str):

list1 = [0]*26

for i in range(0,len(str)):

if (str[i] >= 'a' and str[i] <='z'):

list1[ord(str[i])- ord('a')] += 1 # ord("a")或97也正确

print(list1)

if name == "main":

str = "Hope is a good thing."

str = str.lower()

countchar(str)

2.改错

def insert(data, num):

length = len(data)

data.append(num)

for i in range(length):

if num < data[i]:

for j in range(length,i,-1):

data[j] = data[j-1]

data[i] = num

break

if name == "main":

data = [13,22,31,48,54,71,91,94]

while True:

try:

num = int(input("Enter a new number:"))

insert(data, num)

print("The new sorted list is:",data)

break

except ValueError:

print("Please enter a digit!")

3.编程

import math

def isprime(x):

if x==1:

return False

k = int(math.sqrt(x))

for j in list(range(2,k+1)):

if x % j == 0:

return False

return True

def ismonisen(x):

if isprime(x) and isprime(2**x-1):

return True

else:

return False

if name == "main":

num_list = [2, 7, 11, 13, 21]

result_list = []

for num in num_list:

if ismonisen(num):

temp = 2 ** num - 1

print(temp, end = ' ')

result_list.append(str(temp)+' ')

with open("T:\myf2.out", "w") as fp:

fp.writelines(result_list)

fp.write(" My exam number is: 0112400123

全部评论 (0)

还没有任何评论哟~