详细讲解一下VB里面的IF嵌套跟循环嵌套
例如:if(……)thenif(……)thenif(……)then表达式else表达式endifelse表达式endifelse表达式endif里面是先执行哪一个IF语句...
例如:
if(……)then
if(……) then
if(……) then
表达式
else
表达式
end if
else
表达式
end if
else
表达式
end if
里面是先执行哪一个IF语句?然后再怎样运行?
循环嵌套是按什么顺序执行?
本人理解能力有限,大家尽量讲的通俗易懂些
谢谢大家,我已经大致理解了刚才那段IF..
只是觉得书上的例子太复杂了
看着人直迷糊..
我就是不知道怎么找配套的IF
还有IF跟ELSE的配对关系的原则是:先从最内层的ELSE开始找,ELSE总是与离它最近的而且在它前面未配对的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.循环嵌套
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写一下程序就知道了.
展开全部
首先要明确,哪个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与之配对.
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与之配对.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先要明确,哪个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下的表达式是最后的运算结果.
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下的表达式是最后的运算结果.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样分层看的话比较简单
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
所以要使用tab来缩进,这样就能够看清楚了。(由于空格发出来看不见,因此用点代替)
if(……)then
....if(……) then
........if(……) then
............表达式
........else
............表达式
........end if
....else
........表达式
....end if
else
....表达式
end if
if(……)then
....if(……) then
........if(……) then
............表达式
........else
............表达式
........end if
....else
........表达式
....end if
else
....表达式
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询