第1个回答 2007-07-25
首先要明确,哪个if,else,endif是一组.
if 总是和下面与之最近的,未与别的if对应的else,endif配对.象你写的
if(……)then...........................3级
if(……) then..................2级
if(……) then.....1级
表达式
else.................1级
表达式
end if ..............1级
else...........................2级
表达式
end if.........................2级
else...................................3级
表达式
end if.................................3级
执行顺序总是执行同级的代码.比如3级的if 语句,当为真是,进入3级代码为真的部分,这时时入2级代码;若3级的if为假,就进入3级的else语句执行.
当进入2级的代码部分执行时,道理同3级,为真执行2级的if后面的代码,进入1级代码,为假,执行2级else的代码.
执行时总是在同级的if,else间执行代码的.
至于你说的循环嵌套,不明白指的是什么,没法解释了.是不是多个for next嵌套呀?道理和if else endif是一样的,for也是和最近的未配对的next进行配对.for 的执行是每次增一时,内部代码运行完一遍.如
for i=1 to 10
for j=1 to 10
sum=sum+j
next j
next i
当i为1时,所谓的内部代码运行完一遍就是j要取从1到10的值运行一遍.
当i为2时,j还要取从1到10的值运行一遍.
......
就是sum 相当于10*(1+2+3+...+10).
明白没,哪不明白再提出来.
最内层的指的就是位于嵌套层中最上方的else.
(与离它最近的而且在它前面未配对的IF配对)把握这句话的三个关键字:最近,前面,未配对.也就是在你选择找配对的else上方代码(前面),由下向上,选择第一个(最近)未配对(未配对)的if与之配对.
第2个回答 2007-07-25
首先要明确,哪个if,else,endif是一组.
if 总是和下面与之最近的,未与别的if对应的else,endif配对.象你写的
if(……)then...........................3级
if(……) then..................2级
if(……) then.....1级
表达式
else.................1级
表达式
end if ..............1级
else...........................2级
表达式
end if.........................2级
else...................................3级
表达式
end if.................................3级
首先判断最外层(3级)条件式,如果为真,执行最次外层(2级),如果为假(false),执行最外层的else下表达式,.....
依次类推,一级的else下的表达式是最后的运算结果.
第3个回答 2007-07-25
这样分层看的话比较简单
1.if(……)then ‘开始执行,条件正确执行语句2.错误执行语句8.,后结束判断
2. if(……) then ‘开始执行,条件正确执行语句3.错误执行语句6.,后结束判断
3. if(……) then 开始执行,条件正确执行发达式,错误执行语句4.的else语句,后结束判断
表达式
4. else
表达式
5. end if
6 else
表达式
7. end if
8.else
表达式
9.end if