c語言x1,2,3,4和x1,2,3,4有什麼區別

2021-03-04 00:12:44 字數 5601 閱讀 7961

1樓:匿名使用者

x=1,2,3,4是逗號表示式,由4個表示式順次執行組成,第乙個表示式是x=1第二個是,2,第三個是3,第四個是4

x=(1,2,3,4)是賦值表示式,是把逗號表示式1,2,3,4的值賦給x

2樓:毛團兒球

逗號表示式的形式是(表示式1,表示式2) 結果為後面個表示式的結果。

所以x=(1,2,3,4)為4.

至於第乙個 不是表示式 所以x=1啊

問題解決了 、,就採納,別拖著。否則下次再問沒人會給回答

3樓:匿名使用者

因為x=1後是,表示式結束了

c語言中 x=(1,2,3,4);x的值是多少

4樓:匿名使用者

值為4.

(1,2,3,4)

這個是逗號運算表示式. 值是最右的值,也就是4所以 這裡相當於x=4;

5樓:匿名使用者

逗號表示式的結構是最後乙個逗號後面的值,所以結果是4.

6樓:匿名使用者

在c語言這個是逗號運算浮,根據運算浮的結合性,逗號運算的順序是從左到右,所以x 的值為最右邊的值既x=4。

7樓:匿名使用者

x=4,這是乙個逗號表示式,表示式的值是最後乙個表示式的值。

8樓:匿名使用者

4,c的","是直接取後值。所以是4。

9樓:吉祥弓長

4,記憶中是「,」號好像算最後乙個!!忘了跑遍程式不得了!

c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是?

10樓:

答案是1。

涉及到的運算子: ! () + - && /運算子優先順序為:() ! / + - &&運算過程:

x=3,y=4,z=5

!(x+y)+z-1&&y+z/2

!(3+4)+5-1&&4+5/2

所以表示式計算步驟為

!(3+4)+5-1&&4+5/2 -> !7+5-1&&4+5/2!7為 0

-> 0+5-1&&4+5/2

5/2 整數除整數得整數 2

-> 0+5-1&&4+2

-> 4&&6

邏輯運算 &&

擴充套件資料c語言運算子的優先順序:

如果同一優先順序的運算子,結合次序由結合方向所決定。

11樓:匿名使用者

只是等於1的,我是經過turbo c2.0編譯過的,答案應該沒什麼問題的,程式是:

main()

答案為什麼會等於1呢?那是因為運算級別的問題,根據運算級別,實現算括號裡面的先,所以程式就變成!7+z-1&&y+z/2;

然後就算!運算,由於7是大於1的,也就是真,所以!真就是假,也就是0,所以函式就變成0+z-1&&y+z/2;

然後再算除號的,由於你這裡兩個都是整形的,所以小數點後面的數忽略,所以就變成0+z-1&&y+2;

接著計算加減運算,也就是變成4&&6;

因為4和6都是大於1的數,所以就是真,由於&&兩邊都是真的話,輸出的就是真,所以結果就是1。

要是還有什麼不明白的話,就mm我吧!嘻嘻~~~~~~

12樓:匿名使用者

1優先順序: 算數》條件》關係》賦值

關係中的優先順序: 非》與》或

13樓:匿名使用者

1,把運算子優先順序搞清楚就好了

14樓:匿名使用者

x等於y加4。四家外加1+3+5+4+1等於三五+4+5+1。

15樓:匿名使用者

!(3+4)+5-1&&4+5/2

=!7+4&&4+2

=!11&&6

所以說那個式子的值是:不是11並且是6

c語言計算表示式s=1-2/x+3/x^2-4/x^3+5/x^4-6/x^5+......(x>!),要求計算精度為n項的絕對值小於10^-5

16樓:匿名使用者

分析:用迴圈來實現累加,迴圈變數取值:1,2,3,...

每次迴圈加1迴圈結束條件=當前項絕對值<1e-5即迴圈條件是t>=1e-5每項的分子:1,2,3,...就是迴圈變數取值每項的分母:

從第2項開始是1,x,x*x,x*x*x,...是前一項的分母再乘以x得到

每項的符號:1,-1,1,-1,...是前一項符號乘以-1得到#include

void main()

printf("%d項和為%lf\n",n,s);}

在c語言中,若 int w=1,x=2,y=3,z=4; 則表示式w>x?w:z>y?z:x的值是多少。具體步驟

17樓:匿名使用者

4。1、先執行z>y?z:x,判斷z是否大於y,結果為真,取z的值,結果為4;

2、再執行w>x?w:4,判斷w是否大於x,結果為假,結果為4。

若有多個條件表示式像這樣連在一起:x=《表示式1>?《表示式2>:

《表示式3>?《表示式4>:《表示式5>···執行順序是從右到左依次判斷再求出最後的x,即所謂的右結合性。

18樓:

這條語句可以轉換成if語句,這樣寫應該明白很多if (w>x)else if(z>y)else顯而易見,w不大於x,y大於在,表示式為z的 值,4而且最好加個括號,這樣寫:w>x?w:

(z>y?z:x)

19樓:匿名使用者

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

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

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

printf("%d",w>x?w:z>y?z:x);

正確結果是:4

純手打,望採納!!!!

20樓:匿名使用者

答案是4

先加上括號進行簡化

(w > x ? w : (z > y ? z : x))因為w比x小,所以取問號表示式的第二個分支,第二個分支是乙個問號表示式,並且z > y條件成立,所以取z的值,為4

21樓:哈切八搭

