溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

c語言中三目運(yùn)算符的使用方法

發(fā)布時(shí)間:2020-06-28 19:14:10 來源:億速云 閱讀:561 作者:元一 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)c語言中三目運(yùn)算符的使用方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

三目運(yùn)算符,又稱條件運(yùn)算符,是計(jì)算機(jī)語言(c,c++,java等)的重要組成部分。它是唯一有3個(gè)操作數(shù)的運(yùn)算符,有時(shí)又稱為三元運(yùn)算符。一般來說,三目運(yùn)算符的結(jié)合性是右結(jié)合的。

C語言三目運(yùn)算符用法:

對(duì)于條件表達(dá)式b ? x : y,先計(jì)算條件b,然后進(jìn)行判斷。如果b的值為true,計(jì)算x的值,運(yùn)算結(jié)果為x的值;否則,計(jì)算y的值,運(yùn)算結(jié)果為y的值。

一個(gè)條件表達(dá)式絕不會(huì)既計(jì)算x,又計(jì)算y。條件運(yùn)算符是右結(jié)合的,也就是說,從右向左分組計(jì)算。例如,a ? b : c ? d : e將按a ? b : (c ? d : e)執(zhí)行。

<表達(dá)式1> ? <表達(dá)式2> : <表達(dá)式3>; "?"運(yùn)算符的含義是:先求表達(dá)式1的值,如果為真,則執(zhí)行表達(dá)式2,并返回表達(dá)式2的結(jié)果;如果表達(dá)式1的值為假,則執(zhí)行表達(dá)式3,并返回表達(dá)式3的結(jié)果。

可以理解為條件 ? 結(jié)果1 : 結(jié)果2 里面的?號(hào)是格式要求。也可以理解為是不是條件成立,條件成立為結(jié)果1否則為結(jié)果2。

c語言中三目運(yùn)算符的使用方法

擴(kuò)展資料:

三目運(yùn)算符,又稱條件運(yùn)算符,指的是計(jì)算機(jī)語言(c,c++,java等)的重要組成部分。它是唯一有3個(gè)操作數(shù)的運(yùn)算符,所以有時(shí)又稱為三元運(yùn)算符。一般來說,三目運(yùn)算符的結(jié)合性是右結(jié)合的。

以下是關(guān)于條件運(yùn)算符的幾點(diǎn)說明:

(1)、 通常情況下,表達(dá)式1是關(guān)系表達(dá)式或邏輯表達(dá)式,用于描述條件表達(dá)式中的條件,表達(dá)式2和表達(dá)式3可以是常量,變量或表達(dá)式。例如:

(x==y)?'Y':'N'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='A'&&ch<='Z')?(ch+32):ch

以上均為合法的條件表達(dá)式。

(2)、 條件表達(dá)式的執(zhí)行順序?yàn)?先求解表達(dá)式1,若值為非0,表示條件為真,則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;

若表達(dá)式1的值為0,表示條件為假,則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。例如:

(a>=0)?a:-a 執(zhí)行結(jié)果是a的絕對(duì)值。

(3) 、在程序中,通過把條件表達(dá)式的值直接賦予某個(gè)變量。例如:

min=(a<b)?a:b執(zhí)行結(jié)果就是將條件表達(dá)式的值賦予變量min,即將a和b二者中較小的數(shù)賦給min。

(4)、 條件表達(dá)式的優(yōu)先級(jí)別僅高于賦值運(yùn)算符,而低于前面遇到過的所有運(yùn)算符。

因此,min=(a<b)?a:b括號(hào)可以不要,可直接寫成,min=a<b?a:b如果有x<y?x+1:y-1等效于x<y(x+1):(y-1)而不等效于(x<y?x+1:y)-1

(5) 、條件運(yùn)算符的結(jié)合方向?yàn)?quot;自右至左".

(6) 、條件表達(dá)式允許嵌套,即允許條件表達(dá)式中的表達(dá)式2和表達(dá)式3又是一個(gè)條件表達(dá)式。例如:

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

上述條件表達(dá)式中,表達(dá)式3部分又是一個(gè)條件表達(dá)式.根據(jù)條件表達(dá)式的結(jié)合性,上述條件表達(dá)式等價(jià)于:

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

其作用是判斷x的符號(hào)情況.當(dāng)x為正數(shù)時(shí),該條件表達(dá)式的值為1;當(dāng)x為負(fù)數(shù)時(shí),該條件表達(dá)式的值為-1;當(dāng)x為0時(shí),該條件表達(dá)式的值為0。

(7) 、條件表達(dá)式不能取代一般的if語句,僅當(dāng)if語句中內(nèi)嵌的語句為賦值語句(且兩個(gè)分支都給同一變量賦值)時(shí)才能代替if語句。例如:

if(a%2==0)printf("even/n");elseprintf("odd/n");

該語句的作用是:若 a 為偶數(shù),輸出 even;若 a 為奇數(shù),輸出odd。

(8) 、表達(dá)式1,表達(dá)式2,表達(dá)式3的類型可以不同.此時(shí)條件表達(dá)式的值的類型為它們中較高的類型。

關(guān)于c語言中三目運(yùn)算符的使用方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI