物聯網學習教程——if語句2

千鋒教育官方發表於2019-09-09

接著上一篇繼續:

3. 條件運算子

 

格式:     表示式1?表示式2∶表示式3

功能:     判斷表示式1 的值,如果成立就執行表

            達式2 ,否則就執行表示式 3

使用場合:若在if語句中,當被判別的表示式的

            值為“真”或“假” 時,都執行一個賦值語

            句且向同一個變數賦值時,可以用一個

            條件運算子來處理。

例:

          if (a>b) max= a;

     else max=b;

 

a>b 時將 a 的值賦給 max ,當 a b 時將 b 的值賦給 max

可以看到無論a>b 是否滿足,都是向同一個變數賦值。

可以用下面的條件運算子來處理:

 

      max=(a>b)?a∶b;

說明:

(1) 條件運算子的執行順序:先求解表示式1,若為非0(真)

     則求解表示式2,此時表示式2的值就作為整個條件表示式

     的值。若表示式1的值為0(假),則求解表示式3,表達

     式3的值就是整個條件表示式的值。

(2) 條件運算子優先順序高於賦值運算子 ,低於關係運算子

     和算術運算子。

(3) 條件運算子的結合方向為“自右至左”。

(4) “表示式 2 ”和“表示式 3 ”不僅可以是數值表示式,還可以

     是賦值表示式或函式表示式。

(5) 條件表示式中,表示式1的型別可以與表示式2和表達

     式3的型別不同。

輸入一個字元,判別它是否大寫字母,如果是,將它轉換成小寫字母;如果不是,不轉換。然後輸出最後得到的字元。
 
#include <stdio.h>
 void main ( )                 
 { char ch;
   scanf("%c",& ch);
   ch=(ch>='A'&&  ch<='Z')?(ch+32):ch; 如果字元變數ch 的值為大寫字母,則條件表示式的值為(ch+32),即相應的小寫字母。如果 ch 的值不是大寫字母,則條件表示式的值為ch,即不進行轉換。  
   printf("%c\n",ch);
  }

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2656487/,如需轉載,請註明出處,否則將追究法律責任。

相關文章