vb点虐 循环嵌套结构 vb for循环嵌套

vb点虐 中嵌套结构体传值复制的问题

因为数组是引用类型,所以直接赋值会出现这种情况

成都创新互联自2013年起,先为克什克腾等服务建站,克什克腾等地企业,进行企业商务咨询服务。为克什克腾企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

可以在kb=k后单独复制数组

kb.rr=k.rr.Clone

这样两个数组就是独立的了

之所以先kb=k是为了当其含有多个成员时值型成员可以直接复制,只需Clone引用类型的就行了

vb点虐 循环结构嵌套

Public Class Form1

For i = 1 To 9

For j = 1 To 9

If j = i Then

Label1.Text = Label1.Text  " "  i  "*"  j  "="  IIf(i * j  9, i * j, i * j  " ")

End If

Next

Label1.Text = Label1.Text  vbCrLf

Next

End Sub

End Class

label属性设置:AutoSize设置为F,Size设置为440,190,BACKCOLOR设置为WHITE

谁能来帮我解释下VB的这个FOR循环嵌套?

循环必备知识点:

1.每个循环嵌套都分为内循环和外循环,并且可以镶嵌再镶嵌。

2.总循环次数=内循环×外循环

例如:

For a = 1 To 10

For b = 1 To 4

Print b;

Next b

Print

Next a

总循环数:4×10=40

3.外循环都是要等内循环走完一圈才开始走。

你的代码中内循环b受到外循环a的影响,a的增大使得内循环增大!

第1圈:b=a=1 输出b 1 因此第1排为 1

第2圈:a=2 输出b 12 因此第2排为 12

第3圈:a=3 输出b 123 因此第3排为 123

第4圈:a=4 输出b 1234 因此第4排为 1234

。。。。。。

最后a=10 输出b 12345678910 因此第4排为 12345678910

第一次当然是1啦,因为第一次时b=a=1,循环是从内循环开始的,上面写得很清楚了,你自己可以用调试功能中的逐语句看一下就知道了!!!!

VB For next 循环嵌套

我来回答吧:

1、VB默认使用变量之前需要先声明(或定义)

那么,你需要在

a=""

之前添加代码:

dim a as string

即可;

2、这个问题其实没什么好解释的,你判断错了,多积累经验就行了。

判断一个数是不是素数,只需要验证它不能整除全部的从2到int(sqrt(n))的数即可,这一点你没有错。

在程序中,下面这一段不对的。

“ 当n=9时,s=0;子循环“For i=2 To Int(Sqr(n))”的循环变量i取值范围为i=2 To 3;当i=2时,n Mod i =9 Mod 2 =1,然后执行Exit For 跳出子循环。

n Mod i = 9 Mod 2 =1

不满足if语句的条件 if(n Mod i)= 0

就直接跳过if语句体,执行

End if

是不会执行到Exit for的。这个步骤没有问题。

再来回答:如果不要 Exit For语句,是不是也能达到目的?

答案:可以的,但是这样慢。因为一旦我们判断出了一个数能够被其他数整除,比如64,它需要判断从 2-8的所有数都不能被整除才行。

一旦我判断到4,64 mod 4 =0 ,我就知道它不是素数了。

我就不需要再计算下去,所有exit for,就节省了运算时间。这在大两数据的计算中很明显的。

3、这两个表达都是符合语法的,但是作用不同。

if...then...这种结构,如果if语句成立,只会执行then后面这一行的命令,比如这个:

If n Mod i=0 Then s=1

Exit For

这种写法,相当于

06 If n Mod i=0 Then

07 s=1

08 End If

09 Exit For

而if

then

end if

如果if语句成立,就会处理then到end if之间的所有语句。

解释完毕。

——————————

汗,用惯VB.NET了。

VB确实是默认不强制声明,但最好用Option Explicit强制要求声明


本文名称:vb点虐 循环嵌套结构 vb for循环嵌套
标题链接:http://cdiso.cn/article/ddjcsgi.html

其他资讯