Matlab中有類似C語言裡面的問號表示式麼

2021-03-08 07:40:45 字數 2808 閱讀 4109

1樓:

沒有.如果想有matlab實現c語言裡面的問號語句可以使用條件語句。

if...

end問號表示式原型: object ? set1:set2 ;

註解: 如果 object 為真 則 整個 問號表示式的值為 : set1 ,否則 為: set2

demo:  string k = (1==1)?"就會執行這句":"無緣執行這句";

問號表示式巢狀使用: objecta ? set1:objectb?set2:set3

註解: 其實 問號表示式是個順序判斷的語句,理解這句話就可以理解巢狀語句了;

objecta 為 假 則會執行 objectb的判斷 objectb 為true 則顯示 set2 否則顯示 set3 那麼整體語句的結果就為 set3

objectb 為真 則顯示為set1 整體語句為 set1

2樓:dd愛睡覺的熊

沒有。在matlab2009上試了:

>> a=3>4 ? 1:2

??? a=3>4 ? 1:2

|error: unexpected matlab operator.

3樓:楊好巨蟹座

剛剛試過,如下:

%a=10;

b=20;a+b

c語言問號表示式的問題

4樓:凌淩

你說的是? a:b這種嗎.

max=(a>b)?a:b;

等效於if(a>b)

else

提問者評價不錯

c語言問號表示式是什麼?

5樓:擰發條鳥啊

……?……:……

式a?b:c值為:若a為真,則b;若a為假,則c。

但有一點是值得注意的,那就是問號表示式的結合性,問號表示式是從右往左的運算方向

尤其是當問號表示式巢狀使用時得注意這個問題,例如**:int a=1,b=2,c=3,d=4;

printf("%d",a正確結果是:1

因為先執行的是c因此得到的結果就是1(可以在編譯器上實驗一下)

c語言裡面?問號什麼意思?:什麼意思?

6樓:楓璽

c語言裡面?、:是三木運算子,其中?用來判斷條件的真假,:用來根據判斷結果決定取值。

如(a是一個"條件表示式",如果a條件表示式的一般形式為:表示式1?表示式2:表示式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的絕對值。

7樓:百度使用者

這是c裡面唯一一個三目運算子.

a>b?a:b

如果a>b,返回a

如果a!>b,返回b

8樓:匿名使用者

條件運算子 (?:) 根據布林型表示式的值返回兩個值中的一個。條件運算子的格式如下

condition ? first_expression : second_expression;

備註如果條件為 true,則計算第一表示式並以它的計算結果為準;如果為 false,則計算第二表示式並以它的計算結果為準。只計算兩個表示式中的一個。

使用條件運算子,可以更簡潔、雅觀地表達那些否則可能要求 if-else 結構的計算。例如,為在 sin 函式的計算中避免被零除,可編寫為

if(x != 0.0) s = math.sin(x)/x; else s = 1.0;

或使用條件運算子,

s = x != 0.0 ? math.sin(x)/x : 1.0;

條件運算子為右聯運算子,因此該形式的表示式

a ? b : c ? d : e

按如下規則計算:

a ? b : (c ? d : e)

而不是按照下面這樣計算:

(a ? b : c) ? d : e

不能過載條件運算子。

9樓:匿名使用者

exp1?exp2:exp3

首先判斷exp1是否成立,如成立返回exp2,否則返回exp3

10樓:匿名使用者

rate=(sal<=1000) ? 0 : 0.05

這是一個語句的表示如果sal<=1000成立則rate=0,否則rate=0.05

11樓:匿名使用者

你說的是 ? : 三目條件運算子吧?

12樓:匿名使用者

例如flag=((2<3)?5:6);意思是如果?前的表示式為真則flag為5,否則為6,此時flag=5,而flag=((2>3)?5:6);時flag為6。

13樓:匿名使用者

sfdfhjgjdhgdddvbegwgsgxbfjafxsvdgdhsgdhncuretgff

c語言中有符號型別的int範圍,C語言中 有符號型別的int範圍( 128 127)是怎麼求出來的,特別是 128 怎麼理解 負數用二進位制怎麼表示

恩!首先要指出你的一個錯誤!int的範圍不是 128 127 這個是char的範圍,範圍的大小是由型別所佔有的位元組來決定的。如此所示 char是一個位元組8bit,那麼在二進位制中,8bit最大值是255,最小值是0 在是在無符號時 如果是有符號的話.那麼就還有一位是符號為,最高位是符號為。例如 ...

c語言裡面if語句的巢狀看不懂C語言裡面if語句的巢狀看不懂

if else if語句是一對判斷組合 多個順序if是平行的執行判斷的。舉例說明 if 我有錢 else if 我有時間 上面的語句意思如下 如果我有錢 if判斷成立 則我只能去 即使我有時間又有金錢也不能去旅遊 而如果我沒有錢 if判斷不成立 則要看我是否有時間,有時間就去旅遊 沒錢去旅遊就苦了 ...

c語言中if和else的用法,C語言裡面if 和else的用法?

include int main if a c if b c n a 100 b 10 c printf d n n return 0 c語言裡面if 和else的用法?if 條件 復 如果條件為真,執行 這制裡 條件為真才執bai行 else 否則du,執行這裡。只要不是真,zhi就執行。dao ...