单选题
下列的程序段中y的计算结果为76543的是( )
A、
x=34567 y=0 flag=.T. DO WHILE flag y=x%10+y*10 x=int(x/10) IF x>0 flag=.F. ENDIF ENDDO
B、
x=34567 y=0 flag=.T. DO WHILE flag y=x%10+y*10 x=int(x/10) IF x=0 flag=.F. ENDIF ENDDO
C、
x=34567 y=0 flag=.T. DO WHILE !flag y=x%10+y*10 x=int(x/10) IF x>0 flag=.F. ENDIF ENDDO
D、
x=34567 y=0 flag=.T. DO WHILE !flag y=x%10+y*10 x=int(x/10) IF x=0 flag=.T. ENDIF ENDDO
【正确答案】
B
【答案解析】
解析:DO WHILE<条件>循环,首先判断循环条件是否为逻辑真,如果为逻辑真,则执行循环体内代码,所以C选项、D选项不会执行循环体内代码,不正确。A选项中条件语句IF x>0使得循环只执行一次,即跳出循环体,所以也不正确。B选项当x=0时,才跳出循环体,答案正确。
提交答案
关闭