外贸童装厂家:高手请进!一道C语言编程的题,对于您这相当简单!急!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/03/29 22:26:57
我4月1日要考试了,这些简单的问题还不会,请同门师哥师姐,伸出援助之手!!

已知整型数据a=3,b=-4,c=5,则表达式a++ -b+(++c)的值是:

请帮我讲,不要告诉我答案,谢谢!

表达式a++ -b+(++c)
第一步,计算括号里的 ++c.
[运算符优先级,括号优先]
++c 就是: c = 1 + c; 新c = 1 + 老c;
老c=5; 新c=6;
表达式中,++c是前缀运算,用新c.

第二步,计算a++, 加减号优先级相同,所以靠左的优先
a++ 就是: a = a + 1; 新a = 老a + 1;
老a = 3; 新a = 4.
表达式中,a++ 是后缀运算,用老a.

第三步,计算 老a - b; 加减号优先级相同,所以靠左的优先
b=-4; 老a - b 得 7

第四步, 计算7 + 新c, 即 7 + 6 ,得 13

若打印a,b,c 和表达式,则打印出新a,原b,新c和表达式的值: a=4 b=-4 c=6 表达式=13

表达式a++ -b+(++c)
相当于
表达式(a++)-b+(++c)
其中第一个a++为后缀运算++c为前缀运算
a++为先运算后加1,++c为先加1后运算,即
3-(-4)+6
即结果为13
运算后a=4,c=6

X++ 运算后自加
++X 先自加再运算
a=3
c=6

a++ -b+(++c)
首先a++的意思就是先使用a,然后a再自加1。
所以a在整个等式计算中,先参与计算然后c值再+1,所以+1操作对于等式结果没有影响。
然后-b是很简单的了,相当于-(-4)也就是+4。
再次(++c)的意思是c先执行+1操作,然后再参与等式计算。

++c之所以加括号,是为了避免和之前的b混淆变成b++。

结果为13
运算后a=4,c=6

其中a++为后缀运算++c为前缀运算
a++先运算后加1,++c先加1后运算