2.设int型变量x有初始值3,则表达式x++*5/10的值是( ) (A)0 (B)1 (C)2 (D)3

问题描述:

2.设int型变量x有初始值3,则表达式x++*5/10的值是( ) (A)0 (B)1 (C)2 (D)3
还有一题
设x,y 为int型变量,则执行下列语句后,y的值是( )
x=5;
y=x++*x++;
y=--y*--y;
A.529
B.2401
C.1209
D.625
百度上有人解答是 812,我也这么觉得,

(1)
设int型变量x有初始值3,则表达式x++*5/10的值.
首先,"x++"是后置加加,先使用变量,然后变量再加1.
所以,"x++"先使用变量的值3与5相乘,得到15;
由于x为int型变量,所以,15/10之后只取整数部分1.
因此,答案选(B)1.
(2)
x = 5;
y = x++ * x++;
首先,"x++"是后置加加,先使用变量,然后变量再加1.
所以,第一个"x++"为5,而x的值则变成了6;
第二个"x++"为6,而x的值则变成了7.
由此可见,到"y=x++*x++"为止,y的值为30.
y = --y * --y;
接着,"--y"是前置减减,先减1,再使用变量.
所以,第一个"--y"为29,而等号右边第一个y的值则变成了29;
第二个"--y"为28,而等号右边第二个y的值则变成了28.
由此可见,到"y=--y*--y;"为止,等号左边的y的值为812.
综上所述,812为正解.