下面程序的输出结果为( )。 CLEAR i=1 DOWHILEi

admin2012-09-07  28

问题 下面程序的输出结果为(            )。
CLEAR
    i=1
    DOWHILEi<=3
      IF INT(i/2)!=i/2
          ?“fox”
      ENDIF
    ??“pro”
    i=i+2
    ENDDO

选项 A、pro
   pro
B、fox
   foxpro
C、foxpro
   pro
D、foxpro
   foxpro

答案D

解析 DO WHILE-ENDDO语句的格式:
       DOWHILE<条件>
           <命令序列>
       ENDDO
    执行该语句时,先判断DO WHILE处的循环条件是否成立,如果条件为真,则执行DO WHILE与ENDDO之间的<命令序列>(循环体)。当执行到ENDDO时,返回到DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDDO后面的语句。
    先将1赋给变量i,然后进入DO WHILE循环结构,判断条件是变量X是否小于等于3,如果大于3,则退出循环,否则执行循环体,通过INT(取整函数)取得i除以2的值的整数部分,判断该整数部分是否等于i除以2的值,如果不相等,则输出“fox”,然后在同一行输出“pro”,再执行i=i+2,重复此循环体的操作。
    所以j=1时,JNT(i/2)=0,i/2=0.5,输出“fox”,然后输出“pro”,执行i=i+2,此时i=3,INT(i/2)=1,i/2=1.5,这两个值不相等,输出“fox”,然后在同一行输出“pro”,当再次执行i=i+2,此时i=5,i的值大于3退出循环。
转载请注明原文地址:https://jikaoti.com/ti/jkZ0FFFM
0

随机试题
最新回复(0)