這篇文章將為大家詳細講解有關c語言中三目運算符的使用方法,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
我們提供的服務有:成都網站制作、成都網站建設、微信公眾號開發、網站優化、網站認證、宣恩ssl等。為近千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的宣恩網站制作公司
三目運算符,又稱條件運算符,是計算機語言(c,c++,java等)的重要組成部分。它是唯一有3個操作數的運算符,有時又稱為三元運算符。一般來說,三目運算符的結合性是右結合的。
C語言三目運算符用法:
對于條件表達式b ? x : y
,先計算條件b,然后進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。
一個條件表達式絕不會既計算x,又計算y。條件運算符是右結合的,也就是說,從右向左分組計算。例如,a ? b : c ? d : e
將按a ? b : (c ? d : e)
執行。
<表達式1> ? <表達式2> : <表達式3>; "?"運算符的含義是:先求表達式1的值,如果為真,則執行表達式2,并返回表達式2的結果;如果表達式1的值為假,則執行表達式3,并返回表達式3的結果。
可以理解為條件 ? 結果1 : 結果2 里面的?號是格式要求。也可以理解為是不是條件成立,條件成立為結果1否則為結果2。
擴展資料:
三目運算符,又稱條件運算符,指的是計算機語言(c,c++,java等)的重要組成部分。它是唯一有3個操作數的運算符,所以有時又稱為三元運算符。一般來說,三目運算符的結合性是右結合的。
以下是關于條件運算符的幾點說明:
(1)、 通常情況下,表達式1是關系表達式或邏輯表達式,用于描述條件表達式中的條件,表達式2和表達式3可以是常量,變量或表達式。例如:
(x==y)?'Y':'N'(d=b*b-4*a*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=(a<b)?a:b
執行結果就是將條件表達式的值賦予變量min,即將a和b二者中較小的數賦給min。
(4)、 條件表達式的優先級別僅高于賦值運算符,而低于前面遇到過的所有運算符。
因此,min=(a<b)?a:b
括號可以不要,可直接寫成,min=a<b?a:b
如果有x<y?x+1:y-1
等效于x<y(x+1):(y-1)
而不等效于(x<y?x+1:y)-1
(5) 、條件運算符的結合方向為"自右至左".
(6) 、條件表達式允許嵌套,即允許條件表達式中的表達式2和表達式3又是一個條件表達式。例如:
x>0?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%2==0)printf("even/n");elseprintf("odd/n");
該語句的作用是:若 a 為偶數,輸出 even;若 a 為奇數,輸出odd。
(8) 、表達式1,表達式2,表達式3的類型可以不同.此時條件表達式的值的類型為它們中較高的類型。
關于c語言中三目運算符的使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
名稱欄目:c語言中三目運算符的使用方法
鏈接分享:http://m.newbst.com/article28/gsejjp.html
成都網站建設公司_創新互聯,為您提供電子商務、App設計、網頁設計公司、網站建設、云服務器、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