當前位置:首頁 » 編程語言 » 逗號c語言作用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

逗號c語言作用

發布時間: 2022-06-17 20:21:57

c語言中逗號的作用,詳細點

在C語言中,多個表達式可以用逗號分開,其中用逗號分開的表達式的值分別結算,但整個表達式的值是最後一個表達式的值。
假設b=2,c=7,d=5,
a1=(++b,c--,d+3);
a2=++b,c--,d+3;
對於第一行代碼,有三個表達式,用逗號分開,所以最終的值應該是最後一個表達式的值,也就是d+3,為8,所以a1=8。
對於第二行代碼,那麼也是有三個表達式,這時的三個表達式為a2=++b、c--、d+3,(這是因為賦值運算符比逗號運算符優先順序高)所以最終表達式的值雖然也為8,但a2=3。
逗號運算符的優先順序最小

❷ c語言中逗號運算符的功能和使用方法

C
語言中,逗號(,)也可以是運算符,稱為逗號運算符(Comma
Operator)。逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式,稱為逗號表達式。其一般形式為:
子表達式1,
子表達式2,
...,
子表達式n
例如:
a
+
b,
c
=
b,
c++
逗號運算符的優先順序是所有運算符中級別最低的,通常配合
for
循環使用。逗號表達式最右邊的子表達式的值即為逗號表達式的值。上例中,c++
的值(c
自增之前的值)即為該表達式的值。
逗號運算符保證左邊的子表達式運算結束後才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有副作用都結束後,才對其右邊的子表達式進行運算。因此,上例中,c
得到
b
的值後,才進行自增運算。

❸ 在C語言中逗號運算符有什麼用呢

等下。。答錯了。。還需要理解一下神馬是逗號表達式。。我前面說的和uuyyhhjj與delta_charlie的意思一樣,但其實我們都搞錯了。你可以自己把我們的例子都運行一下,看看是不是這樣。下面我感覺應該是我正確的理解。
逗號表達式是所有運算符中優先順序最低的,比賦值運算符還要低。他的作用就是把每個表達式都算一遍,並且把最後一個表達式返回的值作為逗號表達式的值。(把其他的都不管了)

像你說的那個,如果是
x=200,500;
(沒有括弧),x就會等於200,然後上面整個式子的值是500。

但是有括弧的話, (200,500) 就是一個單獨的式子,他的值是500,所以x=(200,500)最後賦值給x就是500

舉幾個例子,

x=(21,22,23,24,25);
這個裡面,先算括弧里的,前面的21到24算過後都被丟棄,括弧里的表達式的值是25。之後執行賦值運算,x的值就變成括弧里表達式的值,25了。
如果編譯
int x;
int a;
x=(21,22,23,24,25);
cout<<"x="<<x<<endl;
會輸出
x=25

x=21,22,23,24,25;
這行整個是一個表達式。
逗號運算符會分別計算表達式x=21、22、23 、24、25(單獨一個數字也可以叫做表達式)。
然後他會用最後一個表達式作為逗號表達式的值。所以整個式子(整個一行)的值是25。但是因為這個值並沒有返回給別的變數,他就也被丟棄了。
如果編譯
int x;
x=21,22,23,24,25;
cout<<x;
輸出是21。

a=(x=21,22,23,24,25);
這個裡面,除了給x賦值,它又把逗號表達式的值25賦給a。
如果編譯
int x;
int a;
a=(x=21,22,23,24,25);
cout<<"x="<<x<<endl;
cout<<"a="<<a<<endl;

會輸出
x=21
a=25

a=(x=21,22,23,24,x*25);這個里,賦值給x之後又利用x計算了逗號表達式的值,21*25,最後把這個值賦給a
如果編譯
int x;
int a;
a=(x=21,22,23,24,x*25);
cout<<"x="<<x<<endl;
cout<<"a="<<a<<endl;
會輸出
x=21
a=525

簡單來說,逗號的作用就是執行每一個表達式,然後用最後一個表達式作為他它的值。
看這個可能可以幫助你理解 http://blog.csdn.net/great_ghoul/article/details/1779768
如有疑問,歡迎您的追問。

❹ 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語言中逗號運算符怎麼用

逗號運算(,)是一個多元運算,逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式,稱為逗號表達式。其一般形式為:
子表達式1, 子表達式2, ..., 子表達式n

它的整個的值都是最後一個表達式的值,這里所說的值是從左向右運算的。逗號運算符的優先順序是所有運算符中級別最低的。

例如:

inta=(表達式1,表達式2);//則a的結果是表達式2的結果

❻ 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;

(6)逗號c語言作用擴展閱讀

運算符優先順序:

1、優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

2、相同優先順序中,按結合順序計算。大多數運算是從左至右計算,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。

3、基本的優先順序需要記住:指針最優,單目運算優於雙目運算。如正負號。先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 && 7等價於 (1 << (3 + 2))&&7.邏輯運算最後計算。

❼ 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。

(7)逗號c語言作用擴展閱讀:

逗號運算

例子:

int a1,a2,b=2,c=7,d=5; // 第1行

a1=(++b,c--,d+3); // 第2行

a2=++b,c--,d+3; //第3行

對於給a1賦值的代碼,有三個表達式,用逗號分開,所以最終的值應該是最後一個表達式的值,也就是(d+3)的值,為8,所以a1的值為8。

❽ 在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語言中逗號指的是什麼意思

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語言