c語言 a , a的值是怎麼來的?拜託了各位 謝謝

2025-03-29 17:10:20 字數 3464 閱讀 2179

1樓:網友

我來說說,c語言是高階語言,符合人們的思考習慣,還有種語言叫彙編知道吧,然後對於計算機來說只有機器語言,也就是一條一條的機器指令,機器指令就是8位的16位的或32為的二進位碼(根據cpu不同而不同) ,儲存在儲存器中,cpu一條一條地去執行,一般來說一條機器指令對應一條彙編指令,但是一句c語言一般對應好幾條機器或彙編指令,c語言的語法都是人為規定的,你寫好的c**會通過編譯器編譯成彙編**,再經過一些處理,最終配枯含會生成機器碼,所以一句c語句編譯後可能對應好幾條機器碼 現在說說你這個問題,++a , a++,a的意思你好像清楚了 ;例如b=a++和b=++a這敗冊兩句話弄成彙編**後語句都差不多,只是生成的彙編語句順續有點差別 根據我現在掌握得知識來說只能成這樣了培笑。

記得啊。

2樓:臺實桃

這個問題悶槐就像是1+1=2是為什麼,這是人家圓拆抽象的來的!a在前面就是先用a在加一橘罩棗,a在後面就是先加一再使用加過後所得的值!

c語言中 a=1, ++ a++的值是多少

3樓:讓服務成就美好生活

使用當時是2

使用之後是3

4樓:網友

(++a)++

單個成一表示式時等於3,嵌在輸出或其他表示式中時是2,只做了(++a),表示式結束後,才做後面的++;

5樓:網友

++a不是乙個左值,這種計算是無法完成的。

6樓:網友

難道是3? 請問答案是3不?

用c語言程式,求a+a*a+a*a*a+……+a*a*……*a(n個a)之值

7樓:網友

a+=pow(a,m);

這句話錯得很嚴重。你按照你的這個公式在紙上手動算幾個數就知道為什麼錯了。

c語言中 a=2時 a+=a-=a*=a的值是多少 a的值是多少

8樓:網友

0 c語言賦值運算是自左向右的。

所以先算a*=a即a=a*a a=2

所以a=4然後a=a-a,算出a=0

最後a=a+a。即0+0=0

9樓:網友

a+=a-=a*=a折分:

賦值運算是自右向左的首先a*a=4,a=4,然後a-a=0,這時a=0,最後a+a=0

結果a=0

10樓:網友

賦值運算子右結合性,a=a*a=2*2=4

a=a-a=4-4=0

a=a+a=0+0=0

關於c語言的乙個問題。a+=a+b||a*b-a&&b的值是多少

11樓:匿名使用者

把式子拆分:a=a+(a+b||a×b-a&&b);

那麼最重要的是算邏輯表示式的值對吧。

可以把括號裡的式子用||分為左右兩邊 ,那式子被分為了 a+b 和 a×b-a&&b;

關鍵就在於這裡,由於算數運算子號優先順序大於關係運算子;所以在後乙個式子變成了 :

5(a+b)||4(a×b-a)&&3(b)即 5||4&&3, 5||4結果是1 1&&5結果是1 然後就變成了a=a+1得3;很清楚了吧 !!

12樓:準媽媽日記

就是樓上的答案啊!然後就是a=a+1=2+1=3了喲。

c語言問題:若a=3,則a+=a*=a/=a的值?

13樓:網友

樓主好!

這個式子初看起來還是比較麻煩的,因為不知道從**執行,或則執行到某個地方時a的值時什麼都蠻難看出的,所以最好用括號給括起來!

根據式子從右向左的執行過程,用括號後為:

a+=(a*=(a/=a))

首先:執行括號的最裡面的,既(a/=a),等價於(a=a/a),此時a=3,得出結果這個括號式子(a/=a)式子的值時1,而且a此時的值變為a=1。

其次:執行第二個括號(a*=(a/=a))由上面可得到(a*=1)既(a=a*1),結果式子的值時1,後,a的值任然是1。

再次:執行最後一項a+=(a*=(a/=a)),把前面兩項的值代入為a+=1,記得此時a的值是1,所以式子轉變為a=a+1=1+1=2。

綜上有,式子的值時2、

樓主懂了嗎?

14樓:豬頭或火寶寶

你好!!

a+=a*=a/=a,首先a/=a等價於a=a/a=1,然後a*=1等價與a=a*1=1*1=1

最後a+=1等價於a=a+1=1+2=2

所以答案是:2

15樓:網友

答案我用printf("%d",a+=a*=a/=a)驗證是2

因為是a+,所以是從右往左看,a/=a為1,a*=(a/=a)為1,a+=(a*=(a/=a))為2

16樓:網友

答案為:2。有圖為證,清晰可見哦!

17樓:就是佐

a+=a*=a/=a 這個表示式 是右結合 從右到左第一 a/=a ——a+=a*=1第二 a*=1 ——a+=1

第三步 a=a+1

得到a 為2

a+=a-=a×=a a的值是10,這是c語言裡的計算,幫幫忙…

18樓:刀無極啊

等於0, +=、-=、*=的結合性從左往右,a+=a-=a×=a 可分解為:

a=a+a;,a=10+10=20

a=a-a;,a=20-20=0

a=a*a;,a=0*0=0

19樓:網友

中間有個a-=a...怎麼算都會是0吧。

20樓:

沒看懂題目,請說清楚。

c語言 a=b=7 那麼a=b++,a++,++b 後a的值為多少?

21樓:網友

b=7,b++為8,++b為9

a取最右邊的結果,即a==9

22樓:

逗號的優先順序比賦值符更低,所以相當於是:

a=b=7;

a=b++;

a++;b;

最後 a==8 b==9

23樓:網友

a = b++

a就等於7a++a就等於8

最後a 就是8啊。

24樓:次元破壞者

度娘說我寫的不夠長:a的值為8

25樓:網友

c也有很多種,隨c的,運算子的定義而a的值不同。一般的話7(b++)

26樓:網友

請寫出你的程式這跟編譯器有關。

c語言分段函式的值,c語言分段函式的值

如下所示,include include include int main 為了避免手機上檢視時,版式錯亂,的截圖如下,如有幫助,煩請採納,謝謝!您好你的第乙個else if寫錯了,c語言使用 表示等於所以應為else if x 0 應該只有這裡錯了 希望對您有幫助 輸入數用scanf 函式 分段用...

C語言中的A 41,B 42,C 43是怎麼來的

油菜花零 char c a 這裡c的asc碼值其實就是65,65在十六進位制中就是41。 這是將a,b,c的ascii十進位制數65,66,67轉換成十六進位制數41,42,43 就是這樣的 ascii字元碼中a 41h,b 42h,c 43h h代表16進位制數 這是ascii字元碼轉換成的十進位...

c語言中,xyxz的意思是?值為

x和y都為非零值時 x y 為真 1 任意乙個為零,或都為零時,x y 為假 0 為邏輯與操作符。x和z有乙個為真 非零 時,或都為真時,x z 為真 1 只有x和z都為零時,x z 才為假 0 為邏輯或操作符。是比較操作符,如果兩邊都為真或都為假,則返回真,否則返回假。你這個比較亂首先 第乙個的意...