<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                【49.1 do while語句的常見格式。】 格式如下: do { 語句1; 語句2; …… 語句N; } while(條件); 上述代碼,單片機從上往下執行語句,先從do那里無條件進來,從“語句1”開始往下執行,一直執行到“語句N”,才開始判斷while(條件)的條件是否為真,如果為真繼續返回到do的入口處,繼續從“語句1”開始往下執行,依次循環。大家留意到了嗎,do while和while語句有什么差別?差別是,do while是先無條件進來執行一次循環體(花括號里所有的程序代碼),執行到循環體最底部才判斷while(條件)的條件是否為真來決定是否繼續循環,先上車再買票。而while語句是先判斷條件是否為真再決定是否需要進入循環體,先買票再上車。 【49.2 for語句的簡介。】 for語句也是循環語句,任何for語句能實現的功能都可以用while語句來實現同樣的功能,for語句和while語句有什么差別呢?for語句把變量初始化,變量的條件判斷,變量在執行循環體后的步進變化這三個常見要素集成在語句內部,以標準的格式書寫出來。在很多場合下,for在書寫和表達方面比while語句顯得更加簡潔和直觀。 【49.3 for語句的自加格式。】 格式如下: for(變量的初始化語句; 變量的條件判斷;變量在執行一次循環體后自加的步進變化) { 語句1; 語句2; …… 語句N; } 在把上述變成更具體的代碼例程如下: for(i=0; i<3;i++) { 語句1; 語句2; …… 語句N; } 上述代碼,單片機從上往下,在進入循環體前,先把變量i初始化賦值0(這行初始化代碼在整個循環期間只被執行1次),然后判斷i是否小于3這個條件,如果此條件為真,就開始正式進入循環體,從“語句1”往下執行到“語句N”,執行完一次循環體后,i就自加1(因為“i++”語句),此時i從原來初始化的0變成了1,接著再返回來到for語句的條件判斷”i<3”那里,判斷i是否繼續滿足“小于3”這個條件,如果此條件為真就繼續往下執行,否則就跳過循環體結束當前循環。上述for語句實現的功能如果用while語句來寫,等效于以下代碼: i=0; //進入循環體之前先初始化給予初值 while(i<3) { 語句1; 語句2; …… 語句N; i++; //執行一次循環體之后此變量自加發生變化 } 上述的while循環語句只執行了3次循環體。 【49.4 for語句的自減格式。】 剛才講的for(i=0; i<3;i++)這種格式,它的變量i是不斷自加的。還有一種比較常見的格式是i不斷自減的,它的格式如下: for(i=3; i>0;i--) { 語句1; 語句2; …… 語句N; } 上述自減的for語句功能如果用while語句來寫,等效于以下代碼: i=3; //進入循環體之前先初始化給予初值 while(i>0) { 語句1; 語句2; …… 語句N; i--; //執行一次循環體之后此變量自減發生變化 } 上述的while循環語句只執行了3次循環體。 【49.5 for省略花括號,沒帶分號。】 前面講的if和while語句中,都提到了省略花括號的情況,for語句也有這種寫法,而且省略之后默認的有效范圍都是一樣的。請看例子如下: for(i=0; i<3;i++) //注意,這里沒帶分號。 語句1; 語句2; …… 語句N; 分析:上述代碼,跟if語句一樣,此時循環體默認只包含“語句1”,等效于: for(i=0; i<3;i++) //注意,這里沒帶分號。 { 語句1; } 語句2; …… 語句N; 【49.6 for省略花括號,帶分號。】 for(i=0; i<3;i++); //注意,這里帶分號。 語句1; 語句2; …… 語句N; 分析:注意,此時循環體默認不包含“語句1”,而是等效于: for(i=0; i<3;i++) { ; //空語句。 } 語句1; 語句2; …… 語句N; 此時循環體內先循環執行三次空語句,然后才會結束for循環,接著才從“語句1”開始往下執行。 【49.7 for循環語句的條件判斷。】 上面舉的例子中,僅僅列出了for語句條件判斷的小于號關系符“<”,其實,for語句條件判斷的關系符跟if語句是一樣通用的,凡是if語句能用的關系符都可以用在for語句上,比如“>”,“!=”,“==”,“<=”,“>=”等等。如下: for(i=0;i<=3;i++); //小于等于的情況。這種寫法是合法的。 for(i=0;i!=3;i++); //不等于的情況。這種寫法是合法的。 for(i=0;i==3;i++); //等于的情況。這種寫法是合法的。 【49.8 例程練習和分析。】 編寫一個程序來熟悉一下do while和for語句的使用。 程序代碼如下: /\*---C語言學習區域的開始。-----------------------------------------------\*/ unsigned char a=0; //觀察這個數最后的變化 unsigned char b=0; //觀察這個數最后的變化 unsigned char c=0; //觀察這個數最后的變化 unsigned char i; //控制循環體的條件判斷變量 void main() //主函數 { i=3; do { a=a+1; //每執行一次循環體a就增加1,此行代碼被循環執行了3次 i=i-1; //i不斷變小 }while(i); //i不斷變小,當i變為0時才跳出此循環體 for(i=0;i<3;i++) { b=b+2; //此行代碼被循環執行了3次 } for(i=3;i>0;i--) { c=c+3; //此行代碼被循環執行了3次 } View(a); //把第1個數a發送到電腦端的串口助手軟件上觀察。 View(b); //把第2個數b發送到電腦端的串口助手軟件上觀察。 View(c); //把第3個數c發送到電腦端的串口助手軟件上觀察。 while(1) { } } /\*---C語言學習區域的結束。-----------------------------------------------\*/ 在電腦串口助手軟件上觀察到的程序執行現象如下: 開始... 第1個數 十進制:3 十六進制:3 二進制:11 第2個數 十進制:6 十六進制:6 二進制:110 第3個數 十進制:9 十六進制:9 二進制:1001 分析: 變量a為3。a從0開始,循環加1,一共3次,因此等于3。 變量b為6。b從0開始,循環加2,一共3次,因此等于6。 變量c為9。c從0開始,循環加3,一共3次,因此等于9。 【49.9 如何在單片機上練習本章節C語言程序?】 直接復制前面章節中第十一節的模板程序,練習代碼時只需要更改“C語言學習區域”的代碼就可以了,其它部分的代碼不要動。編譯后,把程序下載進帶串口的51學習板,通過電腦端的串口助手軟件就可以觀察到不同的變量數值,詳細方法請看第十一節內容。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看