设有语句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++程序中大多数语句是表达式语句(包括函数调用语句)。
扩展资料:
控制语句,完成一定的控制功能。C++有9种控制语句,即:
1、if( )~else~ (条件语句)
2、for( )~ (循环语句)
3、while( )~ (循环语句)
4、do~while( ) (循环语句)
5、continue(结束本次循环语句)
6、break(中止执行switch或循环语句)
7、switch (多分支选择语句)
8、goto (转向语句)
9、return (从函数返回语句)
0
第一步:
a -= a+=9
运算后a为3
第二步运算:
a+=9后并返回a的值,得
a -= a
此时a的值为12
第二步:结果为0
赋值运算是从右到左的
上面的语句运算顺序是:
a-=a*a;
a+=a;
计算第一个后a
的值是-6,再计算第二个,a
的值就是
-12
这题目郁闷的很,,,
我试着分析下
int
a=3;
a-=a+=a*a;
分析
分析表达式执行过程:
1.a-=(a=a+(a*a))
2.a
=
a-(a+a*a);
执行后
a=-9;
xxx选项里边木有;
“=”是赋值符号,赋值表达式先运算“=”后的表达式,再将表达式的值赋给“=”前的变量。
运算顺序:
1、a+=a*a
==>a=a+a*a
==>a=3+3*3
==>a=12
2、a-=12
==>a=a-12
==>a=0