在C語言中,若有定義 int y 3,x 71,2,3,4,5,6,7,則表示式y x

2021-03-22 07:59:13 字數 4298 閱讀 6958

1樓:匿名使用者

定義一個整形陣列,陣列包括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。

2樓:匿名使用者

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

3樓:匿名使用者

一個陣列x中有7個元素

在c語言中,若有定義:static int x[2][3]={2,3,4,5,6,7},則表示式*x[1]的值為多少

4樓:s飯糰

答案該是5 我看錯了

2行3列

2 3 4

5 6 7 x[0]就表示 第0行第0列的數 x[1]表示 第1行第0列的數

在c語言中,若有定義:int a=1,b=2,c=3,d=4,x=5,y=6; ,則表示式(x=a

5樓:皚虎

inta=1,b=2,c=3,d=4,x=5,y=6; ,則表示式

(x=a>b)& & (y=c>d)

// a>b 不成立 則為假為0,x=0.

&&符號要求倆個都為真才輸出真,所以表示式為假等於0

若有以下定義int x=3,y=2,則表示式y+=x–=y後的y值為

6樓:匿名使用者

y = y + (x-=y)

y = y + (x = x - y)

y = y + (x = 3 - 2) 此時,x = 1y = y + 1

y = 2 + 1

y等於3,x等於1

7樓:育知同創教育

一步一步來y+=x是5

5-=y是多少呢就出來了

答案是3。

c語言若有定義int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;則陣列不為3的表示式是( )

8樓:ice繁華

答案是c..我解釋是這樣,供你參考:b解釋,x為陣列首地址,+3就是向後移動三個地址,指標指向數值3的位置,將地址賦給指標變數p1,因為運算子++比*高一級,所以先執行p1++,但是看清楚,這裡的p1的地址值沒變,接著執行*運算子,取值就為3...

你的問題在於:p++在此次運算並不會加1,只能在下次呼叫到p值時,才是已經加了1的...

9樓:匿名使用者

運算子++和*優先順序不相同,結合性自右向左,因此*p++等價於*(p++),其作用是表示式先得到p所指向的元素的值(即*p),然後再使p指向下一個。

這裡p1的初值為x+3,則*p++的 結果是x[0],p指向a[1]。

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語言中 定義int arry[]={1,2,3,4,5,6,7,8,9},與int arry[100]={1,2,3,4,5,6,7,8,9}的區別

16樓:匿名使用者

是的,就是0.

你可以int a[100]=;初始化所有值為0

17樓:

是的,沒有賦值的陣列其他元素將自動被賦值為0,而不是任意數,這應該是由編譯器決定的。

18樓:匿名使用者

9後面的元素的確都是0

、在tc中,若有定義:static int x[2][3]={2,3,4,5,6,7},則表示式*x[1] 值為

19樓:匿名使用者

應當這麼理解:表示式x[1]存放的是第一行的首地址,那麼*x[1]必然指向第一行第一個資料即第0列

相當於x[1][0],cpu在計算出x[1]對應的地址後再加上0偏移得到具體資料地址。

x[0]->2 3 4, x[1]->5 6 7

第0行第0列即x[0][0]=2, 第0行第1列即x[0][1]=3, 第0行第2列即x[0][2]=4

第1行第0列即x[1][0]=5, 第1行第1列即x[1][1]=6, 第1行第2列即x[1][2]=7,

20樓:匿名使用者

int x[2][3]表示定義一個兩行三列的整型陣列,即你給的數排列為

a b c

-----------------

2 3 4 --> x[0]

5 6 7 --> x[1]

因為x[1][0]和*x[1]就等價的,所以第1行第0列就是5了ps:在計算機裡陣列的下標是從0開始數的

21樓:匿名使用者

x[1] 表示第1行首地址,*x[1] 表示引用這個地址的值,也就是第1行第〇列

c語言中,引用的下標是衝0開始的,0就表示第一

c語言問題 若有說明int a[][4]={1,2,3,4,5,6,7,8,9};,則陣列a第一維

22樓:格子裡兮

若有說明int a[][4]=;則陣列a第一維是3。

定義陣列並賦值時c語言規定下標是這樣的,a[n]中的n個元素應該是a[0]....a[n-1]。。

因此int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3。

分析:二維陣列的一維大小,即指二維陣列的行數,在本題中,按行對二維陣列賦值,因此內層有幾個大括號,陣列就有幾行。

23樓:杜爺1號

答案是b,3.

int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3.

24樓:小兆

你定義的就是一個二維陣列,第二維的個數是4,為了把所有的資料能分成四份有沒有遺漏,那第一維就是3了。

25樓:寂寞的菸頭哥

首先看陣列後面為4表示有四列二維陣列是

1234

5678

9000

這裡就可以很明顯的看出是三行,所以就是a[3][4],第一個叫做第一維,第二個叫做第二維

C語言的巨集定義是什麼,在C語言中巨集定義是什麼?

巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 是c提供的三種預處理功能的其中一種。1 巨集名一般用大寫。2 使用巨集可提高程式的通用性和易讀性,減少不一致性,減少輸入錯誤和便於修改。例如 陣列大小常用巨集定義。3 預處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預處理不做語法檢查。4 巨...

c語言巨集定義裡帶引數是什麼意思,在C語言中 巨集 是什麼意思?

c的巨集可以用來替換常數,替換表示式,仔細把這個程式看完你就明白了,include int main 程式輸入4 輸出25 比如 define max a,b a b a b 格式 define巨集名 參數列 字串 例如 define s a,b a b area s 3,2 第一步被換為area ...

在c語言中如何自定義標頭檔案

自定義標頭檔案通常放在使用該標頭檔案的原始檔所在的目錄中,並使用 include myhead.h 來包含。標頭檔案是不編譯的,因為c語言編譯過程之前有個預編譯過程。在這個過程中用標頭檔案中的內容替換原始檔中 include 命令,所以在編譯器看來,沒有標頭檔案,只有原始檔。預編譯過程還包括條件編譯...