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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                【44.1 小括號的概述。】 小括號在C語言里一直有“強制、改變優先級、明確順序”這層含義。C語言中,凡是在判斷語句里插入了小括號,程序就會優先執行最里面小括號的判斷語句,之后才會根據判斷符的優先級執行其它相關語句。 此功能很實用,因為C語言的判斷符號眾多,非常不利于程序員記憶各種不同符號的優先級順序,而小括號卻解決了這個問題。只要在合適的地方插入恰當的小括號,就可以強制改變判斷的優先級,有了此項功能就不用程序員再刻意去記憶繁雜的優先級,同時,也為實際項目帶來兩個好處,一個是明確判斷順序,另一個是改變判斷順序。多說一句,哪怕添加的小括號是多余的重復的啰嗦的,也不會對程序帶來副作用,反而,只會給程序員內心帶來更大的確定和安全感。比如: 兩個if條件判斷語句: if(a>=70&&a<=80)和if(a<70||a>80) 有一些朋友喜歡插入兩個小括號變成: if((a>=70)&&(a<=80))和if((a<70)||(a>80)) 在這里插入的小括號是多余的重復的啰嗦的,但是還好,不會對程序有副作用。上述的修改,在不知道 “>、>=、<、<=” 這類語句跟 “&&,||” 這類語句哪個優先級更高的前提下,插入了小括號,可以更加明確判斷的順序,這種做法也值得肯定。 【44.2 小括號的具體應用。】 我個人平時在面對同時存在“>、>=、<、<=”和 “&&、||” 這些語句時,由于我很清楚“>,>=,<,<=”比“&&,||” 這類語句的優先級更高,所以我不需要在此插入小括號來明確判斷的順序。但是遇到下面這種情況,我是一定會通過插入小括號的方式來明確判斷的順序。什么情況呢?如下: if(“判斷條件1”||“判斷條件2 ”&&“判斷條件3”) 這種情況下,就會很容易讓我出現一個疑問,到底是先“判斷條件1” 跟“判斷條件2”相“或”,最后再跟“判斷條件3”相“與”?還是先“判斷條件2” 跟“判斷條件3”相“與”,最后再跟“判斷條件1”相“或”?如果此時果斷插入小括號,就可以很容易明確它們的先后順序,減少內心不必要的糾結。 插入小括號的第1種情況: if((“判斷條件1”||“判斷條件2 ”)&&“判斷條件3”) 插入小括號的第2種情況: if(“判斷條件1”||(“判斷條件2 ”&&“判斷條件3”)) 上述兩種情況,具體選擇哪一種判斷順序要根據項目的需要來決定。同樣的3個“判斷條件”,如果插入的小括號的位置不一樣,判斷的順序就不一樣,那么結果也可能出現不一樣,比如,上述判斷條件: 假設“判斷條件1”為“真”, 假設“判斷條件2”為“真”, 假設“判斷條件3”為“假”, 等效成如下: 插入小括號的第1種情況: if((真||真)&&假) { 語句1; } 這種情況下,先判斷最里面小括號的真假,(真||真)的結果是“真”,然后再把結果“真”和外面的“假”進行“與”判斷,(真&&假)的結果是“假”,所以上述的最終判斷是“假”,不能執行“語句1”。 插入小括號的第2種情況: if(真||(真&&假)) { 語句1; } 這種情況下,先判斷最里面小括號的真假,(真&&假)的結果是“假”,然后再把結果“假”和外面的“真”進行“或”判斷,(真||假)的結果是“真”,所以上述的最終判斷是“真”,能執行“語句1”。 綜合上述兩種情況,對比之后,得出這樣的結論:在同樣的條件和關系下,如果插入不同位置的小括號,就可以得出不同的結果。也就是說,小括號可以讓關系判斷變得豐富起來,可以實現各種復雜的邏輯判斷功能。 【44.3 例程練習和分析。】 現在編寫一個實驗程序驗證上述兩種判斷順序。 程序代碼如下: /\*---C語言學習區域的開始。-----------------------------------------------\*/ //x,y這三個變量作為條件判斷的變量 unsigned char x=5; unsigned char y=6; //a,b這兩個變量作為輸出判斷結果的真假,0代表假,1代表真。 unsigned char a=0; //默認為0,也就是默認為假 unsigned char b=0; //默認為0,也就是默認為假 void main() //主函數 { if((x<y||y>x)&&x==y) //里面的條件是((真||真)&&假),最終結果判斷是假 { a=1; } if(x<y||(y>x&&x==y)) //里面的條件是(真||(真&&假)),最終結果判斷是真 { b=1; } View(a); //把第1個數a發送到電腦端的串口助手軟件上觀察。 View(b); //把第2個數b發送到電腦端的串口助手軟件上觀察。 while(1) { } } /\*---C語言學習區域的結束。-----------------------------------------------\*/ 在電腦串口助手軟件上觀察到的程序執行現象如下: 開始... 第1個數 十進制:0 十六進制:0 二進制:0 第2個數 十進制:1 十六進制:1 二進制:1 分析: 變量a為0。(0代表此條件判斷結果為假) 變量b為1。(1代表此條件判斷結果為真) 通過實驗結果,發現在單片機上的實驗結果和我們的分析是一致的。 【44.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>

                              哎呀哎呀视频在线观看