返回 课程

信奥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, 主题|小节 9
进行中

5.8 数据强制类型转换

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

[图片:展示类型转换过程的示意图]

“有时候我们需要把一种类型的数据变成另一种类型,”我拿起一个积木说,”就像把这个方块变成圆形。”

// 基本的强制类型转换
int num = (int)3.14;             // 小数转整数: 3
char ch = (char)65;              // 数字转字符: 'A'
double d = (double)5;            // 整数转小数: 5.0

// 不同写法的强制转换
int x = int(3.14);               // 函数式写法
double y = (double)123;          // C风格写法

// 多重类型转换
int a = (int)(2.5 * 3.0);       // 先计算得7.5,再转成7

// 可能的精度损失
int lost = (int)3.99;           // 结果是3,小数部分被截断
char overflow = (char)500;      // 超出char范围,结果可能不符预期

练习题:

  1. 选择题:以下代码的输出结果是多少?
double x = 5.7;
int y = (int)x;
printf("%d", y);

A. 5.7
B. 6
C. 5
D. 5.0

正确答案:C
解析:强制类型转换为int会截断小数部分,所以5.7转换后为5。

  1. 判断题:将小数强制转换为整数时,系统会自动四舍五入。
    正确答案:×
    解析:强制类型转换为整数时会直接截断小数部分,而不是四舍五入。