分数:100 题数:38 测试时长:60min
一、单选题(共25题,共50分)
1. 列表L1中全是整数,小明想将其中所有奇数都增加1,偶数不变,于是编写了如下图所示的代码。请问,图中红线处,代码应该是?( D)(2分)
A.x || 2
B.x ^ 2
C.x && 2
D.x % 2
答案解析:本题代码中,for x in L1 是在L1列表中循环,每次取出的值x交给if语句进行判断,如果除以2的余数不等于0,就是奇数,则x+1,若等于0则x
值不变。取余数的运算符是%,所以正确答案就是D。
2. 小明为了学习选择排序的算法,编写了下面的代码。针对代码中红色文字所示的一、二、三处,下面说法正确的是?(B)(2分)
a = [8,4,11,3,9]
count = len(a)
for i in range(count-1):
mi = i
for j in range(i+1,count):
if a[mi] > a[j]: #代码一
mi = j #代码二
if i!=mi:
a[mi],a[i] = a[i],a[mi] #代码三
print(a)
A.如果找到更大的元素,则记录它的索引号。
B.如果找到更小的元素,则记录它的索引号。
C.在一趟选择排序后,不管是否找到更小的元素,mi所在元素都得与i所在的元素发生交换。
D.代码三所在的行必然要运行。
3. 小明编写了一段演示插入排序的代码,代码如下。请问红色“缺失代码”处,应该填写哪段代码?(A)(2分)
a = [8,4,11,3,9]
count = len(a)
for i in range(1, count):
j = i
b = a[i]
while j>0 and b<a[j-1] :
a[j] = a[j-1]
缺失代码
a[j] = b
print(a)
A.j=j-1
B.j=j+1
C.j=i+1
D.j=i-1
答案解析:本题考查学生对插入排序算法的理解。当前位置数字需要通过循环,逐个与之前位置的数字进行比较,所以正确答案是A,j=j-1,用于下一次循环时,获取前一个数字。
4. 在计算机中,信息都是采用什么进行存储?(A)(2分)
A.二进制数
B.八进制数
C.十进制数
D.十六进制数
5. 十进制数(100)10,转化为二进制数为( )2?(C)(2分)
A.0010011
B.1010001
C.1100100
D.0101100
6. 十六进制数每一位至多可以表示几位二进制位?(C )(2分)
A.2
B.3
C.4
D.16
7. 八进制数(35)8,转化为十进制数为() 10?(D)(2分)
A.100011
B.110001
C.232
D.29
8. 执行代码a=min(3,2,4.3),变量a的值是?(B)(2分)
A.3
B.2
C.4.3
D.4
9. print(max('python+'))的运行结果是?(D)(2分)
A.'p'