for i.. to .. step a
创新互联专注于企业成都全网营销、网站重做改版、灵寿网站定制设计、自适应品牌网站建设、H5网站设计、商城系统网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为灵寿等各大城市提供网站开发制作服务。
1.如果i是integer,且a为固定的小数,设第一次循环i=1,i+a后的小数i要进行四舍五入取整,再执行循环体,而a的值是不变的。
2.如果i是single,且a为小数,则下次循环的i不用取整了,a的值还是不变的。
3.a想定义成变量的话,在单层循环中,是无法实现的,但嵌套的可以改变内层循环的步长。
a=1
'a要赋初始值,否则死循环。
for i.. to ..
for j.. to .. step a
……
next
a=a+1
next
此时的a是可以间接改变的。
4.你的程序中的a 没有值,默认的值为0,步长为0,循环中的i永远是1,而sum一直累加,当达到long的最大值后,就出现溢出错误。
在VB中for循环有三部分:变量初始化(int i),循环条件判定(i=5),变量改变条件(i++)。
至于步长是前后两次变量的变化差值。
比如For Next循环中的,Step参数就是设置步长的值,称之为是步长值。
示例:
For i = 1 to 15 Step 3
这里的步长就是设置的步长值,是3。
第一次循环时i值为1,第二次i就是4了。
按照你的结果,中间应该是累加: sum=sum+i
步长的意思就是循环变量的递增量。
步长为1:for循环执行中i的值分别为1,2,3,4;则sum=1+1+2+3+4
步长为2:for循环执行中i的值分别为1,3;则sum=1+1+3
步长为3:for循环执行中i的值分别为1,4;则sum=1+1+4
For i = 1 to 15 Step 3
...循环内语句
Next
循环的原理:
第一部分,循环必备条件
1:循环变量 i
2:循环变量的取值范围 1 to 15
3:步长 3 (省略则默认为1)
4:循环范围必须与步长相匹配,递增范围,那么步长必须为正数,递减范围,那么步长必须为负数,否则循环不被执行。
满足以上四条,开始第一次循环,此时 i = 1。
循环:
1、执行“循环内语句”;
2、运行到Next处,(这里就是你要问的地方),Next语句实际执行的就是循环变量的“+步长”运算。此时 i = i + 步长,i = 1 + 3 = 4
3、判断 循环变量的值 是否在循环变量的取值范围之类。 显然1 4 15,所以循环继续返回到For ... Step 3语句后面,开始第二轮循环,;一旦i的值超出循环变量的取值范围,那么循环随即终止。
依次类推,i的值会如此变化: 1 、 4 、 7 、 10 、 13 、 16(超出范围,循环结束。)
测试代码:
Sub XX()
Dim i as Integer
For i = 1 to 15 step 3
msgbox i
next
Msgbox i
End Sub
VB里的步长就是是在for循环中用于定义循环变量每次增加的值的,如果没有写的话,程序就会按默认的step=1来处理
你可以看做是
for i = 1 to 10 step 2 ‘step就是步长
a=a+1
b=b+1
i=i+1
next i
print a,b,i
改变循环次数的是i=i+1这句
第一次循环后 i=2
然后进入第二次循环 i + 步进2=4 i=4+1=5
第三次 i=5+2=7 i=7+1=8
第四次 i=8+2=10 i=10+1=11 加步进=13 不满足循环条件跳出循环
循环4次 a初始1 累加4次等于5 好理解 b也如此
以上为个人看法,手打很辛苦,希望采纳,谢谢您的支持。
谢谢您的支持,有任何疑问欢迎您再次通过此渠道提问,让大家共同解决,共同进步!
以上回答仅为“百度规则”,没有任何违法行为,请楼主采纳,谢谢!