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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                【18.1 連加。】 上一節的加法例子中,右邊的加數只有兩個。實際上,C語言規則沒有限制加數的個數,它的通用格式如下: “保存變量”=“加數1”+“加數2”+...+“加數N”; 當右邊的加數個數超過兩個的時候(這里暫時把平時所說的被加數也歸類為加數),這種情況就是“連加”,每個加數的屬性沒有限定,可以是常量,也可以是變量。比如: a=1+69+102; //加數全部是常量。 b=q+x+y+k+r; //加數全部是變量。 c=3+x+y+5+k; //加數有的是常量,有的是變量。 連加的運行順序是,賦值符號“=”右邊的加數挨個相加,把每一次的運算結果放在一個臨時的隱藏變量里,這個隱藏的變量我們看不到,是單片機系統內部參與運算時的專用寄存器,等右邊所有的加數連加的計算結果出來后,再把這個隱藏變量所保存的計算結果賦值給左邊的“保存變量”。 【18.2 **自加、自加簡寫、自加1。**】 什么是自加?當賦值符號“=”右邊的加數只要其中有一個是“保存變量”本身時,這種情況就是“自加”,自加在程序里有一個特點,只要加數不為0,那么每執行一次這行代碼,“保存變量”本身就會增大一次,不斷執行這行代碼,“保存變量”本身就會不斷增大,而每次的增大量就取決于賦值符號“=”右邊從第2個加數開始后面所有加數之和。自加的常見格式如下: “保存變量”=“保存變量”+“加數2”; “保存變量”=“保存變量”+(“加數2”+“加數3”+...+“加數N”); 在這類自加計算式中,當右邊的加數有且僅有一個是“保存變量”本身時,那么上述自加計算式可以簡寫成如下格式: “保存變量”+=“加數2”; “保存變量”+=“加數2”+“加數3”+...+“加數N”; 這種格式就是“自加簡寫”。現在舉幾個例子如下: d+=6; //相當于d=d+6; e+=x; //相當于e=e+x; f+=18+y+k; //相當于f=f+(18+y+k); 這些例子都是很常規的自加簡寫,再跟大家講一種很常用的特殊簡寫。當右邊只有兩個加數,當一個加數是“保存變量”,另一個加數是常數1時,格式如下: “保存變量”=“保存變量”+1; 這時候,可以把上述格式簡寫成如下兩種格式: “保存變量”++; ++“保存變量”; 這兩種格式也是俗稱的“自加1”操作。比如: g++; //相當于g=g+1或者g+=1; ++h; //相當于h=h+1或者h+=1; 也就是說自加1符號“++”可以在變量的左邊,也可以在變量的右邊,它們在這里本質是一樣的,沒有差別,但是,如果是在某些特定情況下,這時自加1符號“++”在左邊還是在右邊是有差別的,有什么差別呢?這個內容以后再講。 【18.3 例程練習和分析。】 現在我們編寫一個程序來驗證上面講到的例子: 程序代碼如下: /\*---C語言學習區域的開始。-----------------------------------------------\*/ void main() //主函數 { unsigned char a; //定義一個變量a,并且分配了1個字節的RAM空間。 unsigned char b; //定義一個變量b,并且分配了1個字節的RAM空間。 unsigned char c; //定義一個變量c,并且分配了1個字節的RAM空間。 unsigned char d=5; //定義一個變量d,并且分配了1個字節的RAM空間。初始化默認為5. unsigned char e=5; //定義一個變量e,并且分配了1個字節的RAM空間。初始化默認為5. unsigned char f=5; //定義一個變量f,并且分配了1個字節的RAM空間。初始化默認為5. unsigned char g=5; //定義一個變量g,并且分配了1個字節的RAM空間。初始化默認為5. unsigned char h=5; //定義一個變量h,并且分配了1個字節的RAM空間。初始化默認為5. unsigned char q=1; //定義一個變量q,并且分配了1個字節的RAM空間。初始化默認為1. unsigned char x=3; //定義一個變量x,并且分配了1個字節的RAM空間。初始化默認為3. unsigned char y=6; //定義一個變量y,并且分配了1個字節的RAM空間。初始化默認為6. unsigned char k=2; //定義一個變量k,并且分配了1個字節的RAM空間。初始化默認為2. unsigned char r=8; //定義一個變量r,并且分配了1個字節的RAM空間。初始化默認為8. //第1個知識點:連加。 a=1+69+102; //加數全部是常量。a的結果為:172。 b=q+x+y+k+r; //加數全部是變量。b的結果為:20。 c=3+x+y+5+k; //加數有的是常量,有的是變量。c的結果為:19。 //第2個知識點:自加。 d+=6; //相當于d=d+6; d的結果為:11。 e+=x; //相當于e=e+x; e的結果為:8。 f+=18+y+k; //相當于f=f+18+y+k; f的結果為:31。 //第3個知識點:自加1。 g++; //相當于g=g+1或者g+=1; g的結果為:6。 ++h; //相當于h=h+1或者h+=1; h的結果為:6。 View(a); //把第1個數a發送到電腦端的串口助手軟件上觀察。 View(b); //把第2個數b發送到電腦端的串口助手軟件上觀察。 View(c); //把第3個數c發送到電腦端的串口助手軟件上觀察。 View(d); //把第4個數d發送到電腦端的串口助手軟件上觀察。 View(e); //把第5個數e發送到電腦端的串口助手軟件上觀察。 View(f); //把第6個數f發送到電腦端的串口助手軟件上觀察。 View(g); //把第7個數g發送到電腦端的串口助手軟件上觀察。 View(h); //把第8個數h發送到電腦端的串口助手軟件上觀察。 while(1) { } } /\*---C語言學習區域的結束。-----------------------------------------------\*/ 在電腦串口助手軟件上觀察到的程序執行現象如下: 開始... 第1個數 十進制:172 十六進制:AC 二進制:10101100 第2個數 十進制:20 十六進制:14 二進制:10100 第3個數 十進制:19 十六進制:13 二進制:10011 第4個數 十進制:11 十六進制:B 二進制:1011 第5個數 十進制:8 十六進制:8 二進制:1000 第6個數 十進制:31 十六進制:1F 二進制:11111 第7個數 十進制:6 十六進制:6 二進制:110 第8個數 十進制:6 十六進制:6 二進制:110 分析: 通過實驗結果,發現在單片機上的計算結果和我們的分析是一致的。 【18.4 如何在單片機上練習本章節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>

                              哎呀哎呀视频在线观看