内容正文:
《程序设计基础-Python》高等教育出版社
第3单元 程序控制结构
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共25小题,每题2分,共50分)
1. 在Python中,用于条件判断的关键字是( )
A. if B. for
C. while D. def
2. 下列代码的输出结果是( )
x = 5
if x > 3:
print("A")
else:
print("B")
A. A B. B
C. AB D. 报错
3. 关于Python中的缩进,下列说法正确的是( )
A. 缩进可有可无
B. 必须使用4个空格
C. 同一代码块缩进必须一致
D. 可以使用Tab和空格混合
4. 执行代码 `print(bool(0))` 的输出结果是( )
A. True B. False
C. 0 D. 报错
5. 下列逻辑运算符中,优先级最高的是( )
A. and B. or
C. not D. 相同
6. 下列代码的输出结果是( )
for i in range(3):
print(i, end=" ")
A. 1 2 B. 1 2 3
C. 0 1 2 3 D. 0 1 2
7. 想要跳出当前循环,应使用的关键字是( )
A. pass B. continue
C. break D. exit
8. 下列代码的输出结果是( )
i = 0
while i < 3:
print(i, end=" ")
i += 1
A. 0 1 2 B. 1 2 3
C. 0 1 2 3 D. 无限循环
9. 下列条件表达式中,结果为True的是( )
A. 5 > 3 and 2 > 4 B. 5 == 3 and 2 == 2
C. not 5 > 3 D. 5 > 3 or 2 > 4
10. 在if-elif-else结构中,下列说法正确的是( )
A. 必须有elif B. 必须有else
C. 可以有多个elif D. elif必须在else之后
11. 下列代码的输出结果是( )
for i in range(1, 5, 2):
print(i, end=" ")
A. 1 2 3 4 B. 1 3
C. 1 3 5 D. 2 4
12. 执行代码 `print(3 > 2 > 1)` 的输出结果是( )
A. 1 B. False
C. True D. 0
13. 下列代码中,能正确判断x是否为偶数的是( )
A. if x % 2 == 0 B. if x / 2 == 0
C. if x // 2 == 0 D. if x ** 2 == 0
14. 关于continue语句,下列说法正确的是( )
A. 跳出整个循环 B. 跳过本次循环剩余语句
C. 结束程序执行 D. 跳出if语句
15. 下列代码的输出结果是( )
x = 10
if x > 5:
if x > 8:
print("A")
else:
print("B")
else:
print("C")
A. A B. B
C. C D. AC
16. 下列循环中,会形成无限循环的是( )
A. `while True: break` B. `while False: pass`
C. `for i in range(10): pass` D. `while 1 > 0: pass`
17. 执行代码 `print(list(range(5)))` 的输出结果是( )
A. [1,2,3,4,5] B. [0,1,2,3,4,5]
C. [0,1,2,3,4] D. [1,2,3,4]
18. 下列代码的输出结果是( )
for i in range(3):
if i == 1:
continue
print(i, end=" ")
A. 0 1 2 B. 0 2
C. 1 2 D. 0 1
19. 在Python中,表示"不等于"的运算符是( )
A. <> B. ^=
C. =! D. !=
20. 下列代码的输出结果是( )
x = 0
while x < 5:
x += 1
if x == 3:
break
print(x, end=" ")
A. 1 2 B. 1 2 3
C. 1 2 3 4 D. 1 2 4
21. 下列嵌套循环中,内层循环执行的总次数是( )
for i in range(3):
for j in range(2):
print(i, j)
A. 3 B. 2
C. 5 D. 6
22. 下列代码的输出结果是( )
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
A. 优秀 B. 良好
C. 及格 D. 不及格
23. 关于pass语句,下列说法正确的是( )
A. 跳出循环 B. 跳过本次循环
C. 结束程序 D. 空语句,不做任何操作
24. 下列代码的输出结果是( )
for i in range(1, 4):
for j in range(i):
print("*", end="")
print()
A. 三角形图案 B. 矩形图案
C. 菱形图案 D. *
25. 执行代码 `print(5 and 3)` 的输出结果是( )
A. True B. False
C. 5 D. 3
二、判断题(共10题,每题1分,共10分)
1. Python中if语句后面的条件表达式必须加括号。( )
2. 在Python中,缩进可以使用Tab或空格,但不能混用。( )
3. while循环至少会执行一次。( )
4. for循环可以遍历字符串中的每个字符。( )
5. break语句只能用于循环结构中。( )
6. 在if-else结构中,else子句是必需的。( )
7. range(1, 10, 2)生成的数字个数是5个。( )
8. 逻辑运算符or的优先级高于and。( )
9. 嵌套循环中,内层循环每执行完一轮,外层循环才执行一次。( )
10. 在Python中,0、空字符串、None转换为布尔值时为False。( )
3、 名词解释题(共4题,每题3分,共12分)
1. 选择结构
2. 循环结构
3. break语句
4. 缩进
四、简答题(共4题,每题4分,共16分)
1. 请简述Python中if-elif-else结构的执行流程。
2.请说明for循环和while循环的主要区别及适用场景。
3. 请列举Python中常用的逻辑运算符及其含义。
4. 请说明break和continue语句的区别。
五、编程题(本题共1小题,每题12分,共12分)
编写程序,实现以下功能:
1. 提示用户输入一个正整数n (2分)
2. 使用循环计算1到n的累加和(5分)
3. 判断累加和是否能被3整除,并输出相应结果(5分)
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《程序设计基础-Python》高等教育出版社
第3单元 程序控制结构
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共25小题,每题2分,共50分)
1. 在Python中,用于条件判断的关键字是( )
A. if B. for
C. while D. def
【答案】:A
【解析】:if是条件判断的关键字,for和while是循环关键字,def是函数定义关键字。
2. 下列代码的输出结果是( )
x = 5
if x > 3:
print("A")
else:
print("B")
A. A B. B
C. AB D. 报错
【答案】:A
【解析】: x=5大于3,条件为True,执行if分支,输出A。
3. 关于Python中的缩进,下列说法正确的是( )
A. 缩进可有可无
B. 必须使用4个空格
C. 同一代码块缩进必须一致
D. 可以使用Tab和空格混合
【答案】:C
【解析】: Python使用缩进来表示代码块,同一代码块的缩进必须一致,不能混用Tab和空格。
4. 执行代码 `print(bool(0))` 的输出结果是( )
A. True B. False
C. 0 D. 报错
【答案】:B
【解析】: 在Python中,0、空字符串、空列表等转换为布尔值时为False。
5. 下列逻辑运算符中,优先级最高的是( )
A. and B. or
C. not D. 相同
【答案】:C
【解析】: 逻辑运算符优先级:not > and > or。
6. 下列代码的输出结果是( )
for i in range(3):
print(i, end=" ")
A. 1 2 B. 1 2 3
C. 0 1 2 3 D. 0 1 2
【答案】:D
【解析】: range(3)生成0、1、2三个数,不包含3。
7. 想要跳出当前循环,应使用的关键字是( )
A. pass B. continue
C. break D. exit
【答案】:C
【解析】: break用于跳出整个循环,continue跳过本次循环,pass是空语句。
8. 下列代码的输出结果是( )
i = 0
while i < 3:
print(i, end=" ")
i += 1
A. 0 1 2 B. 1 2 3
C. 0 1 2 3 D. 无限循环
【答案】:A
【解析】: while循环当i<3时执行,i从0到2,共输出3次。
9. 下列条件表达式中,结果为True的是( )
A. 5 > 3 and 2 > 4 B. 5 == 3 and 2 == 2
C. not 5 > 3 D. 5 > 3 or 2 > 4
【答案】:D
【解析】: A选项and两边需都为True;D选项or只要一边为True即可,5>3为True;C选项not 5>3为False;B选项5==3为False。
10. 在if-elif-else结构中,下列说法正确的是( )
A. 必须有elif B. 必须有else
C. 可以有多个elif D. elif必须在else之后
【答案】:C
【解析】: if是必需的,elif和else都是可选的,可以有多个elif,elif必须在else之前。
11. 下列代码的输出结果是( )
for i in range(1, 5, 2):
print(i, end=" ")
A. 1 2 3 4 B. 1 3
C. 1 3 5 D. 2 4
【答案】:B
【解析】: range(1,5,2)从1开始,步长为2,生成1、3,不包含5。
12. 执行代码 `print(3 > 2 > 1)` 的输出结果是( )
A. 1 B. False
C. True D. 0
【答案】:C
【解析】: Python支持链式比较,3>2>1等价于3>2 and 2>1,结果为True。
13. 下列代码中,能正确判断x是否为偶数的是( )
A. if x % 2 == 0 B. if x / 2 == 0
C. if x // 2 == 0 D. if x ** 2 == 0
【答案】:A
【解析】: 偶数除以2余数为0,使用%取模运算符判断。
14. 关于continue语句,下列说法正确的是( )
A. 跳出整个循环 B. 跳过本次循环剩余语句
C. 结束程序执行 D. 跳出if语句
【答案】:B
【解析】: continue跳过本次循环的剩余语句,直接进入下一次循环。
15. 下列代码的输出结果是( )
x = 10
if x > 5:
if x > 8:
print("A")
else:
print("B")
else:
print("C")
A. A B. B
C. C D. AC
【答案】:A
【解析】: x=10>5进入外层if,10>8进入内层if,输出A。
16. 下列循环中,会形成无限循环的是( )
A. `while True: break` B. `while False: pass`
C. `for i in range(10): pass` D. `while 1 > 0: pass`
【答案】:D
【解析】: 1>0始终为True,且没有break语句,形成无限循环。
17. 执行代码 `print(list(range(5)))` 的输出结果是( )
A. [1,2,3,4,5] B. [0,1,2,3,4,5]
C. [0,1,2,3,4] D. [1,2,3,4]
【答案】:C
【解析】: range(5)生成0到4的整数,不包含5。
18. 下列代码的输出结果是( )
for i in range(3):
if i == 1:
continue
print(i, end=" ")
A. 0 1 2 B. 0 2
C. 1 2 D. 0 1
【答案】:B
【解析】: 当i=1时执行continue,跳过print,所以输出0和2。
19. 在Python中,表示"不等于"的运算符是( )
A. <> B. ^=
C. =! D. !=
【答案】:D
【解析】: !=是不等于运算符,<>在Python 3中已废弃。
20. 下列代码的输出结果是( )
x = 0
while x < 5:
x += 1
if x == 3:
break
print(x, end=" ")
A. 1 2 B. 1 2 3
C. 1 2 3 4 D. 1 2 4
【答案】:A
【解析】: x=1输出,x=2输出,x=3时break跳出循环,不输出3。
21. 下列嵌套循环中,内层循环执行的总次数是( )
for i in range(3):
for j in range(2):
print(i, j)
A. 3 B. 2
C. 5 D. 6
【答案】:D
【解析】: 外层循环3次,内层循环2次,总共3×2=6次。
22. 下列代码的输出结果是( )
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
A. 优秀 B. 良好
C. 及格 D. 不及格
【答案】:B
【解析】: 85>=80为True,输出"良好",不再判断后续条件。
23. 关于pass语句,下列说法正确的是( )
A. 跳出循环 B. 跳过本次循环
C. 结束程序 D. 空语句,不做任何操作
【答案】:D
【解析】: pass是空语句,用于占位,不做任何操作。
24. 下列代码的输出结果是( )
for i in range(1, 4):
for j in range(i):
print("*", end="")
print()
A. 三角形图案 B. 矩形图案
C. 菱形图案 D. *
【答案】:A
【解析】: 第一行1个*,第二行2个*,第三行3个*,形成三角形图案。
25. 执行代码 `print(5 and 3)` 的输出结果是( )
A. True B. False
C. 5 D. 3
【答案】:D
【解析】: and运算符返回第一个为False的值或最后一个值,5和3都为真,返回3。
二、判断题(共10题,每题1分,共10分)
1. Python中if语句后面的条件表达式必须加括号。( )
【答案】:错误
【解析】: Python中if语句的条件表达式不需要加括号,直接写条件即可。
2. 在Python中,缩进可以使用Tab或空格,但不能混用。( )
【答案】:正确
【解析】: 同一代码块必须使用一致的缩进方式,不能混用Tab和空格。
3. while循环至少会执行一次。( )
【答案】:错误
【解析】: while循环是先判断条件再执行,如果条件初始为False,一次都不执行。
4. for循环可以遍历字符串中的每个字符。( )
【答案】:正确
【解析】: for循环可以遍历任何可迭代对象,包括字符串、列表、元组等。
5. break语句只能用于循环结构中。( )
【答案】:正确
【解析】: break只能用于for或while循环中,不能用于if语句。
6. 在if-else结构中,else子句是必需的。( )
【答案】:错误
【解析】: else子句是可选的,可以只有if或if-elif结构。
7. range(1, 10, 2)生成的数字个数是5个。( )
【答案】:正确
【解析】: 生成1、3、5、7、9,共5个数字。
8. 逻辑运算符or的优先级高于and。( )
【答案】:错误
【解析】: 逻辑运算符优先级:not > and > or。
9. 嵌套循环中,内层循环每执行完一轮,外层循环才执行一次。( )
【答案】:错误
【解析】: 外层循环执行一次,内层循环执行完整一轮。
10. 在Python中,0、空字符串、None转换为布尔值时为False。( )
【答案】:正确
【解析】: 这些值在布尔上下文中被视为False。
3、 名词解释题(共4题,每题3分,共12分)
1. 选择结构
【答案】: 选择结构是程序控制结构的一种,根据条件表达式的真假来决定执行哪一段代码。Python中使用if-elif-else语句实现选择结构,可以实现单分支、双分支和多分支选择。
2. 循环结构
【答案】: 循环结构是程序控制结构的一种,用于重复执行某段代码。Python中主要有两种循环:for循环用于遍历序列,while循环用于根据条件重复执行。循环可以提高代码效率,避免重复编写相同代码。
3. break语句
【答案】: break语句用于跳出整个循环结构,终止循环的执行。当程序执行到break语句时,会立即退出当前所在的循环,继续执行循环后面的代码。break常用于在满足特定条件时提前结束循环。
4. 缩进
【答案】: 缩进是Python中用于表示代码块层次结构的格式要求。同一代码块的语句必须保持相同的缩进量,通常使用4个空格或1个Tab。缩进错误会导致IndentationError,是Python语法的重要组成部分。
四、简答题(共4题,每题4分,共16分)
1. 请简述Python中if-elif-else结构的执行流程。
【答案】:
(1)首先判断if后面的条件表达式,如果为True,执行if后的代码块,然后跳出整个结构
(2)如果if条件为False,依次判断每个elif后的条件表达式
(3)如果某个elif条件为True,执行该elif后的代码块,然后跳出整个结构
(4)如果所有if和elif条件都为False,执行else后的代码块
(5)一旦某个分支被执行,其他分支不再判断
2.请说明for循环和while循环的主要区别及适用场景。
【答案】:
(1)for循环:用于遍历序列,循环次数通常已知
适用场景:遍历数据、固定次数循环
(2)while循环:根据条件表达式判断是否继续循环,循环次数可能未知
适用场景:条件控制循环、用户输入验证、无限循环
(3)区别:for更简洁安全,while更灵活但需注意避免无限循环
3. 请列举Python中常用的逻辑运算符及其含义。
【答案】:
(1)and:逻辑与,两边都为True时结果为True
(2)or:逻辑或,只要一边为True结果就为True
(3)not:逻辑非,对布尔值取反
4. 请说明break和continue语句的区别。
【答案】:
(1)break:跳出整个循环,终止循环执行,继续执行循环后的代码
(2)continue:跳过本次循环的剩余语句,直接进入下一次循环
(3)break用于提前结束循环,continue用于跳过某些迭代
五、编程题(本题共1小题,每题12分,共12分)
编写程序,实现以下功能:
1. 提示用户输入一个正整数n (2分)
2. 使用循环计算1到n的累加和(5分)
3. 判断累加和是否能被3整除,并输出相应结果(5分)
【答案】:
# 第1问:获取用户输入
n = int(input("请输入一个正整数:"))
# 第2问:计算累加和
total = 0
for i in range(1, n + 1):
total += i
print(f"1到{n}的累加和为:{total}")
# 第3问:判断是否能被3整除
if total % 3 == 0:
print(f"{total}能被3整除")
else:
print(f"{total}不能被3整除")
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$