VB do while迴圈問題,怎樣用VB的do while迴圈

2022-06-25 13:21:34 字數 5999 閱讀 3639

1樓:匿名使用者

你的do loop迴圈等同於下面這個for迴圈for a = 0 to 2

for b = 0 to 1

next

next

迴圈就是為了重複執行 而你的do內迴圈 執行的條件是以b的值小於等於1為迴圈條件

如果不在內迴圈開始前重置迴圈條件的話 不管外迴圈的次數是多少 這個內迴圈只會執行一次

那就失去的內嵌迴圈的大部分意義了 但只要不違背語法你想如何執行**都是你決定的 關鍵還得看寫這段**想實現的目的

2樓:匿名使用者

a可能也要的,丟了, 加到一起 b=0:a=0

3樓:匿名使用者

a, b 宣告為 integer 後初值就是 0b = 0 的意義不是設定,而是重置

首先 外迴圈

dob = 0

a = a + 1

...loop while a <= 2

由於 a 是 integer 型,初值為 0,loop while a <= 2,說明 a = 0, 1, 2 外迴圈迴圈三次後結束

再看 內迴圈

dob = b + 1

loop while b <= 1

由於在第一次外迴圈中 b=0,第一次內迴圈 loop while b <= 1,說明 b = 0, 1 內迴圈迴圈兩次後結束,很顯然,a 迴圈一次,b 就要迴圈兩次。

但若 b 不重置為 0 的話,在第二次外迴圈開始,b >= 1 內迴圈 loop while b <= 1 就只會迴圈一次就結束。即 在第二次外迴圈開始, a 迴圈一次,b 就迴圈一次。

怎樣用vb的do while迴圈

4樓:時千藩醉山

應該是do

while

l<500if

worksheets("sheet1").cells(l,3).value="

"then

cells(l,

3).select

activecell.formular1c1="=r[-1]c"

endifl=

l+1loop

感覺你的意思是如果worksheets("sheet1").cells(l,

3).value="

"則執行cells(l,

3).select

activecell.formular1c1="=r[-1]c",但無論worksheets("sheet1").cells(l,

3).value是否為空,你的do

while都要執行l=l

+1,但你在l=l

+1之前加else,意味著worksheets("sheet1").cells(l,

3).value為空時不會執行l=l

+1,那這樣do

while就無法繼續迴圈下去,i的值也不會增加啦。

是個人理解,不知道對不?

5樓:

do 迴圈語句是用於不知道迴圈次數。和for迴圈相反(它是知道迴圈次數)。

6樓:權鶴易尋芳

dowhile

i<10

i=i+1

s=s+i

loop

prints

7樓:教師小站

s=0i=0

doi=i+1

s=s+i

while i<11

msgbox s

8樓:

s=0do while (s<10)

'or do until (s=10)

s=s+1

p=p+s

loop

'or do..loop while (s<10)'or do..loop until (s=10)msgbox p

vb do while迴圈題目

9樓:匿名使用者

**如下:

private sub form_click()dim s!, n%

s = 0

n = 1

do until s >= 20

s = s + (2 * n + 1) / (2 * n - 1)n = n + 1

loop

print "s=", s

print "n=", n

end sub

執行如下圖所示:

10樓:

s>20

(2*n+1)/(2*n-1)n

11樓:祭夢

dim h!, s%

h = 0

s = 0

while h <= 20

s = s + 1

h = h + (2 * s + 1) / (2 * s - 1)wend

print "h=" & h, "s=" & s

vb do while迴圈怎麼用?

vb for迴圈問題

12樓:岔路程式緣

先看這幾句執行時的作用:

(1)s = 0,給s設初值0

(2)for i = 1 to 5,第一次執行這一句時,對i設初值1,以後每次執行這一句時都判斷i的值是否介於初值和終值之間,也就是在1和5之間,如果在這個範圍之內,就執行下一句,如果超出這個範圍,就去執行next i後面的那一句了。——樓主所提的問題,這一句話是第一個重點,請仔細理解。

(3)s = s + i,把s和i相加,再把和賦值給s

(4)next i,執行這一句時,把i的值加上步長,在本例中,就是加1,再把值給i,相當於執行了i=i+1,再返回for i=1 to 5那一句去執行。——樓主所提的問題,這一句話是第二個重點,請仔細理解。

(5)print s, i,這一句是列印s和i的值,當程式執行到這一句時,i的值一定是6了,因為等於5時還跳不出這迴圈體呢!

問題補充:private sub command1_click()

for i = 1 to 3 step 2

print "vb"

next i

end sub

為什麼「vb」的執行次數為2次 step為2 不是直接1跳到3嗎

補充答覆:

樓主說的對啊,確實是直接從1跳到3,但是3仍然符合進入迴圈的條件,所是要print 兩次"vb"啊!!

-------------------------------------

private sub command1_click()

dim x as integer

dim n as integer

x = 1

n = 0

