返回 课程

信奥AC之路-1级

0% 完成
0/0 步骤
  1. 第1课 开发环境与基础输出
    5 主题|小节
  2. 第2课 算术运算符
    7 主题|小节
  3. 第3课 printf与运算输出
    7 主题|小节
  4. 第4课 数的进制与拆位
    6 主题|小节
  5. 第5课 变量与基础运算
    17 主题|小节
  6. 第6课 常量与取整运算
    8 主题|小节
  7. 第7课 关系运算
    8 主题|小节
  8. 第8课 逻辑运算
    9 主题|小节
  9. 第9课 输入与计算进阶
    10 主题|小节
  10. 第10课 if语句及双分支语句
    8 主题|小节
  11. 第11课 if语句及双分支进阶
    11 主题|小节
  12. 第12课 三目运算
    9 主题|小节
  13. 第13课 多分支、多if和switch语句
    11 主题|小节
  14. 第14课 循环(基本输出)
    7 主题|小节
  15. 第15课 循环(While+If)
    8 主题|小节
  16. 第16课 循环(计数、求和、求乘积)
    10 主题|小节
  17. 第17课 循环进阶(While+)
    8 主题|小节
  18. 第18课 do-while及while其他用法
    8 主题|小节
  19. 第19课 For循环基础
    9 主题|小节
  20. 第20课 For循环进阶
    8 主题|小节
课 5, 主题|小节 12
进行中

5.11 数字交换

2025年9月22日
课 进展
0% 完成

[图片:展示三种数字交换方法的动画示意图]

“小朋友们,”我拿出两个不同颜色的球,”如何让这两个球交换位置呢?我们来学习两种交换数字的方法。”

// 方法1:使用临时变量
int a = 5, b = 10;
int temp = a;    // 临时存储a的值
a = b;           // 将b的值给a
b = temp;        // 将临时存储的值给b

// 方法2:加减法
int x = 3, y = 7;
x = x + y;      // x=10 (3+7)
y = x - y;      // y=3  (10-7)
x = x - y;      // x=7  (10-3)

// 错误的交换方法
int p = 8, q = 9;
p = q;          // ❌ p的原值丢失
q = p;          // q和p的值相同了

练习题:

  1. 选择题:以下哪种交换方法在处理大数时最安全? A. 临时变量法 B. 加减法 C. 算术法 D. 直接赋值

​ 正确答案:A 解析:临时变量法能确保数据安全、逻辑清晰,而加减运算可能导致数值溢出,直接赋值会丢失原 始数据。临时变量法虽然多用了一个变量,但是是最安全可靠的方法。

  1. 判断题:使用加减法交换两个变量的值时,不需要额外的存储空间。
    正确答案:√
    解析:加减法交换确实不需要额外变量,但要注意可能的数值溢出问题。