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