第4章 控制结构习题
一、选择题。
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 \ 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(\x = 0
while x < len(a):
print(a[x],end=\ x += 1
代码执行时,从键盘获得:Python语言,是,脚本,语言 则代码的输出结果是( ) A)执行代码出错
B)Python语言,是,脚本,语言 C)Python语言是脚本语言 D)无输出 正确答案: C
解析:split() 通过指定分隔符对字符串进行切片,返回分割后的字符串列表。