|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
char a = 'a';
int i = 3,j = 5,b;
float x = 3.5;
double y = 5.0,z;
1.a +i -j +x/y
2.(x + y) +i ++
3, y += i -= j* =++x
4. b = a += j%i
5.a =a + i,a +j
6.a = (a + i , a + j)
7. y = (x =,x ++,x +2)
8, i-= j* = x + y
9.(i ++) *( --j)
10. z = (i++) * (j++)
11.(int)x/(int )y + y
12.(float)l/(++j)
13.-j%i +j
14.(int)y %i%(int)(x + y)
15.i >> 2
16.i ^j
17. i << 2 & j
18.sizeof(double)
19.sizeof (3.5)
20.sizeof(i + y)
根据上图的数学公式计算给出的表达式的值,共20道题
1. a + i - j + x / y 的值为 97 + 3 - 5 + 3.5 / 5.0 = 97 + 3 - 5 + 0.7 = 95.7。
2. (x + y) + i++ 的值为 (3.5 + 5.0) + 3 = 8.5 + 3 = 11.5,同时 i 的值会自增为 4。
3. y += i -= j *= ++x 的值为 y = y + (i = i - (j = j * (++x)))。
首先,++x 会使 x 的值自增为 4,然后 j = j * x,即 j = 5 * 4 = 20。
接着,i = i - j,即 i = 3 - 20 = -17。
最后,y = y + i,即 y = 5.0 + (-17) = -12.0。
4. b = a += j % i 的值为 b = (a = a + (j % i))。
首先,j % i 的值为 5 % 3 = 2。
然后,a = a + 2,即 a = 97 + 2 = 99。
最后,b = a,即 b 的值也为 99。
5. a = a + i, a + j 的值为 a = a + i 的结果(即 a = 97 + 3 = 100)。
6. a = (a + i, a + j) 的值为 a + j 的结果(即 a + j = 97 + 5 = 102)。
7. y = (x = , x++, x + 2) 的值为 y = (x = (x++, x + 2))。
首先,x++ 会使 x 的值自增为 4,然后 x + 2 的值为 4 + 2 = 6。
最后,x = 6,y = x,即 y 的值为 6。
8. i -= j *= x + y 的值为 i = i - (j = j * (x + y))。
首先,x + y 的值为 3.5 + 5.0 = 8.5。
然后,j = j * (x + y),即 j = 5 * 8.5 = 42.5。
最后,i = i - 42.5。
9. (i++) * (--j) 的值为 (i++) * (j = j - 1)。
首先,j = j - 1,即 j = 5 - 1 = 4。
然后,i++ 的值为 3,同时 i 的值会自增为 4。
最后,(i++) * (--j) 的值为 3 * 4 = 12。
10. z = (i++) * (j++) 的值为 z = (i++ * j++)。
首先,i++ 的值为 3,同时 i 的值会自增为 4。
接着,j++ 的值为 5,同时 j 的值会自增为 6。
最后,z = 3 * 5 = 15。
11. (int)x / (int)y + y 的值为 (int)x / (int)y + y。
首先,(int)x 的值为 3,(int)y 的值为 5。
接着,(int)x / (int)y 的值为 3 / 5 = 0。
最后,(int)x / (int)y + y 的值为 0 + 5 = 5。
12. (float)l / (++j) 的值为 (float)l / (++j)。
由于题目中没有给出 l 的值,无法计算结果。
13. -j % i + j 的值为 (-j % i) + j。
首先,-j % i 的值为 (-5 % 3) = -2。
接着,(-j % i) + j 的值为 -2 + 5 = 3。
14. (int)y % i % (int)(x + y) 的值为 (int)y % i % (int)(x + y)。
首先,(int)y 的值为 5,(int)(x + y) 的值为 3 + 5 = 8。
接着,(int)y % i 的值为 5 % 3 = 2。
最后,(int)y % i % (int)(x + y) 的值为 2 % 8 = 2。
15. i >> 2 的值为 i 右移 2 位。
首先,i 的值为 3,二进制表示为 0000 0011。
右移 2 位后,得到 0000 0000,即十进制的 0。
16. i ^ j 的值为 i 与 j 的按位异或运算结果。
首先,i 的值为 3,二进制表示为 0000 0011。
j 的值为 5,二进制表示为 0000 0101。
按位异或运算后,得到 0000 0110,即十进制的 6。
17. i << 2 & j 的值为 (i << 2) & j。
首先,i 的值为 3,二进制表示为 0000 0011。
左移 2 位后,得到 0000 1100,即十进制的 12。
j 的值为 5,二进制表示为 0000 0101。
按位与运算后,得到 0000 0100,即十进制的 4。
18. sizeof(double) 的值为 double 类型的字节大小。在大多数系统中,double 类型占用 8 个字节。
19. sizeof(3.5) 的值为 3.5 的字节大小。由于 3.5 是一个常量,它的字节大小在编译时就确定了,具体的大小取决于系统和编译器。
20. sizeof(i + y) 的值为 (i + y) 的字节大小。由于 i 是 int 类型,y 是 double 类型,它们进行运算后的结果类型为 double。在大多数系统中,double 类型占用 8 个字节。
|
|