『壹』 c語言 逗號表達式
樓主不用暈,上面的說的都對。。。你老師說的也對。。
如果那個表達式這樣寫:y=(x=(a+b),(b+c)) 則y
=
10,如果是:y=(x=a+b),(b+c)那麼y
=
6,原因就是逗號是C語言運算符中優先順序最低的了,優先順序為15,而「=」(賦值運算符)的優先順序是14,比逗號高。而逗號表達式到底是怎麼回事呢,看這個表達是,b
=
(a,c,d,e),這裡面比如acde這四個變數都進行了初始化,那麼這個表達式的計算過程就是從a開始,一直到e,只看最後一個逗號後的變數的值,該值就是此表達式的值,所以這個表達式b應該等於e,,,這你也就不難理解你說的那兩個表達式為什麼結果不一樣了。。y=(x=a+b),(b+c)這個表達式因為沒有外層括弧,而逗號的優先順序又比等號的低,所以在進行完x=a+b後就直接給y賦值了,然後才進行b+c的運算,我這樣說樓主可明白?
『貳』 C語言里的逗號的使用方法
C語言提供一種特殊放入運算符----逗號運算符
表達式1,表達式2
逗號表達式的求解過程是:先求表達式1,再求表達式2.整個逗號表達式的值是表達式2的值,如表達式「3+5,6+8」的值為14。又如,逗號表達式:「a=3*5,a*4」,賦值運算符的優先順序別高於逗號運算符,因此應先求解a=3*5.經計算和賦值後得到a的值為15,然後求解a*4,得60.整個逗號表達式的值為60.
逗號表達式的一般形式可以擴展為
表達式1,表達式2,表達式3,。。。表達式n。它的值為表達式n的值
逗號運算符是所有運算符中級別最低的。
『叄』 c語言,逗號的用處和使用方法………………
c語言提供一種特殊放入運算符----逗號運算符
表達式1,表達式2
逗號表達式的求解過程是:先求表達式1,再求表達式2.整個逗號表達式的值是表達式2的值,如表達式「3+5,6+8」的值為14。又如,逗號表達式:「a=3*5,a*4」,賦值運算符的優先順序別高於逗號運算符,因此應先求解a=3*5.經計算和賦值後得到a的值為15,然後求解a*4,得60.整個逗號表達式的值為60.
逗號表達式的一般形式可以擴展為
表達式1,表達式2,表達式3,。。。表達式n。它的值為表達式n的值
逗號運算符是所有運算符中級別最低的。
『肆』 c語言中逗號運算符的功能和使用方法是什麼
C 語言中,逗號(,)也可以是運算符,稱為逗號運算符(Comma Operator)。逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式,稱為逗號表達式。其一般形式為:
子表達式1, 子表達式2, ..., 子表達式n
例如:
a + b, c = b, c++
逗號運算符的優先順序是所有運算符中級別最低的,通常配合 for 循環使用。逗號表達式最右邊的子表達式的值即為逗號表達式的值。上例中,c++ 的值(c 自增之前的值)即為該表達式的值。
逗號運算符保證左邊的子表達式運算結束後才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有副作用都結束後,才對其右邊的子表達式進行運算。因此,上例中,c 得到 b 的值後,才進行自增運算。
『伍』 c語言中逗號指的是什麼意思
C語言中的逗號有2種意思:
1.表示"分隔號"的意思,就和語文中的逗號一個意思;
2.表示"逗號運算符"的意思,用它將2個表達式連接起來.例如:
3+5,6+8
就稱為逗號表達式,又稱為"順序求值運算符".逗號表達式的一般形式為
表達式1,表達式2
逗號表達式的求解過程是:先求解表達式1,再求解表達式2.整個逗號表達式的值是表達式2的值.例如,上面的表達式"3+5,6+8"的值是14.
『陸』 在C語言中逗號、分號等的用法
首先說下分號吧,其實分號挺簡單的,它就表示著一個語句的結束,
就像平時我們語文中說完一句話加上個句號,
C語言中說完一句話後面加上個分號;
比如
printf("hello,world\n");
說完一句話加上個分號告訴計算機你說完這句話了
再來說下逗號,
這就樣提到逗號表達式了,
比如
a=(4,6)
這個表達式它的值就是6
,為什麼呢?
先看括弧里的(4,6)
因為有了逗號存在形成一個逗號表達式,整個表達式的值取的是
逗號後面的值,因此是6
然後把6賦值給a
最終整個表達式的值就是6了
。
在逗號表達式中我認為只要記住了
取值取逗號後邊的那個值就可以了。
再拿個經典點的說下
while(i<10)
sum+=i;
這一小斷程序
當然我初始化sum值為0;
對於它我們可以改寫成更簡單的
就用逗號實現:
while(sum+=i,i<10)
;
這樣一句話就實現了,它的過程就是先做WHILE裡面的
sum+=i
然後括弧內的整體是一個逗號表達式,整個表達式的值取逗號後邊的
i<10
這樣前面的話也做了,最終也達到了我們的目的。
但注意此句話最後邊忘了那個分號!
表示語句的結束。
『柒』 C語言逗號表達式
int main(){ int k = 0; int i = ((k=3*2, k+4), k+2); printf(;value = %d;n; i);}結果:value = 8逗號表達式從左往右計算。
但返回右邊的數據值作為表達式值;1. k = 3*2 // k = 6;2. (6, k+4) // 表達式返回10, k仍為63. (10, k+2) // k為6,表達式返回8。
依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。通過對C語言進行研究分析。
(7)c語言逗號可以用什麼表示擴展閱讀:
特有特點:
其一,廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。
其三,結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。
『捌』 C語言中逗號運算符怎麼用
一、用法:
1、當順序點用,結合順序是從左至右,用來順序求值,完畢之後整個表達式的值是最後一個表達式的值。
main()
{int a,s,d;
s=2;
d=3;
a=12+(s+2,d+4);
}
先算括弧內的值:s+2=4,d+4=7;括弧內應為(4,7),括弧內取值只取最後一個,如果沒有括弧則取第一個;a=12+7=19。
x=(y=3,(z = ++y+2) +5);
是首先把y賦值為3,把y遞增為4,然後把4加上2,把結果6賦值給z,接下來把z加5最後把x賦為結果值11。
2、注意事項:逗號運算符(,)是C語言運算符中優先順序最低的一種運算符。
二、其它用法:
1、在for裡面的應用:
int i;int j;
for(i=0,j=0;i<5;i++,j++)
2、當分隔符:int i,j;
(8)c語言逗號可以用什麼表示擴展閱讀
運算符優先順序:
1、優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
2、相同優先順序中,按結合順序計算。大多數運算是從左至右計算,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。
3、基本的優先順序需要記住:指針最優,單目運算優於雙目運算。如正負號。先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 && 7等價於 (1 << (3 + 2))&&7.邏輯運算最後計算。
『玖』 c語言中逗號指的是什麼意思
C語言中的逗號有兩種意思:
1、表示"分隔號"的意思,就和語文中的逗號一個意思;
2、表示"逗號運算符"的意思,用它將2個表達式連接起來.例如:
3+5,6+8:就稱為逗號表達式,又稱為"順序求值運算符"。逗號表達式的一般形式為表達式1,表達式2。
逗號表達式的求解過程是:先求解表達式1,再求解表達式2。整個逗號表達式的值是表達式2的值。例如:上面的表達式"3+5,6+8"的值是14。
(9)c語言逗號可以用什麼表示擴展閱讀:
運算符號:
比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補 0)位移。例如,將 11100011 右移 3 比特,算術右移後成為 11111100,邏輯右移則為 00011100。
因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。
運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。
數據類型:
C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
常量與變數:
常量其值不可改變,符號常量名通常用大寫。變數是以某標識符為名字,其值可以改變的量。
標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
數組:
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
網路-C語言
『拾』 C語言逗號表達式
c語言提供一種特殊的運算符,逗號運算符,優先順序別最低,它將兩個及其以上的式子聯接起來,從左往右逐個計算表達式,整個表達式的值為最後一個表達式的值。如:(3+5,6+8)稱為逗號表達式,其求解過程先表達式1,後表達式2,整個表達式值是表達式2的值,如:(3+5,6+8)的值是14;a=(a=3*5,a*4)的值是60,其中(a=3*5,a*4)的值是60, a的值在逗號表達式里一直是15,最後被逗號表達式賦值為60,a的值最終為60。
所以你的那個a是15,然後a+15等於30。