逗號表示式怎麼用

時間 2022-04-24 05:39:26

1樓:眉間雪

表示式1,表示式2,表示式3,...... ,表示式n

逗號表示式的要領:

1.逗號表示式的運算過程為:從左往右逐個計算表示式。

2.逗號表示式作為乙個整體,它的值為最後乙個表示式(也即表示式n)的值。

3.逗號運算子的優先級別在所有運算子中最低。

在**中,%d作為格式宣告部分已經控制了輸出值只能為十進位制數,因此其輸出值是實際值向下取整的結果。由取值x=10與y=3,z的值應當為10/3,也就是3.33333333······。

但由於新增了流控制,輸出結果只能為3。

除了整數限制以外,**中的\n是普通字元中的換行符,表示輸出後控制移到下一行的開頭。

擴充套件資料

c語言的優點有以下:

1.簡潔緊湊、靈活方便。

c語言一共只有32個關鍵字,9種控制語句,程式書寫形式自由,區分大小寫。把高階語言的基本結構和語句與低階語言的實用性結合起來。c 語言可以像組合語言一樣對位、位元組和位址進行操作,而這三者是計算機最基本的工作單元。

2.運算子豐富。

c語言的運算子包含的範圍很廣泛,共有34種運算子。c語言把括號、賦值、強制型別轉換等都作為運算子處理。從而使c語言的運算型別極其豐富,表示式型別多樣化。

靈活使用各種運算子可以實現在其它高階語言中難以實現的運算。

3.資料型別豐富。

c語言的資料型別有:整型、實型、字元型、陣列型別、指標型別、結構體型別、共用體型別等。能用來實現各種複雜的資料結構的運算。並引入了指標概念,使程式效率更高。

4.表達方式靈活實用。

c語言提供多種運算子和表示式值的方法,對問題的表達可通過多種途徑獲得,其程式設計更主動、靈活。它語法限制不太嚴格,程式設計自由度大,如對整型量與字元型資料及邏輯型資料可以通用等。

5.允許直接訪問實體地址,對硬體進行操作。

由於c語言允許直接訪問實體地址,可以直接對硬體進行操作,因此它既具有高階語言的功能,又具有低階語言的許多功能,能夠像組合語言一樣對位(bit)、位元組和位址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統軟體。

6.生成目標**質量高,程式執行效率高。

c語言描述問題比組合語言迅速,工作量小、可讀性好,易於除錯、修改和移植,而**質量與組合語言相當。c語言一般只比匯程式設計序生成的目標**效率低10%~20%。

7.可移植性好。

c語言在不同機器上的c編譯程式,86%的**是公共的,所以c語言的編譯程式便於移植。在乙個環境上用c語言編寫的程式,不改動或稍加改動,就可移植到另乙個完全不同的環境中執行。

8.表達力強。

c語言有豐富的資料結構和運算子。包含了各種資料結構,如整型、陣列型別、指標型別和聯合型別等,用來實現各種資料結構的運算。c語言的運算子有34種,範圍很寬,靈活使用各種運算子可以實現難度極大的運算。

2樓:

逗號表示式將兩個及其以上的式子聯接起來,從左往右逐個計算表示式,整個表示式的值為最後乙個表示式的值。逗號表示式在printf()函式中使用的一般格式為printf("《格式化字串》", 《參量表》)。格式化字串由格式控制、和輸出表列兩部分組成,其中格式控制包含格式宣告和普通字元。

在**中,%d作為格式宣告部分已經控制了輸出值只能為十進位制數,因此其輸出值是實際值向下取整的結果。由取值x=10與y=3,z的值應當為10/3,也就是3.33333333······。

但由於新增了流控制,輸出結果只能為3。

除了整數限制以外,**中的\n是普通字元中的換行符,表示輸出後控制移到下一行的開頭。

擴充套件資料:

逗號表示式最重要的特點就是其優先順序最低。逗號表示式本身無難度,常常與賦值運算子一起考,考查學生對這兩個知識點的理解和考生觀察是否細心。如下題:

題目:以下程式的輸出結果是:

main()

int x,y,z;

x=1;

y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

[a]2,3,3 [b]2,3,2 [c]2,3,1 [d]1,1,1

解析:x和y的值經過自增以後分別為2和3,d可以排除。剩下3個選項選擇什麼呢?

如果是(x++,y++,++y)實際上可以看成(1,1,3)整個逗號表示式的值應該是3,那麼選a。

如果是(x++,++y,y++)實際上可以看成(1,2,2)整個逗號表示式的值應該是2,那麼選b。

但這是錯的,這兒還有賦值運算子。賦值運算子的優先順序是14,而逗號表示式的優先順序是15,也就是說上面的表示式中應該等價於這樣的結合:(z=x++),y++,++y;如果這樣寫的話,則答案很清晰,為:

2,3,1

正確答案選c。

3樓:來自大竹海標新立異的蘭果樹

逗號表示式的使用:乙個很多步驟的功能,需要有進度提示,需要分配每個過程的起點和步數,而起點和前面的步數有關係。所以,需要乙個變數來累計步數,可以將變數隱藏在巨集中,而巨集用逗號表示式實現。

表示式1,表示式2,表示式3,...... ,表示式n。例:

x=2,y=3,z=4。逗號表示式具有從左至右的結合性,即先求解表示式1,然後依次求解表示式2,直到表示式n的值。表示式n的值就是整個逗號表示式的值。

上述的逗號表示式的值就是表示式z=4的值4。

擴充套件資料