這個是逗號表示式,第乙個意思是如果w>x,那麼就取w的值,反之取z,第二個是取的值是否大於y,如果是,取z的值,否則x的值,而且逗號運算先後順序大於普通運算子,答案是4

22樓:

23樓:我就是神不一樣

在de e wa d j g

24樓:匿名使用者

考察邏輯的那裡 。

c語言問題 int i,x[3][4]; i=*(*(x+1)+1)是什麼意思,請詳細解釋下。謝

25樓:匿名使用者

x是int *[3][4]型別的變數起始位址x+1是第1維的增加,位址增加的尺寸為int[4],x+1相當於&x[1][0]即第2行起始位址

*(x+1)取得x陣列第2行起始位址*(x+1)+1後面的加1是訪問第2行第2個元素,相當於加第2維下標,即指向x[1][1]

*(*(x+1)+1)等於x[1][1]中存放的資料

26樓:匿名使用者

x 表示: 二級指標,其值與 x[0][0] 的位址值相同x+1 表示: 二級指標,其值與 x[1][0] 的位址值相同*(x+1)表示:

一級指標,其值與 x[1][0] 的位址值相同*(x+1)+1 表示: 一級指標,其值與 x[1][1] 的位址值相同

*(*(x+1)+1) 表示: x[1][1] 的值

27樓:匿名使用者

額額額額,陣列和指標結合,比較難,尤其是二維陣列,

具體啥意思,我得再研究研究,要是初學者的話,可以先忽略這部分,

28樓:心在那天

我們可以把x[3][4]看成乙個行3列4的**,只不過它的序號是從0開始,x就是這個**的首位址即行0列0的位址,所以x+1就是行1的行位址,而*(x+1)則是取行1的值即列的首位址即列0的位址所以*(x+1)+1即行1列1的位址,再對他們取值則是行1列1的值。

(c語言,很簡單的我都不懂)若w=1,x=2,y=3,z=4,則條件表示式w

29樓:墨汁諾

執行bai結果為1,也就是w的值。

du這句話首先判斷wzhi是否成立dao成版立就返回w否則權判斷y如果w小於x為真則取w為假取y,如果y小於z為真則取y為假則取z。

30樓:噓

若w=1,抄x=2,y=3,z=4,則條件表襲達式w是4。

(baia>b)?a:b;若(dua>b)為真,則取a,如果zhi(a>b)為假,則取b。

擴充套件資dao料:

c程式的生成過程:

c程式是先由原始檔經編譯生成目標檔案,然後經過連線生成可執行檔案。源程式的擴充套件名為 .c ,目標程式的擴充套件名為 .obj , 可執行程式的擴充套件名為 .exe 。

識別符號:

在編寫程式時,必須為函式、變數等命名,這個名字稱為識別符號。c語言中識別符號的命名規則如下:識別符號只能由字母、數字、下劃線組成;

識別符號的第乙個字母必須是字母和下劃線;識別符號區分大小寫字母,如if和if是兩個完全不同的識別符號。

合法識別符號如下: a6, b_3 , _mn 非法的識別符號如下: ab#12 , 8m , tr3:

4 , yes no識別符號不能與程式中具有特殊意義的關鍵字相同,不能與使用者編制的函式名、c語言庫函式相同,在程式中各種識別符號盡量不要重複,以便區分。選擇變數名和其他識別符號時,應注意做到 「見名知義」。

31樓:鐘曉鴻吉珠

w以先加括號來區別du,即為w(

zhiw) : (ydao

意思就是,內如果w則取(w)否則取(y乙個條件選容擇,繼續判斷,如果滿足y

32樓:

1 如果w小於x為真則取w為假取y,如果y小於z為真則取y為假則取z

在c語言中,若有定義:int y=3,x[7]={1,2,3,4,5,6,7},則表示式y+=x[5]的值 為( )。求解釋。

33樓:匿名使用者

定義乙個整形陣列,陣列包括7個元素,並初始化各個元素的值分別為1、2、3、4、5、6、7對應元素x[0]、x[1]、x[2]、x[3]、x[4]、x[5]、x[6],x[5]的值為6,y+=x[5]相當於y=y+x[5]=3+6=9。

34樓:匿名使用者

x[7] 表示7個元素的一維陣列x

35樓:匿名使用者

乙個陣列x中有7個元素

matlab求 已知X 1,2,3,4求P 2P3,用matlab如何實現

x 1,2,3,4 p x x 2 x 3 用matlab實現 第1題 令x n 1,2,3,4,5 h n 6,2,3,6,4,2 求y n x n h n 求助高手了 10 可這樣 x 1 5 h 6 2 3 6 4 2 y x.h但是,x和h元素個數不相等,不能計算,可改為 x 1 6 h 6...

C語言 若已定義X和Y為double型,則表示式 x 1,y x

因為3和2都是int型的,所以認為3 2的結果也是int的,捨棄後面的尾數,僅留下整數字的1.然後加上double型的x,複製給double型的y所以是2.0 1.x 1,1是baiint型別,賦值給double的x的時候自動提公升為 duzhidouble型別,所以x 1.0 注意1.0是doub...

x3b,zx3是符合c語言語法的語句嗎為什麼

不符合,3 b,z x 3是試圖給非左值表示式 3 b,z 賦值,是非法的。x 3 b,z x 3是符合c語言語法的語句嗎 為什麼 30 運算子需要兩邊都是整形,所以 x 3 不合法,b 中使用了逗號運算子,括號的返回值專就是最後乙個逗號後的表達屬式的值即a b,所以b的確是把a b付給k。對於12...