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...