【C-分支結構】

來源:互聯網
上載者:User

標籤:

一、關係運算子 

雙目運算子 自左向右結合

關係運算子的優先順序低於算術運算子,高於賦值運算子

  1. <(小於)
  2. <=(小於或等於)
  3. >(大於)
  4. >=(大於或等於)
  5. ==(等於)
  6. !=(不等於)

二、關聯運算式 

值為真或者假  用1和0表示 

如:5>0的值為“真”,即為1;

三、邏輯運算子

與運算子(&&)和或運算子(||)均為雙目運算子。具有左結合性。非運算子(!)為單目運算子,具有右結合性

  1. &&(與運算)
  2. ||(或運算)
  3. !(非運算)

四、邏輯運算式的值

值也為真和假兩種,用1和0來表示。

&& 兩個都為真才是真

|| 只要一個為真就是真 兩個為假才是假

! 真時假,假時真

注意一些隱式條件,有時不需要計算後面的式子

如 int a = 3;

if((a > 6) && (a = 4)){

  a = 5;

}

結果a還是為3   因為a>6 已經為假了,就不用執行 a = 4 了

五、if語句

第一種形式為基本形式:if
        if(運算式) 語句

其語義是:如果運算式的值為真,則執行其後的語句,否則不執行該語句。

 第二種形式為: if-else
if(運算式) 
    語句1;
else 
    語句2;
其語義是:如果運算式的值為真,則執行語句1,否則執行語句2 。

 第三種形式為if-else-if形式
前二種形式的if語句一般都用於兩個分支的情況。當有多個分支選擇時,可採用if-else-if語句,其一般形式為:
     if(運算式1)
        語句1;
    else  if(運算式2) 
        語句2;
    else  if(運算式3) 
        語句3;
        … 
    else  if(運算式m) 
        語句m;
    else
        語句n;
其語義是:依次判斷運算式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個if語句之外繼續執行程式。 如果所有的運算式均為假,則執行語句n。然後繼續執行後續程式。

六、switch

C語言還提供了另一種用於多分支選擇的switch語句, 其一般形式為:
switch(運算式){ 
    case 常量運算式1:  語句1;
    case 常量運算式2:  語句2;
    … 
    case 常量運算式n:  語句n;
    default:  語句n+1;
}
其語義是:計算運算式的值。 並逐個與其後的常量運算式值相比較,當運算式的值與某個常量運算式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如運算式的值與所有case後的常量運算式均不相同時,則執行default後的語句。

C語言還提供了一種break語句,專用於跳出switch語句,break 語句只有關鍵字break,沒有參數。


在使用switch語句時還應注意以下幾點:

  1. 在case後的各常量運算式的值不能相同,否則會出現錯誤。
  2. 在case後,允許有多個語句,可以不用{}括起來。
  3. 各case和default子句的先後順序可以變動,而不會影響程式執行結果。
  4. default子句可以省略不用。

七、條件運算子及運算式

條件運算子的結合方向是自右至左。

它是一個三目運算子,即有三個參與運算的量。由條件運算子組成條件運算式的一般形式為:
    運算式1 ?  運算式2 : 運算式3

其求值規則為:如果運算式1的值為真,則以運算式2 的值作為條件運算式的值,否則以運算式2的值作為整個條件運算式的值。

練習:計算機程式。使用者輸入運算數和四則運算子,輸出計算結果。

    1. #include <stdio.h>
    2. int main(void){
    3.     float a,b;
    4.     char c;
    5.     printf("input expression: a+(-,*,/)b \n");
    6.     scanf("%f%c%f",&a,&c,&b);
    7.     switch(c){
    8.         case ‘+‘: printf("%f\n",a+b);break;
    9.         case ‘-‘: printf("%f\n",a-b);break;
    10.         case ‘*‘: printf("%f\n",a*b);break;
    11.         case ‘/‘: printf("%f\n",a/b);break;
    12.         default: printf("input error\n");
    13.     }
    14.     return 0;
    15. }

 

【C-分支結構】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.