下列程序(请注意循环体内的LOOP和EXIT语句)的运行结果是( )。 X=8 DO WHILE.T. X=X+1 IF X=INT(X/3)*3 ? X ELSE

admin2013-05-15  29

问题 下列程序(请注意循环体内的LOOP和EXIT语句)的运行结果是(  )。     X=8     DO WHILE.T.        X=X+1        IF X=INT(X/3)*3            ? X        ELSE            LOOP        ENDIF        IF X>10            EXIT         ENDIF    ENDDO

选项 A、9  12
B、12  15
C、15  18
D、18  21

答案1

解析 DO WHILE-ENDDO语句的格式:
   DO WHILE<条件>
   <命令序列>
   ENDDO
   执行该语句时,先判断DO WHILE处的循环条件是否成立,如果条件为真,则执行DO WHILE与ENDDO之间的<命令序列>(循环体)。当执行到ENDDO时,返回到DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDDO后面的语句。在循环语句的循环体中还可以出现两条特殊的命令:LOOP和EXIT。这两条命令会影响循环语句的 正常执行流程。
   ①如果循环体包含LOOP命令,那么当遇到LOOP时,就结束循环体的本次执行,不再执行其后面的语句,而是转回DO WHILE处重新判断条件;②如果循环体包含EXIT命令,那么当遇到EXIT时,就结束循环语句的执行,转回执行EXIT后面的语句。
   分析题干,首先将初始值8分别赋给两个变量X,然后进入循环。
   执行X=X+1后,X=9,INT表示取整数,则INT(X/3)*3的结果为9,即IF的判断条件成立,所以输出X,即输入9,因为此时X=9,小于10,再次进入循环。执行X=X+1后,X=10,则INT(X/3)*3的结果为9,即IF的判断条件不成立,执行LOOP命令,不再执行后面的语句,而是转回DO WHILE处重新判断条件,重新执行循环。执行X=X+1后,X=11,则INT(X/3)*3的结果为9,即IF的判断条件不成立,执行LOOP命令,不再执行后面的语句,而是转回DO WHILE处重新判断条件,重新执行循环。执行X=X+1后,X=12,则INT(X/3)*3的结果为12,即IP的判断条件成立,所以输入X,即输入12,因为此时X=12,大于10,执行EXIT命令,跳出循环。最后输出的是9和12。
转载请注明原文地址:https://jikaoti.com/ti/6UZ0FFFM
0

最新回复(0)