什麼是三目運算子?對三目運算子的理解

2021-09-27 08:16:23 字數 1153 閱讀 5349

對於有些選擇分支結構,可以使用簡單的條件運算子來代替. 如:

if(a其中"(ay)?『y』:『n』

(d=bb-4a*c)>=0?sqrt(d):sqrt(-d)

ch=(ch>=『a』&&ch<=『z』)?(ch+32):ch

以上均為合法的條件表示式.

(2) 條件表示式的執行順序為:先求解表示式1,若值為非0,表示條件為真,則求解表示式2,此時表示式2的值就作為整個條件表示式的值;

若表示式1的值為0,表示條件為假,則求解表示式3,表示式3的值就是整個條件表示式的值.例如:

(a>=0)?a:-a   執行結果是a的絕對值.

(3) 在程式中,通過把條件表示式的值直接賦予某個變數.例如:

min=(a0?1:x<0?-1:0

上述條件表示式中,表示式3部分又是乙個條件表示式.根據條件表示式的結合性,上述條件表示式等價於:

x>0?1:(x<0?-1:0)

其作用是判斷x的符號情況.當x為正數時,該條件表示式的值為1;當x為負數時,該條件表示式的值為-1;當x為0時,該條件表示式的值為0.

(7) 條件表示式不能取代一般的if語句,僅當if語句中內嵌的語句為賦值語句(且兩個分支都給同一變數賦值)時才能代替if語句.例如:

if(a%20)

printf(「even/n」);

else

printf(「odd/n」);

不能寫成:

(a%20)?printf(「even/n」):printf(「odd/n」);

但可以用下面語句代替:

printf("%s/n",(a%20?「even」:「odd」);

該語句的作用是:若 a 為偶數,輸出 even;若 a 為奇數,輸出odd.

(8) 表示式1,表示式2,表示式3的型別可以不同.此時條件表示式的值的型別為它們中較高的型別.例如:

main()

該程式的作用是從鍵盤輸入任意乙個字元,判別它們是否大寫字母,如果是,輸出乙個@;否則按原樣輸出 dot

上例中,程式第6行是關鍵語句,該語句實現輸入字元的判斷,選擇與更換工作.

其執行過程為:先由此語句中的賦值號右側的條件運算子對輸入的字元進行判斷和選擇,若ch>=『a』&&ch<='z』成立,說明ch是大寫英文本母,此時選@;否則仍選原字元ch,然後把選擇的結果賦值給原變數ch 。

三目運算子

1 概念 根據不同的條件,執行不同的操作 返回不同的值。條件1?值1 或操作1 如果滿足條件 1,就返回值 1或執行操作1 條件2?值2 或操作2 否則,如果滿足條件 2,就返回值 2或執行操作2 總結 表示式 閏年 平年 多種條件 條件 1?值1 條件2?值 值3例子 1 輸入星期四 就輸出 班級...

三目運算子

單目運算子 3 雙目運算子 3 4 三目運算子 格式 表達關係式 表示式1 表示式2 如果條件為true,運算後的結果是表示式1 如果條件為false,運算後的結果是表示式2 比較表示式 結果是乙個boolean型別 執行流程 根據比較表示式的計算返回乙個true或者false。如果是true,就把...

三目運算子

1.用控制台輸入3個整數,必須使用三目運算子使其顯示出最大值。int a,b,c console.writeline 請輸入第1個數 a int.parse console.readline console.writeline 請輸入第2個數 b int.parse console.readline...