c語言中?:是什么運算符? 關(guān)于C語言條件運算符的結(jié)合順序?
關(guān)于C語言條件運算符的結(jié)合順序?條件運算符的結(jié)合方向為“自右至左”; 條件運算符優(yōu)先于賦值運算符;條件運算符的執(zhí)行順序:先求表達式1。若為真則求表達式2,此時表達式2的值就是整個條件表達式的值。若表達
關(guān)于C語言條件運算符的結(jié)合順序?
條件運算符的結(jié)合方向為“自右至左”; 條件運算符優(yōu)先于賦值運算符;條件運算符的執(zhí)行順序:先求表達式1。
若為真則求表達式2,此時表達式2的值就是整個條件表達式的值。若表達式1的值為真,求表達式3,此時表達式3的值就是整個條件表達式的值。
寫出條件運算符的語法,并寫出其運算步驟?
條件運算符是 ? : 形如:表達式1?表達式2:表達式3 先求解表達式1, 若其值為真,則將表達式2的值作為整個表達式的取值, 否則將表達式3的值作為整個表達式的取值。 例如: max=(a>b)?a:b 此處表達式1為:a>b 表達式2為:a 表達式3為:b 先求解表達式1,即a>b:如果a大于b,那么返回表達式2,即a的值,即max=a; 如果a不大于b,那么返回表達式3,即b的值,即max=b;
條件運算符?和:是什么意思?
條件運算符(? : )是一個三目運算符,即有三個操作數(shù)。
使用條件運算符(?:)可以實現(xiàn) If else 的功能,其一般形式為:
表達式1 ? 表達式2 : 表達式3
例如條件語句:
if(a>b) max=a
else max=b
可用條件表達式寫為
max=(a>b) ? a : b
執(zhí)行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。
if條件語句例子如下:
直接編譯,程序輸出結(jié)果中任意輸入年齡,程序執(zhí)行結(jié)果如下圖所示:
知識擴展:
條件運算符的運算優(yōu)先級低于關(guān)系運算符和算術(shù)運算符,但高于賦值符
條件運算符?和:是一對運算符,不能分開單獨使用。
條件運算符的結(jié)合方向是自右至左。
用條件運算符和條件表達式改掉if和else語句,有沒可能?
當然可以。但是有什么意義呢,當條件運算符多層嵌套使用時,程序閱讀很困難,不清晰。多分支結(jié)構(gòu)還是用 switch case 結(jié)構(gòu)最好,不提倡用 if else .現(xiàn)在編程:不提倡用一些技巧,而是使用最通俗,最樸素的語句。利于程序的維護。當然,你提的這個問題,說明你思考了,雖然我認為現(xiàn)實意義不大,但還是值得表揚。