-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.
逻辑运算最后结合。
参考资料:
设int a=12,则执行完语句a+=a-=a*a后,a的值是___(
-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。赋值运算符的计算顺序是从右到左,大多数运算符结合性是从左到右,只有三个优先级是从右至...
设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=12;”,则执行完语句”a+=a*a;”后,a的值是( )。 A. 12 B. 144...
a = a + a * a a = a + 12 * 12 到这里a 的值尚未改变 所以最后a = 12 + 12 * 12 = 156 相信我,错不了
设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( )。
a+=a*a 等同于 a=a+a*a;
菜鸟求助 C语言题目:设a=12,求表达式a+=a-=a*=a的值与a+=a-=144有...
=是右结合的,a初值是12,执行a+=a-=a*=a;时是这样来执行的:a*=a;\/\/a值为144 a-=a; \/\/a值为0 a+=a; \/\/a值为0 运行完后a的值为0。如果再运行,则:a-=144; \/\/a的值为-144 a+=a; \/\/a的值为-288 即运行完结果是-288 若a+=a-=144;语句是在a初值为12的条...
求一些c编程题
44、设 int a=12,则执行完语句 a+=a-=a*a后,a的值是 A) 552 B) 264 C) 144 D) -264、D、1 45、设 int b=2;表达式(b>>2)\/(b>>1)的值是 A) 0 B) 2 C) 4 D) 8、A、1 46、设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是___ A)'a'&&'b' ...
为什么a+=a-=a*a运算后a的值变为负数?
执行完表达式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=...
设有语句int a=3; 则执行了语句a-=a+=a*a;后,变量a的值是( )
设有语句int a=3;则执行了语句a-=a+=a*a;后,变量a的值是-12。先算a*a=9 再算a-=9 这样a=-6 再算a+=-6 就是a=-6-6=-12 任何一个表达式的最后加一个分号都可以成为一个语句。一个语句必须在最后出现分号。表达式能构成语句是C和C++语言的一个重要特色。C++程序中大多数语句是...
设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值是?_百 ...
先计算a*a的值为9,然后,a-=a*a就是a=a-a*a的a的值为-6,然后a+=(-6),就是-12,最后答案就是-12
c++求答案
(一) 若x,y,i,j均为int型变量,则表达式x=(y=1,i=3,j=8)的值是 1 。(二) 设有char a[]={‘a’,’b’,’c’,’d’,’\\0’,’e’,’\\0’},cout<<a,输出的结果是 2 。(三) 执行语句 int a=4;a+=a-=a*a;则a的值为__3___。(四) 已知struct student{ int num; char name...