问题 单项选择题

下列程序段执行以后,内存变量y的值是( )。
x=34567
y=0
DOWHILE x>0
y=x%40+y*10
x=Int(x/10)
ENDDO

A.3456

B.34567

C.7654

D.76543

答案

参考答案:D

解析: 题目给出的程序段中,用到了DO WHILE…ENDDO循环结构。执行该语句时,先判断DO WHILE处的循环条件是否成立,如果条件为真,则执行DO WHILE和ENDDO之间的命令序列。当执行到ENDDO时,返回到DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDDO后面的语句。循环体中还用到了算术运算符%,是求余运算。Int为取整数函数,返回指定数值表达式的整数部分。根据所给初值和循环条件,可以判断出第1次循环后y=7,x=3456,第2次后y=76,x=345,第3次后,y=765,x=34,第4次后y=7654,x=3,第5次后y=76543,x=0,第6次对条件x>0进行判断,结果为假,故退出循环,执行结束,最终y的值即为76543。

选择题
单项选择题