执行完表达式a+=a-=a*a后,a的值为:-12。
表达式执行的过程:首先明白赋值运算符的结合性为自左向右,所以说先执行最右边的表达式,同时乘除运算符的优先级大于赋值运算符,所以说先执行a*a,因为a=3,所以说a*a=9,然后执行a-=(a*a)=a-=(9)等价于a=a-(a*a)=3-9=-6。
然后a=-6,然后执行a+=a等价于a=a+a=-6-6=-12。所以说表达式执行完后a的结果为-12。
扩展资料:
乘除运算符的优先级:
乘除运算符的优先级处于运算符优先级的第5级,主要的运算符有“ * ” 乘法运算符、“ / ”除法运算符、“ % ” 取余运算符。
结合性:自左向右,即为相同运算符从左到右依次运算。
赋值运算符的优先级:
赋值运算符的优先级处于运算符优先级的第16级包含的运算符有:=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。
结合性:自右向左的结合性,即为相同运算符从右到左依次运算。
参考资料来源:百度百科-C语言运算符
c语言中a+=a-=a*a如何计算
a=a-a*a=5-5*5=-20;a=a+a=-20 + (-20) = -40;最终a为-40,表达式整体值也就是a最终值,一样是-40。
c语言中a+=a-=a*a如何计算
a=a-a*a=5-5*5=-20;a=a+a=-20 + (-20) = -40;最终a为-40,表达式整体值也就是a最终值,一样是-40。
a+=a-=a*a怎么算?
1.a=a-a*a。2.a=a+a。由于a初始化为2:1.a=a-a*a=2-2*2=-2。2.a=a+a=-2+(-2)==-4。所以最后结果就是-4。相关内容解释:C语言中提供常用赋值运算符:等号运算符。1.计算赋值运算符右侧表达式的值。(“=”为赋值运算符)。2.将赋值运算符右侧表达式的值赋给左侧的变量。3.将...
C语言中a+=a-=a*=a答案是多少?
a初值为12时,a+=a-=a*=a结果为0步骤:这个表达式的运算是从右向左的:1. a*=a:a=a*a=12*12=1442. a-=144: a=a-144=144-144=03. a+=0: a=a+0=0+0=0。
a+=a-=a*a怎么算?
1.a=a-a*a;2.a=a+a;由于a初始化为2:1.a=a-a*a=2-2*2=-2;2.a=a+a=-2+(-2)==-4;所以最后结果就是-4。整数的除法法则 1)从被除数的高位起,先看除数有几位,再用除数试除被除数的前几位,如果它比除数小,再试除多一位数。2)除到被除数的哪一位,就在那一位上面写上...
...a=6,则表达式a+=a-=a*a等于多少? 请说明计算过程 谢谢
a+=a-=a*a等于-60 自右向左执行 a+=a-=a*a相当于a=a+(a-=a*a)a-=a*a相当于a=a-a*a 执行1:a*a=36 执行2:a=a-36,代入a=6得,a=-30 执行3:a=a-30,代入a=-30得,a=-60
设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
...计算的问题:定义int a=10,则表达式a+=a-=a*=a的值是多少?怎么算出来...
a+=a-=a*=a展开后应该为:a=a+a=a-a=a*a;首先计算a=a*a,结果a=100,接着计算a=a-a,结果a=0,再计算a=a+a,结果还是0。OK,就是这样计算的。
C语言 设有语句int a=4;则执行了语句a+=a-=a*a后,变量a的值是多少?
答案:-24 1、a = 4,先算a * a,表达式的值为16。2、+和-同一优先级,因为是复合赋值运算结合性从右向左进行,所以此时算 a -= 16 (a *a 表达式的值是16)相当于 a = a - 16;此时a=-12 3、最后算:a+ = -12(a-=a*a表达式的值是-12)。相当于 a = a + (-12);因为a...
老师好,我想问一下a+=a-=a*a,这里是如何拆分的,还有+=-=是怎么来算的...
连续赋值运算,计算顺序是自右至左的。所以 a+=a-=a*=a计算顺序是 1 a*=a;2 a-=a;3 a+=a;也就是 1 a=a*a;2 a=a-a;3 a=a+a;可以看到,无论a值是多少,第一步的结果是多少,到第二步的时候,a的值都会是0.所以最终结果,也就是第三步的结果,仍为0。最终a为0。