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