<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                【43.1 關系符中的與“&&”。】 前面在講關系符的時候,講了只存在1個(判斷條件)的情況下,根據這個判斷為真還是為假再執行對應的操作,那么,當同時存在2個(判斷條件)以上的情況下,該如何描述(判斷條件)與(判斷條件)之間的關系,這就涉及本節所講的“關系符中的關系符”:與“&&”,或“||”。 先講“&&”語句,符號“&&”稱為“與”,它的含義是:假如有兩個以上的(條件判斷),當所有的(條件判斷)都滿足的時候,才認為這個整體判斷是真,否則,只要有1個(條件判斷)不滿足,那么整體判斷就是假。這個規律,有點像很多開關在電路回路中的串聯關系,只有所有串聯在回路中的開關都是閉合的狀態,這個回路才是暢通的,否則,只要有一個開關是斷開的,整個回路就是斷開的。 與語句“&&”的常見格式如下: if(第1個條件判斷&&第2個條件判斷…&&第N個條件判斷) { 語句1; 語句2; } 語句3; 語句4; 在上述格式中,只有if語句后面小括號內所有的(條件判斷)都滿足的時候,整體判斷才為真,才會執行到大括號內的“語句1”和“語句2”,否則,只要有1個不滿足,就直接跳到“語句3”處往下執行。 再舉一個具體的例子,比如要取從70到80之間的所有數據,也就是說,既要大于等于70,同時又要小于等于80,程序代碼可以這樣書寫: if(a>=70&&a<=80) //在70到80的區間范圍(包括邊界70和80) { 語句1; 語句2; …… 語句N; } 【43.2 關系符中的或“||”。】 符號“||”稱為“或”,它的含義是:假如有兩個以上的(條件判斷),只要有1個條件判斷為真,則此整體判斷裁定為真,否則,必須所有的(條件判斷)都不滿足,此整體判斷才會裁定為假。這個規律,有點像很多開關在電路回路中的并聯關系,并聯在回路的多個開關,只要有1個開關是閉合的狀態,那么這個回路肯定是暢通的,否則,必須全部開關都是斷開的,整個回路才會是斷開的。 或語句“||”的常見格式如下: if(第1個條件判斷||第2個條件判斷…||第N個條件判斷) { 語句1; 語句2; } 語句3; 語句4; 在上述格式中,只要if語句后面小括號內有1個(條件判斷)是滿足的時候,整體判斷馬上裁定為真,這時就會執行到大括號內的“語句1”和“語句2”,否則,必須全部的(條件判斷)都不滿足,整體判斷才會裁定為假,這時就會直接跳到“語句3”處往下執行。 再舉一個具體的例子,比如要取除了70到80之間以外的所有數據,也就是說,要么小于70,或者要么大于80,可以這樣寫: if(a<70||a>80) //在70到80的區間范圍以外的數據(不包括邊界70和80) { 語句1; 語句2; …… 語句N; } 【43.3 “&”和“&&”,“|”和“||”的區別。】 前面章節講過運算符的“&”和“|”,它們發音也是“與”和“或”,跟本節講的關系符“&&”和“||”的發音是同音,因此很容易讓初學者混淆。區別如下: 運算符的“&”和“|”,是屬于運算符,是強調數與數,變量與變量,個體與個體之間的運算,而不是關系。它們之間的運算,是把一個數或一個變量轉化成二進制后,進行二進制的0和1之間的“與”“或”運算。 關系符的“&&”和“||”,是屬于關系符,是強調(條件判斷)與(條件判斷),關系與關系,整體與整體之間的關系判斷,而不是運算。它們之間的關系,關鍵詞是判斷。 【43.4 “&&”和“||”的“短路”問題。】 關系符“&&”和“||”居然也有“短路”問題?大家不要驚異,這里所說的“短路”只是強調關系符內部判斷的順序和取舍。“短路”這個詞在這里只是業內已經習慣了的一種稱謂,雖然我個人感覺有一點怪怪的不自然,但是我自己也想不出其它更好的詞來描述這種關系,因此就跟業內已習慣的稱謂保持一致。 “&&”的“短路”,它內部判斷的順序和取舍是這個樣子的:在兩個以上的判斷中,從左邊到右邊,依次逐個判斷,先判斷第1個(條件判斷),再第2個(條件判斷)...再第N個(條件判斷),但是,在此期間,只要發現有1個條件是不滿足,就馬上退出判斷,不再繼續判斷后面的(條件判斷),因為,對于“與”的關系符,只要有1個條件判斷是不滿足(假),就可以馬上裁定整體判斷為假了,沒必要繼續判斷后面的(條件判斷)。 “||”的“短路”,它內部判斷的順序和取舍是這個樣子的:在兩個以上的判斷中,從左邊到右邊,依次逐個判斷,先判斷第1個(條件判斷),再第2個(條件判斷)...再第N個(條件判斷),但是,在此期間,只要發現有1個條件是滿足,就馬上退出判斷,不再繼續判斷后面的(條件判斷),因為,對于“或”的關系符,只要有1個條件判斷是滿足(真),就可以馬上裁定整體判斷為真了,沒必要繼續判斷后面的(條件判斷)。 上述文字中的“從左到右”就是“順序”,“馬上退出”就是“取舍”。這種關系之所以稱謂為“短路”,我猜測可能是把“&&”和“||”比喻成在電路的回路中,只要有個1個地方短路了,就可以馬上裁定這個回路是短路的,就不用再判斷其它地方了。 【43.5 例程練習和分析。】 現在編寫一個實驗程序,一共有8個給定的數,要統計其中數值從70到80之間的數有幾個,統計其中取除了70到80之間以外的數有幾個。 程序代碼如下: /\*---C語言學習區域的開始。-----------------------------------------------\*/ unsigned char x1=90; //給定的第1個數 unsigned char x2=65; //給定的第2個數 unsigned char x3=85; //給定的第3個數 unsigned char x4=79; //給定的第4個數 unsigned char x5=95; //給定的第5個數 unsigned char x6=65; //給定的第6個數 unsigned char x7=75; //給定的第7個數 unsigned char x8=85; //給定的第8個數 unsigned char a=0; //統計從70到80的變量總數 unsigned char b=0; //統計除了70到80以外的變量總數 void main() //主函數 { //第一部分:統計“從70到80之間的數有多少個。 if(x1>=70&&x1<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } if(x2>=70&&x2<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } if(x3>=70&&x3<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } if(x4>=70&&x4<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } if(x5>=70&&x5<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } if(x6>=70&&x6<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } if(x7>=70&&x7<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } if(x8>=70&&x8<=80) //如果條件為真,則執行下面大括號里面的語句。 { a++; //相當于a=a+1,用來統計從70到80的總數 } //第二部分:統計除了70到80之間以外的數有多少個。 if(x1<70||x1>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } if(x2<70||x2>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } if(x3<70||x3>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } if(x4<70||x4>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } if(x5<70||x5>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } if(x6<70||x6>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } if(x7<70||x7>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } if(x8<70||x8>80) //如果條件為真,則執行下面大括號里面的語句。 { b++; //相當于b=b+1,用來統計除了70到80以外的總數 } View(a); //把第1個數a發送到電腦端的串口助手軟件上觀察。 View(b); //把第2個數b發送到電腦端的串口助手軟件上觀察。 while(1) { } } /\*---C語言學習區域的結束。-----------------------------------------------\*/ 在電腦串口助手軟件上觀察到的程序執行現象如下: 開始... 第1個數 十進制:2 十六進制:2 二進制:10 第2個數 十進制:6 十六進制:6 二進制:110 分析: 變量a為2。(數值從70到80之間的有x4, x7這2個) 變量b為6。(除了70到80之間以外的有x1, x2,x3,x5, x6, x8這6個) 通過實驗結果,發現在單片機上的實驗結果和我們的分析是一致的。 【43.6 如何在單片機上練習本章節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>

                              哎呀哎呀视频在线观看