返回 课程

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

5.9 数据隐式类型转换

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

“有时候计算机会自动帮我们转换数据类型,”我继续说道,”这就是隐式转换。”

// 自动类型提升
int a = 5;
double b = 2.5;
double result = a + b;      // a被自动转换为double

// 赋值时的转换
int x = 3.7;               // 3.7自动转为3
char ch = 97;              // 97自动转为字符'a'

// 运算中的隐式转换规则
char c1 = 'A';             // ASCII值65
char c2 = 'B';             // ASCII值66
int sum = c1 + c2;         // 字符先转换为ASCII码再相加

// 可能出现的问题
int big = 2000000000;
big = big + big;           // 可能溢出,结果不准确

练习题:

  1. 选择题:下面代码中,变量sum的类型应该是什么?
char c = 'A';
int i = 10;
auto sum = c + i;

A. char
B. int
C. double
D. float

正确答案:B
解析:char和int运算时,char会自动提升为int,结果类型为int。

  1. 判断题:在混合运算中,较小的数据类型总是会自动转换为较大的数据类型。
    正确答案:√
    解析:这是类型提升的基本规则,以保证不会丢失数据精度。