问题 单项选择题

下列的程序段中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时,才跳出循环体,答案正确。

选择题
判断题