c語言正確表達式語法
『壹』 c語言和:操作符怎麼用
C語言?和:是三目運算符,也叫三元運算符。
語法:表達式1 ? 表達式2 : 表達式3;
函數:先執行表達式1,執行完畢,如果表達式1的結果為真,則執行表達式2,整個表達式的結果就是表達式2的結果,否則執行表達式3,結果是表達式3的結果。
例如:int res=1?10:20;
可以簡單理解為表達式1成立嗎?成立執行表達式2,否則執行表達式3。
(1)c語言正確表達式語法擴展閱讀:
關於三目運算符的幾點說明:
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。如果值為非零,則條件為真,則求解表達式2,並將表達式2的值用作整個條件表達式的值;
如果表達式1的值為0,表示條件為假,則解方程3,表達式3的值是整個條件表達式的值。例如:
(a>=0)?a:-a執行的結果是a的絕對值。
3、在程序中,直接將條件表達式的值賦給變數。例如:
min=(a<b)的結果?a:b是將條件表達式的值賦給變數min,即a和b中的較小者賦給min。
『貳』 C語言條件表達式
由條件運算符及其相應的操作數構成的表達式稱為條件表達式。
條件表達式的一般形式:表達式1?表達式2:表達式3
含義:若條件表達式1的值非0,則該條件表達式的值是表達式2的值,否則是表達式3的值。
例如:
1、max=((a>b)?a:b)
就是將a和b二者中較大的一個賦給max。
2、min=(a<b)?a:b
就是將a和b二者中較小的一個賦給min。
(2)c語言正確表達式語法擴展閱讀
條件表達式的優先順序
條件運算符優先順序高於賦值、逗號運算符,低於其他運算符
例如: int m=5,n=10,a=1,b=3
(1) m<n ? X: a+3
等價於: (m<n) ?(x) :(a+3)
(2) a++>=10 && b-->20 ? a : b
等價於: (a++>=10 && b-->20) ? a : b
(3) x=((3+a>5 )? 100 : 200)
等價於:x=((3+a>5)?100:200)
『叄』 c語言if語句的用法
c語言提供了三種形式的if語句:
1、if(表達式)語句。
例如:if(x>y)printf("%d",x);
此時,如果表達式為真,則執行printf語句。
2、if(表達式)語句1 else 語句2
例如:
if(x>y)printf("%d",x);
elseprintf("%d",y);
此時,如果x>y成立為真,則執行語句printf("%d",x),然後直接跳過else,同時也跳過語句printf("%d",y),去執行之後的語句。
如果x>y不成立為假,則不執行語句printf("%d",x),執行語句printf("%d",x)。
3、if(表達式1)語句1
else if(表達式2)語句2
else if(表達式3)語句3
else if(表達式m)語句m
else 語句 n
此時,哪個表達式為真,則運行哪個if後面的語句。如表達式3成立為真,執行語句3。
在每個語句中,可以有多個語句,但需要加上大括弧
例:if(x>y){printf("%d",x);break;}
(3)c語言正確表達式語法擴展閱讀:
if語句使用的注意事項:
1.if(條件表達式)其後沒有分號。
一般來說,有"{}"有沒有";",有";"就沒有"{}"
2.if語句所控制的語句如果是一條語句,我們可以不寫大括弧;
如果控制的是兩條以上的語句,必須加大括弧。
if語句的控制體沒有加大括弧是其後跟的一條語句。
建議:永遠加上大括弧。避免不必要的錯誤。
參考資料:網路-if語句
『肆』 c語言語法的表達式有什麼要求
執行到那一句才有相應的效果,問號表達式可以改寫成if-else:
x = a > b ? i++ : i++;
等同於:
if(a > b)
x = i++;
else
x = i++;
所以最後x等於3,i自增了一次等於4。
為什麼一定要去研究那些沒用的旮旯呢,我從來不記什麼結合方向和運算符優先順序別,對於問號表達式,我只知道:
x = a > b ? i++ : i--;
如果a > b,那麼x = i++,否則x = i--,而整個表達式取了哪一個i的值,那個i的相關副作用運算(如果有的話,比如自增自減)才發生作用。如果你實在想不透就把它改寫成上面那樣的if-else語句,一目瞭然,沒必要學孔已己樣咬文嚼字在那些拐角旮旯里浪費時間。
BTW:你們的考試考運算符結合方向?天......