题目
设x和y均为int型变量,则以下语句:“x+=y;y=x-y;x-=y;”的功能是______。A. 把x和y按从大到小排列B. 把x和y按从小到大排列C. 无确定结果D. 交换x和y中的值
设x和y均为int型变量,则以下语句:“x+=y;y=x-y;x-=y;”的功能是______。
A. 把x和y按从大到小排列
B. 把x和y按从小到大排列
C. 无确定结果
D. 交换x和y中的值
题目解答
答案
D. 交换x和y中的值
解析
考查要点:本题主要考查对变量交换操作的理解,以及通过加减运算实现不使用临时变量的交换方法。
解题核心思路:通过逐步代入变量值,观察每一步操作对变量的影响,验证最终是否实现交换。关键在于理解每一步的运算如何改变变量的值,并推导出整体逻辑。
破题关键点:
- 不使用临时变量:通过连续的加减操作,间接实现变量值的交换。
- 代数推导:通过具体数值代入,验证每一步操作的数学关系,确保逻辑正确性。
假设初始值为 x = a,y = b,逐步分析:
第一步:x += y
- 操作:
x = x + y,即x = a + b,此时y仍为b。
第二步:y = x - y
- 操作:此时
x已变为a + b,因此y = (a + b) - b = a,即y被赋值为原始x的值。
第三步:x -= y
- 操作:此时
y已变为a,因此x = (a + b) - a = b,即x被赋值为原始y的值。
结论:经过三步操作后,x 和 y 的值被交换。