do while x < 20

n = n + 1

x = x * 3

loop

text1.text = str(x)

text2.text = str(n)

end sub

為什麼n=3 是怎麼計算出來的??

再補充答覆:

看執行do.....loop之間的語句幾次就可以了

第一次,n=n+1=0+1=1,x=x*3=1*3=3

第二次,n=n+1=1+1=2,x=x*3=3*3=9

第三次,n=n+1=2+1=3,x=x*3=9*3=27

第四次,進入時,判斷 x < 20已經不成立(已經=27了!),所以不能進入,迴圈結束,最終結果是n=3,x=27

13樓:匿名使用者

這個程式計算後為什麼i是6而不是5

你可以先把**改成這樣,然後就理解了!!!

private sub command1_click()dim i as integer

dim s as integer

s = 0

for i = 1 to 5

s = s + i

print s,i

next i

print s, i

end sub

第2個問題,也一樣,先可以改成這樣

private sub command1_click()for i = 1 to 3 step 2print i,"vb"

next i

end sub

關鍵,要理解,for迴圈什麼時候執行迴圈,什麼時候終止迴圈;

當i小於或者等於 to後面的那個值,執行迴圈當i大於 to後面的那個值,終止迴圈

14樓:

for i = 1 to 5 即令 i 在迴圈內=1~5.。。。

next 當i=4,執行到此i=5,並迴圈;當i=5,執行到此i=6,並停止迴圈

所以停止迴圈後,i=6

15樓:

最後一次迴圈時 i=5

next i 讓i自增1 所以最後的i就是6了

16樓:匿名使用者

第一題因為每執行一次next i後i的值加1,直到i>5迴圈結束,此時i=6

第二題i=1時執行一次print "vb",i=3時執行一次print "vb",i=5時,i>3迴圈結束。

private sub command1_click()dim x as integer

dim n as integer

x = 1

n = 0

do while x < 20

n = n + 1

x = x * 3

loop

text1.text = str(x)

text2.text = str(n)

end sub

一開始n=0,x=1滿足條件x<20

n=n+1=0+1=1

x=x*3=1*3=3

此時x=3,滿足條件x<20繼續迴圈

n=n+1=1+1=2

x=x*3=3*3=9

此時n=2,x=9,滿足條件x<20繼續迴圈n=n+1=2+1=3

x=x*3=9*3=27

此時x=27,不滿足條件x<20,迴圈結束。

在vb程式中do while loop問題

17樓:匿名使用者

do while loop

迴圈的執行步驟:

首先判斷,當滿足while後面的表達時,執行do。。。loop之間的**,執行完畢,再次判斷,滿足繼續do...loop,不滿足,則結束do迴圈。

那麼,本題首先判斷y>4

由於y=4並不大於4,y>4為假,跳過do...loop迴圈,執行print x

x=1所以顯示為1,選a

你選b,如果是do……loop while迴圈,答案就是b,詳見下面:

附:do while……loop 和do……loop while的區別。

前者是在滿足while的條件後執行do後的語句,不滿足則跳出迴圈;後者是滿足while後的條件後再次執行迴圈內容。

簡單來說,後者至少都會執行迴圈內容一次,而前者可能一次都不會執行。

舉個例子吧:

(1)dim i as integer

do while i=1

i=i+1

loop

msgbox i

(2)dim i as integer

do i=i+1

loop while i=1

msgbox i

這樣兩段**,(1)輸出的結果是0;(2)輸出的結果是2.

注意當且當while後的條件執行過程中一定成立二者才一致(比如把上例的i=1改為i=0)。

18樓:匿名使用者

答案 :a

當 y>4的時候 執行迴圈,因為 y不大於4 所以一次迴圈不執行

19樓:雪瀾饒谷翠

迴圈根本沒有執行。。。。y>5這個條件都沒成立,迴圈沒有進入。。。

c語言for迴圈問題,c語言 for迴圈問題

你的for迴圈用錯了,for的三個引數第一個是賦初值,第二個是迴圈條件,第三個是增值。你的迴圈條件沒有給,並且就算寫對位子你的條件好像也錯了,按你的意識是大於10就退出,但是你的迴圈條件是 這是 或 也就是滿足一個條件就進行迴圈,當你輸入10的時候大於了1,那麼迴圈就可以進行。所以你應該是用 用 且...

js裡的for迴圈問題,下面這個for迴圈是什麼時候停止的

document.getelementbyid取不到值是中bai止這個問du題的關鍵是在 j 再簡化一zhi下 var j if j document.getelementbyid 這裡的daoif條件是否成立,是看版j的值是true還是false for迴圈包括4部分 for 宣告 布林表示式 運...

c語言for迴圈輸出問題,C語言 for迴圈輸出陣列的問題

include include typedef int elemtype typedef int status typedef struct lnode lnode,linklist 如果i小於1或者大於表長加1,則返回error if p j i 1 s linklist malloc sizeo...