设int a=12,则执行完语句a+=a-=a*a后,a的值是_____(

作者&投稿:孛帖 (若有异议请与网页底部的电邮联系)
设int a=12,则执行完语句a+=a-=a*a后,a的值是_____(3分)~

+=和-=的优先级是一样的,是从右到左关联的,计算过程:
a+=a-=144
a+=12-144=-132
a=-132+(-132)=-264

D。
拆开来看,a=a+(a-=a*a),在拆 a=a+(a=a-a*a) 从后面算。先算 a=a-a*a 等于-132,算 a=a+(-132) 结果是D。
例如:
先执行a*a=144
然后a=a-144
此时a=-132
再执行a=a+(-132)
a=-264

扩展资料:
优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
参考资料来源:百度百科-运算符优先级

-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。

赋值运算符的计算顺序是从右到左,大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。而且它的优先级别低于其他的运算符,所以对该运算符往往最后读取。

扩展资料:

优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.

逻辑运算最后结合。

参考资料:

百度百科-赋值运算符

百度百科-运算符优先级



-264;
先执行a*a=144;
然后a=a-144;
此时a=-132;
再执行a=a+(-132);
a=-264
(以上为gcc编译结果)
我测试了在java中结果不是这样的,这个与具体底层实现是有关系的,有些编译器执行的时候a的值一直是12;有些就在运行过程中修改了

结果为:-120
把以下代码保存为html文件,双击运行即可知道!

<script>
var a=12;
alert(a+=a-=a*a)
</script>

int a=12

a-=144,得a=0
a+=0
a=0

144


临朐县18717497668: C有关算术表达式的问题设int a=12,则执行完语句a+=a - =a*a后,a的值是______.A、552 B、264 C、144 D、 - 264知识点:算术表达式------------------------------... -
肥栋科林:[答案] 做这种题要清楚运算符的优先级,这道题从右到左运算,*先算,a*a=144,再算a=a-144,得出 -132,再算a=a+a,得出-264

临朐县18717497668: 、设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( ). -
肥栋科林:[选项] A. 12 B. 144 C. 156 D. 288

临朐县18717497668: 设int a=12,则执行完语句a+=a - =a*a后,a的值是 -
肥栋科林: D. 拆开来看,a=a+(a-=a*a),在拆 a=a+(a=a-a*a) 从后面算.先算 a=a-a*a 等于-132,算 a=a+(-132) 结果是D. 例如: 先执行a*a=144 然后a=a-144 此时a=-132 再执行a=a+(-132) a=-264 扩展资料: 优先级与求值顺序无关.如a+b && b*c...

临朐县18717497668: c++题目 ” 设 int a=12;,则执行完语句“a+=a*a;“后,a的值是? 求解答方法 -
肥栋科林: a+=a*a 就是a= a+a*a = 12+12*12 = 12+144=156

临朐县18717497668: 设int a=12,执行完a+=a - =a*a后,a的值是 -
肥栋科林: 因为等于是从右往左计算的,先计算右边的等号,即先计算: a-=a*a 这个等式表示 a =a - a*a a = -132, 等式的值也是-132,即第二个等式是: a+=-132 这个等式表示 a = a + (-132) 把a的值代入,a = -264

临朐县18717497668: C语言 设有 int a=12; 执行完语句 a+=a - =a*a; 后,a的值是( ). -
肥栋科林: -264 从右向左计算.

临朐县18717497668: 1.设“int a=12;”,则执行完语句“a+=10”后,a 的值是: 2.C语言源程序的基本单位是: 3. 函数sqrt()的 -
肥栋科林: 1.int a=12; a+=10; 之后 a=22;2.函数3.sqrt()求方根,需要math.h 头文件

临朐县18717497668: a为整数变量,初值为12,执行完语句a+=a - =a*a后,a的值? -
肥栋科林: -264 这个式子是从右向左结合的,先执行a-=a*a,得到a=-132,然后执行a+=-132得到a=-264

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网