1樓:墨汁諾
從右往左左運算,a*a=36,執行語句a=a-36,得到值-30,然後執行語句a=a-30,得到值-60。
賦值語句,從右到左依次執行:
int a=3;
a+=a-=a*a;
相當於:
a-=a*a;
a+=a;
然後相當於:
a=a-a*a;
a=a+a;
由於a初始化為3:
a=a-a*a=3-3*3=-6;
a=a+a=-6+(-6)==-12;
所以最後結果就是-12
2樓:一嘆
執行該語句的結果為-12,沒有錯誤。注意賦值運算子的順序為自右到左。
計算過程如下:
首先執行a*a=9,然後a-=9=(a=a-9)=-6,執行後a=-6,然後執行a+=a=(a=a+a)=-12。所以說正確答案是-12。
擴充套件資料:
c語言主要特點
c語言是一種結構化語言,它有著清晰的層次,可按照模組的方式對程式進行編寫,十分有利於程式的除錯,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算子和多樣的資料型別。
簡潔的語言
c語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程式的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。
實際上,語句構成與硬體有關聯的較少,且c語言本身不提供與硬體相關的輸入輸出、檔案管理等功能,如需此類功能,需要通過配合編譯系統所支援的各類庫進行程式設計,故c語言擁有非常簡潔的編譯系統。
具有結構化的控制語句
c語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函式的邏輯控制,方便麵向過程的程式設計。
豐富的資料型別
c語言包含的資料型別廣泛,不僅包含有傳統的字元型、整型、浮點型、陣列型別等資料型別,還具有其他程式語言所不具備的資料型別,其中以指標型別資料使用最為靈活,可以通過程式設計對各種資料結構進行計算。
豐富的運算子
c語言包含34個運算子,它將賦值、括號等均是作運算子來操作,使c程式的表示式型別和運算子型別均非常豐富。
賦值運算子
用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
條件運算子
這是一個三目運算子,用於條件求值(?:)。
逗號運算子
用於把若干表示式組合成一個表示式(,)。
指標運算子
用於取內容(*)和取地址(&)二種運算。
求位元組數運算子
用於計算資料型別所佔的位元組數(sizeof)。
c語言運算子號指的是運算子號。c語言中的符號分為10類:算術運算子、關係運算子、邏輯運算子、位操作運算子、賦值運算子、條件運算子、逗號運算子、指標運算子、求位元組數運算子和特殊運算子。
3樓:力弘厚繩岑
-3從右向左執行,首先執行:a=a-a*a,a初始值為3,所以a=3-3*3=-6;
然後執行左邊的a+=-6,這時第一個a還是初始值-3,所以a=a-6=3-6=-3。
4樓:脫莉莉幹紹
這個語句等價於兩個關係式
如下:1.a=
a-a*a;即:a
=3-3*3a=
-62.a=
a+a;即:a=-6
+(-6)
a=-12
最後結果為-12
這樣的題完全沒有意義
不用多做
鄙視中國的教育制度
5樓:
按運算子優先順序規格,a+=a-=a*a可從右往左拆解如下:
1. a*a,即3*3=9,此時a還是等於3;
2. a-=9,即a=a-9,也就是a=3-9=-6,此時a等於-6;
3. a+=-6,即a=a+(-6),也就是a=(-6)+(-6)=-12
6樓:時弘揚遇益
inta=5;
a+=2其實相當於a=a+2;
因為a=5
所以得出來a=a+2:a=5+2:所以a=7;
因為是賦值表示式所以應先計算表示式的右半部即:a+2
然後將表示式右半部計算得出的值,賦給表示式左半部的變數。
賦值表示式的格式:變數=表示式:
7樓:紫婷然婁煦
第一條語句定義a為整型的資料3;
第二條語句的運算順序是從右向左!有:
先將a減a乘a付給a,由於開始時a為3,則a暫時為-6;
(注意:這時的a為-6。因為:在計算機記憶體中,a只佔一段儲存空間。所以,只要一旦a的值在前面的運算中有所改變;那麼,後面的運算中應該用已改變的值。)
再由a加a付給a,而現在的a為-6。
那麼最終a的值為-12。
設有語句 int a=3 ; 則執行了語句 a+ = a * a後,變數a 的值是( ) a、3 b、0 c、9 d、12
8樓:匿名使用者
賦值運算是從右到左的上面的語句運算順序是:a-=a*a;a+=a;計算第一個後a的值是-6,再計算第二個,a的值就是-12
9樓:日出日落三十天
d a=3+3*3=12
設有語句int a=3;則執行了語句a+=a-=a*a;後,變數a的值是:
10樓:匿名使用者
a-=a*a等價於a=a-a*a,a=-6a+=a等價於a=a+a,a=-12
所以變數a的值是-12
擴充套件資料由於變數讓你能夠把程式中準備使用的每一段資料都賦給一個簡短、易於記憶的名字,因此它們十分有用。變數可以儲存程式執行時使用者輸入的資料(如使用inputbox函式在螢幕上顯示一個對話方塊,然後把使用者鍵入的文字儲存到變數中)、特定運算的結果以及要在窗體上顯示的一段資料等。
變數是一種使用方便的佔位符,用於引用計算機記憶體地址,該地址可以儲存script執行時可更改的程式資訊。例如,可以建立一個名為click count的變數來儲存使用者單擊web頁面上某個物件的次數。
11樓:兆望範芳潔
從右往左左運算,a*a=36,執行語句a=a-36,得到值-30,然後執行語句a=a-30,得到值-60,有問題的話可以在hi我!
12樓:樂酷科技
a-=a*a;等於a=a-a*a做完後a 的值為-6;之後a+=-6等於a=a+-6做完了a的值是-12
13樓:
結果:a = -12
過程:a+=a-=a*a 等效於 a+=(a-=a*a);
a -= a * a 等效於 a = a - a * a;
→a = -6
a += a 等效於 a = a + a;
→a = -12
設有語句int a=3; 則執行了語句a-=a+=a*a;後,變數a的值是( )
14樓:匿名使用者
0第一步:
a -= a+=9
運算後a為3
第二步運算:
a+=9後並返回a的值,得
a -= a
此時a的值為12
第二步:結果為0
15樓:匿名使用者
賦值運算是從右到左的
上面的語句運算順序是:
a-=a*a;
a+=a;
計算第一個後a 的值是-6,再計算第二個,a 的值就是 -12
16樓:匿名使用者
「=」是賦bai值符號,賦值表達
du式先運算zhi「=」後的表示式,再將dao表示式的專值賦給「=」前的變數
屬。運算順序:
1、a+=a*a ==>a=a+a*a ==>a=3+3*3 ==>a=12
2、a-=12 ==>a=a-12 ==>a=0
17樓:蝸牛空
樓上的解說是正確的,但是算了算。 3-=3+=9 值應該是 -9
18樓:匿名使用者
執行後結襲果是0,最後是bai減法,
dua=3,之後zhi=9、18,最後a=18-18在這裡看一下
19樓:匿名使用者
這題目鬱悶的很,,,
我試著分析下
int a=3;
a-=a+=a*a;
分析分析表示式執行過程:
1.a-=(a=a+(a*a))
2.a = a-(a+a*a);
執行後 a=-9;
***選項裡邊木有;
20樓:藏劍畫影
答案選b。
首先,先算a+=a*a,即a=a+a*a即是a=3+3*3,故a=12,;
接下來算a-=a,即a=a-a,此時a已經等於12了,故式子為a=12-12,即a=0.
你採納專的那個屬人說對了順序,但是看錯了你的a+=和a-=;
mantoloo說的是正確的
設有語句int a=3,則執行了語句a+=a-=a*a;後,變數a的值為?
21樓:鶴棠曦曦
結果是0,12不對。右運算開始a*=a,a賦值為3,那麼就是3*3=9,即a=9,再算a-=9,a=a-9,a=9-9=0,最後a+=0,a=a-0,a=0,a=0-0=0
22樓:光逸明
結果:-12
賦值運算從右往左
a-=a*a a=a_a*a=3-3*3=-6a+=a a=a+a=-6-6=-12
23樓:匿名使用者
程式是從右向左進行的
第一步a*a=3*3=9;
第二步:a=a-(a*a)=3-9=-6 注意此時的a已經不是原值3了,在第二步裡值變為了-6.
第三步:a+a=a+(a-(a*a))=-6+(-6)=-12
24樓:溫書吧啦啦
樓上誤人子弟。答案應該是-3;計算過程為a*a=9;a=a-9=-6;a=a+(-6)=-3。不信就自己去程式設計試驗一下。嚴謹一點!
25樓:生活he家
可以拆分一下:
a=a-a*a;
a=a+a;
因此a=-3;
設int a=12,則執行完語句a+=a-=a*a後,a的值是_____(
26樓:匿名使用者
-264。
1、先計算a-=a*a,得到a=12-12*12=-132;
2、a+=-132,得到a=-132-132=-264。
+= 加後賦值,變數+=表示式 如:a+=3;即a=a+3;-= 減後賦值,變數-=表示式 如:a-=3;即a=a-3。
賦值運算子的計算順序是從右到左,大多數運算子結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。而且它的優先順序別低於其他的運算子,所以對該運算子往往最後讀取。
27樓:匿名使用者
結果為:-120
把以下**儲存為html檔案,雙擊執行即可知道!
28樓:旅林
int a=12
故a-=144,得a=0
a+=0a=0
設有語句 int a=3;,則執行了語句 a+=a-=a*=a;後,變數 a 的值是
29樓:螞蟻_大樹
運算的過程是,從右向左即
(a+=(a-=(a*=a)));
第一步:a*=a // 結果a=9
第二步:a-=a //結果 a=0
第三步:a+=0//結果 a=0
注意.在計算的過程中,a的值是在不斷的變化的,因為有賦值的過程.
30樓:淦海瑤
你程式設計序執行一下不就知道了,
蛋疼的語句
31樓:匿名使用者
不對。。不能進行這樣的賦值
32樓:匿名使用者
實踐檢驗:a = 0
33樓:
這個應該就等於
a*=a;
a-=a;
a+=a;吧
求c語言高手解設有語句:int a=3;執行語句a+=a-=a*a;求變數a的值
34樓:匿名使用者
賦值運算順序自右而左,首先算a*a,即3*3的值為9,然後算a-=9,即a=a-9,值為-6,最後算a+=-6,即a=a+(-6),值為最後值為-3
35樓:示申僉
賦值語來句,從右到左依次執行:
源那麼:
int a=3;
a+=a-=a*a;
相當於:
a-=a*a;
a+=a;
然後相當於:
a=a-a*a;
a=a+a;
由於a初始化為3:
a=a-a*a=3-3*3=-6;
a=a+a=-6+(-6)==-12;
所以最後結果就是-12
有說明語句int a 3表示什麼意思
薔祀 有說明語句int a 4 5 則a 2 3表示正確引用a 1 3 由題意可知a 2 4 已經越界。最後一個元素a 2 3 引用時下標從0開始,第一行a 0 0 a 0 1 第三行a 2 0 a 2 1 所以最後求解出來a 2 3表示正確引用a 1 3 擴充套件資料 陣列元素的編寫方法 let ...
為什麼if語句執行後不執行if語句。if elseif巢狀語句是怎麼看的啊
妖搦天 首先,這種題要知道答案很簡單,自己把題目放到編譯軟體上執行一下就行,然後可以通過結果反推過程。這道題我編譯出來結果是2,以下是我的邏輯 首先,要知道else配對的是哪個if,這個配對方法很簡單,由於沒加括號,直接往上行找離它最近的沒配對的if就行。本題與else配對的是第二個if 其次,由於...
已知int i,a執行語句i(a 2 3,a 5 ,a 6後,變數i的值
這個應該是選c。已經給你執行了,截圖了。你看看。原因如下 先執行a 2 3,a 6,然後再a 5 30,注意此時有一個括號,說明前面這個逗號表示式的值為30.後面再接著一個逗號表示式。因為賦值符號 的優先順序比逗號的高,所以直接把30賦值給了i。如果把這題的括號去掉的話,結果就是6了。同樣根據優先順...