题目
设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
的值被交换。