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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                【22.1 連減。】 上一節的減法例子中,右邊的減數只有兩個。實際上,C語言規則沒有限制減數的個數,它的通用格式如下: “保存變量”=“減數1”-“減數2”-“減數3”-...-“減數N”; 當右邊的減數個數超過兩個的時候(這里暫時把平時所說的被減數也歸類為減數),這種情況就是“連減”。每個減數的屬性沒有限定,可以是常量,也可以是變量。比如: a=68-3-15; //減數全部是常量。 b=q-x-y-k; //減數全部是變量。 c=63-x-5-k; //減數有的是常量,有的是變量。 連減的運行順序是,賦值符號“=”右邊的減數挨個相減,把每一次的運算結果放在一個臨時的隱藏中間變量里,這個隱藏的變量我們看不到,是單片機系統內部參與運算時的專用寄存器,等右邊所有減數連減的計算結果出來后,再把隱藏變量所保存的計算結果賦值給左邊的“保存變量”。 【22.2 **自減、自減簡寫、自減1。**】 什么是自減?當賦值符號“=”右邊的第1個減數是“保存變量”本身時(這里暫時把平時所說的被減數也歸類為減數),這種情況就是“自減”。自減在程序里有一個特點,只要第2個減數不為0,那么每執行一次這行代碼,“保存變量”本身就會減小一次,不斷執行這行代碼,“保存變量”本身就會不斷減小,而每次的減小量就取決于賦值符號“=”右邊從第2個減數開始后面所有減數之和。自減的常見格式如下: “保存變量”=“保存變量”-“減數2”; “保存變量”=“保存變量”-(“減數2”+“減數3”+...+“減數N”); 在這類自減計算式中,當只有右邊的第1個減數是“保存變量”本身時,那么上述自減計算式可以簡寫成如下格式: “保存變量”-=“減數2”; “保存變量”-=“減數2”+“減數3”+...+“減數N”; 這種格式就是“自減簡寫”。現在舉幾個例子如下: d-=6; //相當于d=d-6; e-=x; //相當于e=e-x; f-=18-y-k; //相當于f=f-(18-y-k); 這些例子都是很常規的自減簡寫,再跟大家講一種很常用的特殊簡寫。當右邊只有兩個減數,而第1個減數是“保存變量”,第2個減數是常數1時,格式如下: “保存變量”=“保存變量”-1; 這時候,可以把上述格式簡寫成如下兩種格式: “保存變量”--; \--“保存變量”; 這兩種格式也是俗稱的“自減1”操作。比如: g--; //相當于g=g-1或者g-=1; \--h; //相當于h=h-1或者h-=1; 自減1符號“--”可以在變量的左邊,也可以在變量的右邊,它們在這里本質是一樣的,沒有差別。當然,如果是在循環條件語句中,這時自減1符號“--”在左邊還是在右邊是有一點點微弱的差別,這方面的內容以后再講。 【22.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=65; //定義一個變量d,并且分配了1個字節的RAM空間。初始化默認為65. unsigned char e=38; //定義一個變量e,并且分配了1個字節的RAM空間。初始化默認為38. unsigned char f=29; //定義一個變量f,并且分配了1個字節的RAM空間。初始化默認為29. unsigned char g=5; //定義一個變量g,并且分配了1個字節的RAM空間。初始化默認為5. unsigned char h=5; //定義一個變量h,并且分配了1個字節的RAM空間。初始化默認為5. unsigned char q=50; //定義一個變量q,并且分配了1個字節的RAM空間。初始化默認為50. unsigned char x=3; //定義一個變量x,并且分配了1個字節的RAM空間。初始化默認為3. unsigned char y=6; //定義一個變量y,并且分配了1個字節的RAM空間。初始化默認為6. unsigned char k=2; //定義一個變量k,并且分配了1個字節的RAM空間。初始化默認為2. //第1個知識點:連減。 a=68-3-15; //減數全部是常量。a的結果為:50。 b=q-x-y-k; //減數全部是變量。b的結果為:39。 c=63-x-5-k; //減數有的是常量,有的是變量。c的結果為:53。 //第2個知識點:自減簡寫。 d-=6; //相當于d=d-6; d的結果為:59。 e-=x; //相當于e=e-x; e的結果為:35。 f-=18-y-k; //相當于f=f-(18-y-k); f的結果為:19。 //第3個知識點:自減1。 g--; //相當于g=g-1或者g-=1; g的結果為:4。 \--h; //相當于h=h-1或者h-=1; d的結果為:4。 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個數 十進制:50 十六進制:32 二進制:110010 第2個數 十進制:39 十六進制:27 二進制:100111 第3個數 十進制:53 十六進制:35 二進制:110101 第4個數 十進制:59 十六進制:3B 二進制:111011 第5個數 十進制:35 十六進制:23 二進制:100011 第6個數 十進制:19 十六進制:13 二進制:10011 第7個數 十進制:4 十六進制:4 二進制:100 第8個數 十進制:4 十六進制:4 二進制:100 分析: 通過實驗結果,發現在單片機上的計算結果和我們的分析是一致的。 【22.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>

                              哎呀哎呀视频在线观看