问题
单项选择题
执行下列程序,最后S的显示值为( )。SET TALK OFFs=0i=2x=10DO WHILE s<=x s=s+i i=i+1ENDDOsSET TALK ON
A.12
B.14
C.16
D.18
答案
参考答案:B
解析:
DO WHILE-ENDDO语句的格式:
DO WHILE<条件>
<命令序列>
ENDDO
执行该语句时,先判断DO WHILE处的循环条件是否成立,如果条件为真,则执行DO WHILE与ENDDO之间的<命令序列>(循环体)。当执行到ENDDO时,返回到DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDDO后面的语句。
先给3个变量赋初始值,使用一个DO WHILE循环语句来操作,判断条件是变量,是否小于等于x,如果大于x,则退出循环,否则执行循环体,执行s=s+i,s=2:再执行i=i+1后,1=3,重复此循环体的操作。题干中的循环步骤及结果见下表。
s | i | x | 判断条件s<=x | |
初始值 | 0 | 2 | 10 | .T. |
因为s<=x,条件真, 执行循环体 | 2 | 3 | 10 | .T. |
因为s<=x,条件真, 执行循环体 | 5 | 4 | 10 | .T. |
因为s<=x条件真, 执行循环体 | 9 | 5 | 10 | .T. |
因为s<=x条件真, 执行循环体 | 14 | 6 | 10 | .F. |
因为s>x条件假, 执行循环体 | 14 | 6 | 10 |