逗號運算子,c語言提供一種特殊的運算子,優先級別最低,它將兩個及其以上的式子聯接起來,從左往右逐個計算表示式,整個表示式的值為最後乙個表示式的值。在c語言中,逗號除了作為分隔符,還可以用作一種運算子--逗號運算子,用逗號運算子將幾個表示式連線起來。

逗號表示式的要領:逗號表示式的運算從左往右逐個計算表示式。逗號表示式作為乙個整體,它的值為最後乙個表示式(也即表示式n)的值。 逗號運算子的優先級別在所有運算子中最低。

如:(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。

4樓:匿名使用者

逗號表示式的一般形式是:表示式1,表示式2,表示式3……表示式n

逗號表示式的求解過程是:先計算表示式1的值,再計算表示式2的值,……一直計算到表示式n的值。最後整個逗號表示式的值是表示式n的值。

z=(x%y,x/y) 先計算x%y =1,再計算x/y=3,然後 z=(1,3)=3

5樓:匿名使用者

主體是乙個賦值語句,右邊是乙個帶有逗號的運算子的表示式,每個表示式又分別是賦值語句,z等於整個逗號表達是式的值,也就是表示式2的值x/y

x/y為取整運算子

6樓:匿名使用者

因為逗號運算子總是是取最後乙個,10/3求整就是答案3 了

7樓:杜爺1號

工具->表示式:

定義變數名稱、公式、單位。變數值ug會根據公式自動求解

表示式可以用來畫規律曲線、可以在所有需要輸入數值的地方填入,在引數化建模中特別有用。

例如,用表示式畫乙個直徑為20,長度為1.5倍直徑,兩頭外圓倒角為c1的軸,可以這麼操作:

1、開啟表示式,定義變數a=20(mm),b=1.5*a(mm),c=1(mm)

2、可以進入草圖,畫乙個圓,直徑尺寸約束為a,完成草圖

3、選擇草圖曲線,拉伸,起始0,終止b

4、兩端倒角,值輸入c;

也可以在草圖中畫半個剖面,用變數約束尺寸,然後用迴轉命令實現軸的建模。下次要畫相同形式的軸時,只要複製這個部件檔案,然後開啟表示式,更改相變數a、c的值,就可以快速完成建模工作,提高工作效率。

在c語言中逗號運算子有什麼用呢?

8樓:匿名使用者

等下。。答錯了。。還需要理解一下神馬是逗號表示式。。

我前面說的和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了。

如果編譯

如有疑問,歡迎您的追問。

9樓:山和煦答南

補充下樓上的:

逗號運算子還可以返回最後個表示式的值

例如:b=(d=d+1,e=e+1)

上面的**相當於

d=d+1;

e=e+1;

b=e;

c語言裡的逗號的使用方法

10樓:四捨**入

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。

c語言中的逗號運算子使用

11樓:老馮文庫

問題一 char temp = ; 和char temp = "hello";

這兩個字元陣列是一樣的。

問題二char temp = 'a' , 'b' ;  //編譯錯誤

char temp; temp = 'a','b'; //正確,temp得到'a'。'b'未起作用。

char temp; temp = ('a', 'b'); //正確,temp得到'b',這才是真正的逗號表示式

又如:int a = 1, b = 2, c = 3;

c = a++, b++; //b++未執行

printf("%d %d %d\n", a, b, c); //輸出「2 3 1」

問題三 char temp; temp = 'a','b';

同上。問題四 char temp = ; //編譯錯誤

temp是乙個字元陣列,也可以表示儲存乙個字串,但這個陣列中的每個元素都是乙個字串,說明它已經是乙個二維陣列了,不能使用一維陣列temp接收,除非這樣:

char *temp = ;

逗號表示式的計算,逗號運算子詳解

如樓上所述,逗號表示式先計算內括號,再計算外括號,先計算逗號前,再計算逗號後 x 4 5,x 5 x 25 第1步算x 4 5,此時x得到賦值,x 20第2步算x 5,值為100 則內括號整個的值100,x 20 注意,算x 5時,並未給x重新賦值 第3步算x 25,值為20 25 45 並未給x重...

正規表示式是什麼 有什麼用,正規表示式到底幹什麼用啊?

簡單的說就是,用一小段簡單的各種字元的組合,即叫做 正規表示式,去實現複雜的 字串匹配,查詢你到你所需要的內容,以便後期提取出來你所要的內容。這個聽起來很簡單,但是很多現實的應用中,所要處理的字串有千千萬萬種,各種複雜的字元,而且每個人的需求有無窮盡種,需要提取出的內容也是無窮多。而如果手動處理,寫...

怎麼用正規表示式去判斷密碼的強弱啊

你是自己寫正規表示式嗎?挺麻煩的,一般用的時候都是直接參考正規表示式文冊也沒必要記住 下面寫了乙個函式來驗證密碼強度,你可以寫乙個showpwrank arg 方法用於顯示強度 驗證密碼強度的js在網上挺多的 function checkrank val test val var ls 0 if v...

在單選按鈕中怎麼用el表示式判斷哪個選中了

檢視 工具欄 控制項工具箱 核取方塊 我會插入下拉列表,方法如下 單擊 資料 資料有效性 命令,在彈出的。下拉列表中選擇 序列 在 框中輸入序列 的單元格絕對位址,或者單擊其右側的按鈕,用滑鼠選定。el表示式獲得了乙個值,怎麼讓radio選擇相應的值?checked checked 女。checke...

struts中的怎樣用el表示式獲券態

直接將 dynaactionform 的物件傳入頁面 action 裡面這樣寫 request.setattrbute daform daform daform為dynaactionform 的物件jsp裡面這樣寫 分別得到各個屬性的值 你得在action裡邊吧這個物件傳過去 然後就可以獲得了req...