题目
已知宏定义#define C 3+2和整形变量x,则执行语句x=5*C*3*C;后,屏幕显示35。A. 对B. 错
已知宏定义#define C 3+2和整形变量x,则执行语句x=5*C*3*C;后,屏幕显示35。
A. 对
B. 错
题目解答
答案
A. 对
解析
本题考查宏定义的替换规则以及运算符优先级的知识。解题思路是先根据宏定义将代码中的宏名进行替换,再按照运算符优先级进行计算,最后判断计算结果是否与题目中给出的结果一致。
- 已知宏定义
#define C 3+2,在执行语句x = 5 * C * 3 * C;时,会将代码中的C直接替换为3+2,得到x = 5 * 3 + 2 * 3 * 3 + 2。 - 根据运算符优先级,先计算乘法:
- 计算
5 * 3,根据乘法运算法则可得 $5\times3 = 15$。 - 计算
2 * 3,可得 $2\times3 = 6$。 - 再计算
6 * 3,可得 $6\times3 = 18$。
- 计算
- 最后计算加法:
- 先计算
15 + 18,可得 $15 + 18 = 33$。 - 再计算
33 + 2,可得 $33 + 2 = 35$。
所以最终x的值为 35,与题目中屏幕显示 35 一致。
- 先计算