一道VB试题
PrivateSubCommand1_Click()Fori=1To10Forj=0Toi-1s=s+1NextjNextiPrintsEndSub搞不明白S是怎么取值的...
Private Sub Command1_Click()
For i = 1 To 10
For j = 0 To i - 1
s = s + 1
Next j
Next i
Print s
End Sub
搞不明白S是怎么取值的?求各位大侠帮助~! 展开
For i = 1 To 10
For j = 0 To i - 1
s = s + 1
Next j
Next i
Print s
End Sub
搞不明白S是怎么取值的?求各位大侠帮助~! 展开
展开全部
这是一个双层循环,外层循环由变量i的取值控制,内层循环由变量j控制,当i每取一次值时,j要从0变化到i-1。
比如当i=1时,j先取0,这时候j的终值条件是i-1也就是0,意味着内层循环的控制变量j只能是取0到0,也就是内循环s=s+1只能执行一次,那么就是当i=1是,s=s+1,只执行了一次,s=1.然后遇到next j,j要增加1变成了1超过了终值0,内层循环退出遇到next i,i增加1变成2,返回到for i= 1 to 10,判断i 的终值是10,2没有超过终值,循环继续进行。
这是i第二次取了新值,j 又要从 0 到i-1之间挨个取值,并执行循环体s=s+1了。
这种双层循环得以执行的条件就是外层循环变量如果满足条件就可以去执行向下执行了,至于内层循环是否能执行还要考虑在当前的状态下内层循环得条件是否得到满足。
我在程序中加上几句显示i和j变换的语句,可以帮助你更好的分析代码:
Private Sub Command1_Click()
For i = 1 To 10
Print "当i=" & i
For j = 0 To i - 1
Print "j=" & j,
s = s + 1
Print "s=" & s,
Next j
Print
Print
Next i
Print
End Sub
比如当i=1时,j先取0,这时候j的终值条件是i-1也就是0,意味着内层循环的控制变量j只能是取0到0,也就是内循环s=s+1只能执行一次,那么就是当i=1是,s=s+1,只执行了一次,s=1.然后遇到next j,j要增加1变成了1超过了终值0,内层循环退出遇到next i,i增加1变成2,返回到for i= 1 to 10,判断i 的终值是10,2没有超过终值,循环继续进行。
这是i第二次取了新值,j 又要从 0 到i-1之间挨个取值,并执行循环体s=s+1了。
这种双层循环得以执行的条件就是外层循环变量如果满足条件就可以去执行向下执行了,至于内层循环是否能执行还要考虑在当前的状态下内层循环得条件是否得到满足。
我在程序中加上几句显示i和j变换的语句,可以帮助你更好的分析代码:
Private Sub Command1_Click()
For i = 1 To 10
Print "当i=" & i
For j = 0 To i - 1
Print "j=" & j,
s = s + 1
Print "s=" & s,
Next j
Next i
End Sub
展开全部
i=1 j从0循环到0 s=1
i=2 j从0循环到1 s=2 s=3 (加两次)
以此推把
哦前提s=0
i=2 j从0循环到1 s=2 s=3 (加两次)
以此推把
哦前提s=0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
外循环10次,内循环依次是1,2,3,4,5,6,7,8,9,10次,及是1+2+3……+10=55,最后S为55。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
此题有两个循环,此题的关键是外循环每变一个数,内循环执行相应的次数完后,外循环再改变一个数,再执行内循环,直至外循环也执行完为止。
此题i先为一,再看内循是从0到i-1,第一次进行时i为一,则内循环为0到0,执行一次,接着内循环结束,外循i值变为2,相应的内循环从0到i-1,执行j分别为0,1的两次,按照此方法直至i变为10,此时内循环从0到9执行10次。而s=s+1表示每执行一次循环s值加一,此程序一共执行了55次,s变量没有赋值,则最开始为0,最后结果为55.
此题i先为一,再看内循是从0到i-1,第一次进行时i为一,则内循环为0到0,执行一次,接着内循环结束,外循i值变为2,相应的内循环从0到i-1,执行j分别为0,1的两次,按照此方法直至i变为10,此时内循环从0到9执行10次。而s=s+1表示每执行一次循环s值加一,此程序一共执行了55次,s变量没有赋值,则最开始为0,最后结果为55.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询