學習筆記 C語言 三目運算子

2022-07-29 16:12:19 字數 950 閱讀 1685

1.n目運算子

像邏輯非(!)、負號(-)這種只連線乙個資料的符號,稱為「單目運算子」,比如!5、-5。

像算術運算子、關係運算子、邏輯運算子這種連線二個資料的負號,稱為「雙目運算子」,比如6+7、8*5、5>6、4 && 0、

以此類推,連線3個資料的運算子,應該稱為「三目運算子」

2.三目運算子

c語言提供了唯一乙個三目運算子:條件運算子。

1> 使用格式

表示式a ? 表示式b : 表示式c

2> 運算結果

如果表示式a成立,也就是為「真」,條件運算子的結果就是表示式b的值,否則,就為表示式c的值

3> 結合方向和優先順序

優先順序順序為:算術運算子 > 關係運算子 > 條件運算子 > 賦值運算子

條件運算子的結合方向是「從右至左」

int a = 3>4 ? 4+5 : 5>4 ? 5+6 : 6>7+1;

上面的**等價於

int a = (3>4) ? (4+5) : ( (5>4) ? (5+6) : (6>(7+1)) );

簡化一下就是

int a = 0 ? 9 : ( 1 ? 11 : 0 );

繼續簡化為

int a = 0 ? 9 : 11;

所以a的值是11

1

//三目運算子 條件 ? 數值1 : 數值223

//int a = !100 ? 9 : 89;45

//printf("a=%d\n", a);67

8 #include 9

10int

main()

11

C語言 條件運算子 三目運算子

1 if a b else max a b a b 無論a b是否滿足,都向同乙個變數賦值 條件運算子優先於賦值運算子,所以先求解條件表示式,再將它的值賦值給max 2 a b printf d n a printf d n b 注意此處表示式後面沒有 a b a 100 b 200 表示式2和表示...

C語言 三目運算子(條件運算子)

今天在看c語言的時候看到了下面的 廢話少說,直接上 include intmain inta,b,c intmax 執行結果如下 please enter three integer numbers 34 67 12max is 67 這個例子很簡單,其中運用了三目運算子 m a b?a b 如果在...

C語言 三目運算子(條件運算子)

今天在看c語言的時候看到了下面的 廢話少說,直接上 include int main inta,b,c intmax 執行結果如下 please enter three integer numbers 34 6712 max is67 這個例子很簡單,其中運用了三目運算子 m a b?a b 如果在...