单选题 下列程序段执行以后,内存变量Y的值是______。
CLEAR
x=12345
y=0
DO WHILE x>0
y=y+x%10
x=int(x/10)
ENDDO
?y
A.54321 B.12345
C.51 D.15

【正确答案】 D
【答案解析】[解析] %是求余运算,/是除运算;int()函数返回指定表达式的整数部分;DO循环内的第一条语句y=y+x%10是将x的个位数相加,第二条语句是将x各位数字向右移动一位(原个位数丢弃),即十位数变为个位数,所以整个Do循环是将x的各位数相加,即1+2+3+4+5=15。Do循环的执行过程如下:
执行次数 x y
执行前 12345 0
1 1234 5
2 123 9
3 12 12
4 1 14
5 0 15
所以答案应该是15。