详细讲解一下VB里面的IF嵌套跟循环嵌套

例如:
if(……)then
if(……) then
if(……) then
表达式
else
表达式
end if
else
表达式
end if
else
表达式
end if

里面是先执行哪一个IF语句?然后再怎样运行?
循环嵌套是按什么顺序执行?
本人理解能力有限,大家尽量讲的通俗易懂些
谢谢大家,我已经大致理解了刚才那段IF..
只是觉得书上的例子太复杂了
看着人直迷糊..
我就是不知道怎么找配套的IF
还有IF跟ELSE的配对关系的原则是:先从最内层的ELSE开始找,ELSE总是与离它最近的而且在它前面未配对的IF配对.
这句话怎么理解呢??

举例代码如下:
1.循环嵌套
for i=1 to 10
for k=1 to 10
next k
next i

为了好给你讲,将上面的循环i叫做A,循环k叫做B.
他们的执行顺序是,先执行A的第一次循环,进入A之后,再执行循环B,循环B循环完了,再执行A的下一次循环,接着再将B循环完了,再进行A的下一次循环.直到A循环完10次.

2.IF嵌套
IF a>b then
if b>c then
end if
else
if a>c then
end if
end if
我觉得IF嵌套应该比循环嵌套更好懂一些,代码从上到下执行,先比较a和b,如果a大于b,则再比较b是否大于c.当然,如果a不大于b,就不用再执行b和c的比较了,而是执行a和c的比较.

希望你能看懂,其实你自己用VB写一下程序就知道了.
温馨提示:答案为网友推荐,仅供参考
第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
第4个回答  2007-07-25
所以要使用tab来缩进,这样就能够看清楚了。(由于空格发出来看不见,因此用点代替)
if(……)then
....if(……) then
........if(……) then
............表达式
........else
............表达式
........end if
....else
........表达式
....end if
else
....表达式
end if
相似回答