内容正文:
4.4.2 while循环的应用
同步练习及答案
一、选择题
1.下列有关while循环结构的说法不正确的是( )。
A.表达式一般是一个关系表达式或一个逻辑表达式,表达式的值应该是一个逻辑值真(True)或假(False)。
B.当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。
C.每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦表达式的值为假就退出循环,为真时就继续执行循环体语句。
D.表达式为假执行循环体,为真退出循环
【答案】D
【解析】本题考查while循环结构。while循环中,表达式为真执行循环体,为假退出循环。
2.计算1到100的和,即是1+2+3+...+99+100,以下说法正确的是( )
s=0
i=①
while i<=②:
s=s+i
③
print(s)
A.①处应为1,表示i初始值为1
B.②处应为101,表示循环执行到100
C.③处应该为i=i+1,表示循环步长为1.
D.print(s)语句缩进错误,应该与while平齐
【答案】B
【解析】②处如果为101,执行i<=101,则程序循环执行到101,不满足题目要求。
3.关于下列程序理解正确的是( )
num=0
while num<10:
print(“good")
A.运行结果打印输出10个“good"语句
B.这个while循环是一个死循环
C.在while代码块中加一行代码num-=1可以改变死循环
D.在while代码块中无论加什么都不能改变死循环
【答案】B
【解析】这个程序num==0始终没有变化,因此在判断“while<10”时始终成立,因此程序是个死循环,打印无数个“good”,在while代码块中加一行代码num+=1可以改变死循环,可以打印输出10个“good"语句。
4.如果输入的值m为10,下列运行结果正确的是( )
m=int(input('请输入一个整数:'))
n=1
sum=0
while n<=m:
if n%2==0:
sum=sum+n
n=n+1
print(sum)
A.55
B.30
C.45
D.44
【答案】B
【解析】根据程序执行过程分析,本程序的功能是计算2+4+6+8+10=30的结果。
5.下列程序段运行的结果是( )。
A. 10 B. 14 C.285 D. 385
【答案】B
【解析】本题主要考查Python程序的执行。分析程序,循环条件是s<10,每次递增1,循环体是s=s+i*i。第一次循环,i=1,s=s+i*i=1;第二次循环,i=2,s=s+i*i=5;第三次循环,i=3,s=s+i*i=14;第四次循环,不满足while循环条件,退出循环,输出s的值为14,故本题选B选项。
6.( )不是程序的基本控制结构。
A.顺序结构
B.组合结构
C.循环结构
D.选择结构
【答案】B
【解析】本体考察的是程序的基本控制结构,程序的基本控制结构主要有顺序结构、选择结构和循环结构
7.如下流程图所示,执行该算法,输出变量i的值为( )。
A. 3 B.4 C. 5 D.6
【答案】B
【解析】本题考查流程图。初始值a=3,b=1,i=0,进入循环∶第一遍循环,b!=0成立,故执行b=a*b=3,a=b-a=0,i=i+2=2;第二遍循环,b!=0成立,故执行b=a*b=0,a=b-a=-3,i=i+2=4;第三遍循环,b!=0不成立,循环结束。故最终i=4,本题选B。
二、程序填空
1.以下是计算s=1+6+11+…+101的程序代码,请完善程序。
s=0
i=1
while(i<= ① ):
s=_____②___
i=_____③___
print(s)
【答案】① 101 ② s+i ③ i+5
2.以下是计算s=1*2*3*…*10的程序代码,请补全程序。
s=____①_____
i=1
while ( i<=10):
s=___②______
i=_ _③______
print(s)
【答案】① 1 ② s*i ③i+1
三、修改程序
王先生最近购买了10万元一年期收益率为4.25%的银行保证收益型理财产品。由于产品一直在持续运作,投资者不按时赎回则视为自动再投资,帮王先生测算出在收益率不变的情况下,至少多少年后他金可以翻倍。刘远同学在编