久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 新手學51單片機弄不懂for嵌套循環的流程,請各位大神們幫我分析分析!感謝了! [打印本頁]

作者: tanghao8887    時間: 2018-10-1 14:56
標題: 新手學51單片機弄不懂for嵌套循環的流程,請各位大神們幫我分析分析!感謝了!
這是一個延時的子函數,我就搞不懂兩個for組成的嵌套循環的流程是怎么執行的,我的理解是,當a=200,a<0時,那么a-1,那么a=199了,由于第一個for后面沒有分號,那么第二個for也會跟著執行,也就是b-1,還有1999,相當于a要減去200次,b要減去2000次,那么這樣的話用兩個for就沒有意義了呀,何必只用一個for,設為for(a=2200;a<0;a--);    為何還要用兩個for呢?我知道我的理解有錯誤,郭天祥解釋的是當a減一次,那么b就要減2000,他說相當于200*2000次這么多,為什么會這樣?讓我非常不能理解,請教各位幫我分析一下嵌套for循環的執行流程,小弟是新手,望各位說得通俗易懂一點,謝謝

Screenshot_20181001-145459.png (19.96 KB, 下載次數: 64)

Screenshot_20181001-145459.png

作者: HC6800-ES-V2.0    時間: 2018-10-1 18:28
你的程序,相當于這樣:
vid delay
{
    unsigned int a,b;
    for (a=200;a>0;a--)
    {
        for (b=2000;b>0;b--)
        {
        }
    }
}
你的程序中,循環條件錯了!!!!!
作者: 文鳳軒    時間: 2018-10-1 18:55
小的數值容易計算,太大的數值不容易計算個人理解
作者: le51    時間: 2018-10-1 20:08
1.實際的執行就是20*2000次,第一個for循環執行一次之后第二個for循環執行2000次。
2.當第一個for循環a-1之后,后面沒有分號,程序接著向下執行第二個for循環,執行完一次b-1之后,b=1999仍然滿足條件則繼續執行b-1的操作,直至減到b=0結束第二個for循環然后繼續執行第一個for循環。
3.還有你的for循環應該是for(a=200;a>0;a--)for(b=2000;b>0;b--);
4.你的for循環相當于for(a=200;a>0;a--)這樣。
                             {
                                for(b=2000;b>0;b--);
                              }
作者: devcang    時間: 2018-10-1 20:46
執行的次數,就是a 的初值x b的初值


這是C語言的知識
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: sxhwdz    時間: 2018-10-1 20:50
第一個for語句后面沒有分號,所以緊接在下面的語句就是上面一句的循環體。
如果寫完整加上花括弧就好理解了:(a<0,b<0是錯的,應該是 a>0,  b>0))

     for(a=200; a>0; a--)
    {
        for(b=2000; b>0; b--)
        {
            ;
        }
    }
作者: grizzly    時間: 2018-10-1 21:02
是200個2000次也就是40w次
作者: zqy181818    時間: 2018-10-1 22:51
實在不懂用這軟件試試,方便好用。不懂的可以加我。

單片機精靈.zip

678.43 KB, 下載次數: 11


作者: tanghao8887    時間: 2018-10-2 07:16
HC6800-ES-V2.0 發表于 2018-10-1 18:28
你的程序,相當于這樣:
vid delay
{

謝謝糾正!
作者: tanghao8887    時間: 2018-10-2 07:18
le51 發表于 2018-10-1 20:08
1.實際的執行就是20*2000次,第一個for循環執行一次之后第二個for循環執行2000次。
2.當第一個for循環a-1 ...

謝謝你的指導,我弄懂了!
作者: tanghao8887    時間: 2018-10-2 07:18
zqy181818 發表于 2018-10-1 22:51
實在不懂用這軟件試試,方便好用。不懂的可以加我。

感謝你的分享!
作者: tanghao8887    時間: 2018-10-2 07:19
grizzly 發表于 2018-10-1 21:02
是200個2000次也就是40w次

謝謝你
作者: tanghao8887    時間: 2018-10-2 07:19
sxhwdz 發表于 2018-10-1 20:50
第一個for語句后面沒有分號,所以緊接在下面的語句就是上面一句的循環體。
如果寫完整加上花括弧就好理解 ...

謝謝你
作者: 黎黎黎黎黎黎    時間: 2018-10-2 09:45
for循環:
a;
for(1 .參數初始化;2 .條件判斷;3. 更新循環變量(對參數進行操作))
{ 循環操作;}
b;

for語句的執行流程:
    先計算 1 的值.
    再計算 2 的值,判讀:為真(1),繼續執行循環操作;為假(0),跳出循環執行 b.
    循環語句執行后,計算 3 的值,再計算 2 的值,判讀:為真(1),繼續執行循環操作;為假(0),跳出循環執行 b.

a->1->2->循環操作->3->2->循環操作->3->2->……->循環操作->3->2(為假,不成立(0))->b……
作者: panrulong    時間: 2018-10-2 11:39
先學c語言了解for循環




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜激情影院 | 在线观看国产网站 | 成人性视频免费网站 | 亚洲网站免费看 | 嫩草视频网 | 成人午夜在线 | 国产精品亚洲第一区在线暖暖韩国 | 欧美成人一级 | 亚洲国产aⅴ精品一区二区 免费观看av | 成人性生交大片免费看中文带字幕 | 伊人免费视频二 | 中文字幕视频网 | 日韩欧美亚洲综合 | 亚洲一区二区网站 | 国产在线中文 | www.国产| 91成人精品 | 国产精品一区二区av | 美女国产精品 | 国产精品伦一区二区三级视频 | 亚洲视频一区二区三区 | 在线观看你懂的网站 | 欧美一级欧美一级在线播放 | 欧美精品区| 日韩精品一区二区三区 | 欧洲高清转码区一二区 | 啪啪免费网 | 国产激情精品视频 | www.亚洲视频 | 欧美午夜在线 | 国内精品久久影院 | 亚洲性视频 | 欧美日韩电影一区 | 2018天天干天天操 | 97高清国语自产拍 | 欧美日韩视频在线 | 中文字幕国产精品视频 | 婷婷激情在线 | 狠狠热视频 | 中国一级特黄真人毛片免费观看 | 久久九|