前言
如何进行各个不同数据之间的强制性转换问题
提示:以下是本篇文章正文内容,下面案例可供参考
一、强制性转换是什么,需要怎样去操作!
介绍:强制性转换的一般形式为:(类型名)(表达式)
列如:int(6.6+9),表示将(6.6+9)转换为int型,即,将15.6转换为15,
二、使用步骤
1.引入库
对不同数据之间的强制性转换,简单代码如下(示例):
//不同数据之间的强制性转换 #include <stdio.h> int main () { char c='b'; //字符型:char short int i=2; //短整型:short int ) float f=2.1;double d1=0.0,d2=0.0; //对d1,d2赋初始值0.0 d2=(c/i)-(f-d1)+(f*i); //对d2进行赋值 printf("%ld,%lf\n",(long)d2,d2); //输出(long)d2,d2,对输出结果进行比较 return 0; }
2.读入数据
重要代码如下(示例):
char c='b'; short int i=2; //短整型:short int ) float f=2.1;double d1=0.0,d2=0.0; //对d1,d2赋初始值0.0 d2=(c/i)-(f-d1)+(f*i); //对d2进行赋值 printf("%ld,%lf\n",(long)d2,d2); //输出(long)d2,d2,对输出结果进行比较
运行结果如图所示:
该处该处的代码尤为重要;
具体解析,如下
对上述代码进行解析:d2=(c/i)-(f-d1)+(f*i);
1,在进行c/i运算时,要将c和i都转换为int型进行计算,:84/2,得到的结果为42,结果为int 型
2.在进行f-d1运算时候,d1为double(双精度浮点型),因此,要将f转换为double类型进行运算,其运算结果为2.1,也为double类型。
3.将c/i的结果与f-d1的结果进行运算,需要将前者的结果49从int转换为double,结果为49.6,仍为double类型。
4.进行f*i 运算,一个为float(单精度浮点型)一个为int(整型);将i转换为float然后进行运算,结果为4.2,为float类型,
5.最后结果进行计算:49.6+4.2,需要将4.2转换为double类型,最后输出结果。
##在输出语句中,首先将double类型的d2强制性转换为long类型然后输出,转换的结果就是舍弃了d2的小数位,然后输出d2的原始值。
***注意:***在进行数据类型转换时,只是将变量的值进行了转换,而变量的类型并没有改变。
(1).(int)x+y是指将x转换为int(整型)然后与y相加;
int(x+y)是指将x+y的值转换为(int)整型。
(2).表达式为变量时不加()。
谏言时刻,请同僚进行斧正