第4章控制结构习题(含答案及解析)
第4章控制结构习题
一、选择题。
while语句流程图怎么画1.关于程序设计所要求的基本结构,以下选项中描述错误的是( )
A)循环结构
B)分支结构
C)goto 跳转
D)顺序结构
正确答案: C
解析:为了表示更复杂的处理逻辑,在Python程序中存在三种基本结构,它们分别是:顺序结构;分支结构;循环结构。
2.下面代码的输出结果是
for s in “HelloWorld”:
if s==“W”:
continue
print(s,end="")
A)Hello
B)World
C)HelloWorld
D)Helloorld
正确答案: D
解析:Python通过保留字for实现“遍历循环”,for语句的循环执行次数是由遍历结构体中元素的个数确定的。遍历循环可以理解为从要遍历的结构中逐一提取元素,并赋值给循环变量,对于所提取的每个元素执行一次循环体。Python 提供了两个保留字:break和continue,用来辅助控制循环执行。continue语句只结束本次循环,而不终止整个循环的执行。
3.关于Python循环结构,以下选项中描述错误的是()
A)遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()
函数等。
B)break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行
C)每个continue语句只有能力跳出当前层次的循环
D)Python通过for、while等保留字提供遍历循环和无限循环结构
正确答案: C
解析:continue用来结束当前当次循环,但不跳出当前循环;
每个break语句只有能力跳出当前层次的循环。
4.以下程序的输出结果是:()
for i in "CHINA":
for k in range(2):
print(i, end="")
if i == 'N':
break
A)CCHHIINNAA
B)CCHHIIAA
C)CCHHIAA
D)CCHHIINAA
正确答案: D
解析:每个break语句只有能力跳出当前层次的循环。
5.执行以下程序,输入qp,输出结果是:( )
k = 0
while True:
s=input('请输入q退出:')
if s == 'q':
k += 1
continue
else:
k += 2
break
print(k)
A) 2
B)请输入q退出:
C) 3
D) 1
正确答案: A
解析:s值为 'qp', if s == 'q'为False,执行else语句块。
6. 执行以下程序,输入”93python22”,输出结果是:( )
w = input(‘请输入数字和字母构成的字符串:’)
for x in w:
if '0'<= x <= '9':
continue
else:
w.replace(x,'')
print(w)
A) python9322
B) python
C) 93python22
D) 9322
正确答案: C
解析:'0'的ASCII是48,‘9’的ASCII是57,小写字母的ASCII都大于等于97,所以,循环到‘python’的字母时,执行else语句,但是,关于 string 的replace 方法,需要注意 replace 不会改变原 string 的内容。
7.以下选项,不属于程序流程图基本元素的是:( )
A)循环框
B)连接点
C)判断框
D)起止框
正确答案: A
解析:程序流程图主要由起止框、判断框、处理框、输入/输出框、连接点、流向线和注释框7种基本元素构成。
8.以下关于循环结构的描述,错误的是( ):
A)遍历循环使用for <循环变量> in <循环结构>语句,其中循环结构不能是文件
B)使用range()函数可以指定for循环的次数
C) for i in range(5)表示循环5次,i的值是从0到4
D)用字符串做循环结构的时候,循环的次数是字符串的长度
正确答案: A
解析:遍历循环,可以是计数循环、字符串遍历循环、列表遍历循环、文件遍历循环和字典遍历循环等。
9. for或者while与else搭配使用时,关于执行else语句块描述正确的是( )
A)仅循环非正常结束后执行(以break结束)
B)仅循环正常结束后执行
C)总会执行
D)永不执行
正确答案: B
解析:在Python中,for循环可以和else语句一起使用,其中,for循环中的语句和普通的for语句没有区别,else中的语句会在循环正常执行完成的情况下执行,所谓循环正常执行完成,即for 循环里的语句没有被 break 语句打断。
10.下面代码的输出结果是( )
for n in range(400,500):
i = n // 100
j = n // 10 % 10
k = n % 10
if n == i ** 3 + j ** 3 + k ** 3:
print(n)
A)407
B)408
C)153
D)159
正确答案: A
解析:range(400,500) 函数可创建一个从 400开始到 499的整数列表。
“//”为取整除运算符,返回商的整数部分(向下取整)。
“%”为取模运算符,返回除法的余数。
11.给出下面代码:
a = input("").split(",")
x = 0
while x < len(a):
print(a[x],end="")
x += 1
代码执行时,从键盘获得:Python语言,是,脚本,语言
则代码的输出结果是( )
A)执行代码出错
B)Python语言,是,脚本,语言
C)Python语言是脚本语言
D)无输出
正确答案: C
解析:split() 通过指定分隔符对字符串进行切片,返回分割后的字符串列表。
print默认是打印一行,结尾加换行,end=""末尾不换行。
12.以下程序的输出结果是:( )
s=''
ls = [1,2,3,4]
for l in ls:
s += str(l)
print(s)
A)1,2,3,4
B)4321
C)4,3,2,1
D)1234
正确答案: D
解析:str返回一个对象的string格式,“+”将字符串拼接。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论