问题 单项选择题

执行如下程序,最后s的显示值为( )。 SETTALKOFF s=0 i=2 x=l0 DO WHILE s<=x s=s+i i=i+1 ENDDO s SET 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循环语句来操作,判断条件是变量s是否小于等于x,如果大于x,则退出循环,否则执行循环体,执行S=S+i,s=2;再执行i=i+1后,i=3,重复此循环体的操作。题干中的循环步骤及结果见下表。
循环步骤及结果

步骤six判断条件s<=x
①初始值0210.T.
②因为s<=x,执行循环体2310.T.
续表
步骤six判断条件s<=x
③因为s<=x,条件真,执行循环体5410.T.
④因为s<=x,条件真,执行循环体9510.T.
⑤因为s<=x,条件真,执行循环体14610.F.
⑥因为s>x,条件假,退出循环体14610


所以s最终的显示值是14。

填空题
阅读理解与欣赏