返回 课程
信奥AC之路-1级
0% 完成
0/0 步骤
-
第1课 开发环境与基础输出5 主题|小节
-
第2课 算术运算符7 主题|小节
-
第3课 printf与运算输出7 主题|小节
-
第4课 数的进制与拆位6 主题|小节
-
第5课 变量与基础运算17 主题|小节
-
第6课 常量与取整运算8 主题|小节
-
第7课 关系运算8 主题|小节
-
第8课 逻辑运算9 主题|小节
-
第9课 输入与计算进阶10 主题|小节
-
第10课 if语句及双分支语句8 主题|小节
-
第11课 if语句及双分支进阶11 主题|小节
-
第12课 三目运算9 主题|小节
-
第13课 多分支、多if和switch语句11 主题|小节
-
第14课 循环(基本输出)7 主题|小节
-
第15课 循环(While+If)8 主题|小节
-
第16课 循环(计数、求和、求乘积)10 主题|小节
-
第17课 循环进阶(While+)8 主题|小节
-
第18课 do-while及while其他用法8 主题|小节
-
第19课 For循环基础9 主题|小节
-
第20课 For循环进阶8 主题|小节
课 进展
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范围,结果可能不符预期
练习题:
- 选择题:以下代码的输出结果是多少?
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。
- 判断题:将小数强制转换为整数时,系统会自动四舍五入。
正确答案:×
解析:强制类型转换为整数时会直接截断小数部分,而不是四舍五入。