课程名称:c语言入门
课程章节:第二章 C语言中的数据类型
课程讲师: milanlover
课程内容:
自动类型转换
有这么一个词叫“狸猫换太子”,变量的数据类型就存在这样的情况。数据类型存在自动转换的情况,比如:
自动转换发生在不同数据类型运算时,在编译的时候自动完成。自动转换遵循的规则就好比小盒子可以放进大盒子里面一样,下图表示了类型自动转换的规则。
char类型数据转换为int类型数据遵循ASCII码中的对应值,ASCII码请查看WIKI。
注:字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换
#include <stdio.h>
int main()
{
char c = 'a';
int n = c; //将c赋值给n
float f = c; //将c赋值给f
double d = c; //将c赋值给d
printf("%d\n",n);
printf("%f\n",f);
printf("%lf\n",d);
return 0;
}
强制类型转换
强制类型转换是通过定义类型转换运算来实现的。其一般形式为:
(数据类型) (表达式)
其作用是把表达式的运算结果强制转换成类型说明符所表示的类型,例如:
输入结果:
在使用强制转换时应注意以下问题:
1、数据类型和表达式都必须加括号,如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。
2、转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。
3、强制转换后的运算结果不遵循四舍五入原则。
编程练习
#include <stdio.h>
int main()
{
double num = 2.5;
int two = (int)num;//定义浮点型变量num并赋值为2.5
printf("num的整数部分是%d\n", two);
return 0;
}
课程收获:
谢谢老师,讲的非常细致,很容易懂。这一节学的是C语言的自动类型转换和强制类型转换等内容,给以后的学习打下了基础。原来一门语言能有这么多种性质,有了新的认识,期待后边的学习!
共同学习,写下你的评论
评论加载中...
作者其他优质文章