C语言强制类型转换

Python014

C语言强制类型转换,第1张

强制类型转换是把变量从一种类型转换为另一种数据类型。

例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型。

扩展资料:

举例说明

使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数:

#include <stdio.h>int main()

{

  int sum = 17, count = 5

double mean

  mean = (double) sum / count

printf("Value of mean : %f\n", mean )

}

当上面的代码被编译和执行时,它会产生下列结果:

Value of mean : 3.400000

参考资料来源:百度百科-C语言

可以利用强制类型转换运算符将一个表达式转换成所需类型。例如:

(double)a                (将a转换成double类型)

(int) (x+y)                 (将x+y的值转换成int型)

(float)(5%3)              (将5%3的值转换成float型)

其一般形式为

(类型名)(表达式)

注意,表达式应该用括号括起来。如果写成

(int)x+y

则只将x转换成整型,然后与y相加

        需要说明的是,在强制类型转换时,得到一个所需类型的中间变量,而原来变量的类型未发生变化。例如:

                a=(int)x

如果已定义x为float类型变量,a为整型变量,进行强制类型运算(int)x后得到一个int类型的临时值,它的值等于x的整数部分,把它赋给a,注意x的值和类型都未变化,仍为float型。该临时值在赋值后就不再存在了。

        从上可知,有两种类型转换,一种是在运算时不必用户干预,系统自动进行的类型转换,如3+6.5。第2种是强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。如%运算符要求其两侧均为整型量,若x为float型,则x%3不合法,必须用(int)x%3,。强制类型转换运算符优先于%运算,因此先进行(int)x的运算,得到一个整型的中间变量,然后再对3求余。此外,在函数调用时,有时为了使实参与形参类型一致,可以用强制类型转换运算符得到一个所需要类型的参数。

1、int aint bdouble c = (double) adouble c = (double) bint a = (int) c这就是一种强制转变方法。

2、long int c(int)c如果C变量是长整型,那么之下的语句就是将长整型转变成为整型的过程。

3、()内是要转变的类型,当然相互之间的转变也同时遵循可行性原则。

4、强制转变同时也是一种函数的封装,遵守一定的规则条件,当然也可以自己构造一个强制转换函数。

5、还可以将两个整数运算表达式的结果,强制转换为浮点型数据。