作业帮 > 数学 > 作业

请解释下面程序每一句含义以及最后输出的值

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/04/27 10:33:30
请解释下面程序每一句含义以及最后输出的值
Private Sub Form-Click()
For i=1 to 4
X=1
For j=1 to 3
X=3
For k=1 to 2
X=X+6
Next k
Next j
Next i
print x
End sub
请解释下面程序每一句含义以及最后输出的值
Private Sub Form-Click()--------vb窗体点击事件
For i=1 to 4----------------------------for循环,i为1到4,执行下面的next i时自动加1,最多加到4
X=1 -------------------------------------设置变量x值为1
For j=1 to 3---------------for循环,j为1到3,执行下面的next j时自动加1,最多加到3
X=3-----------------------------设置变量x值为3
For k=1 to 2-------------------同理
X=X+6------------------设置x值为 之前x的值再加上6
Next k-----------------------------进行for k...下一次循环
Next j
Next i
print x -------------------------输出变量x的值
End sub-------------------------方法结束
最后的x值为15,其实分析很简单的:
1:每次i循环后都将x重新赋值为1,这就说明i的循环次数不会影响x的最终值
2:每次j循环后都将x重新赋值为3,这就说明j的循环次数不会影响x的最终值
3:由1和2知道循环次数i和j并不影响结果值x,那么最后有效范围是:j=3的最后一次循环,此时x=3,那么最后k还有两次循环,第一次循环后x=3+6-->x=9,第二次循环后,x=9+6--->15
再问: (1)第一次循环:i=1 x=1 J=1 x=3 k=1 x=3+6 第二次循环:K=2 x=9+6 j=2 x=3 i=2 x=1(按 Next kNext jNext i的顺序) (2)i j循环完之后k才从1 to 2循环 这2种哪个对?还是都不对?
再答: 循环嵌套的结果是:第一层循环i=1后,x=1,然后执行第二层循环j=1,又把x=3,然后执行第三层循环,最后一层循环要全部循环完,所以k循环了2次,当k循环完后,它的上一循环,即j开始循环第二次,此时j++了j=2,然后再次循环k,直到k循环完了,再回来循环j,最后j循环完了此时i++了,i=2了,然后重复,即,先执行内循环,在执行外循环,所以有效的一次是,i=4,j=3时的最后循环,所以,可以说你理解的都不对, 每当外一层的i或者j变化时,内循环都要全部执行完,当所有内循环结束后,该层循环的i或者j或者k才会自动改变值。即:i变化后,j循环要全部执行一遍j=,每当j变化时,k都要全部执行k=,所有k里面的循环以后要执行i=4 乘以j=3乘以k=2次,共24次,不信你可以在k循环里print 1,试试,共弹出24次