C语言 强制类型转换运算符

Python07

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

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

(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、还可以将两个整数运算表达式的结果,强制转换为浮点型数据。

01

我们定义三个整型变量a、b、c,其中a=4,b=2,c=a/b。经过分析我们可以知道,若不转换数据类型,则c=2。

02

接着我们输出c,在输出语句中对c进行强制转换,将其由整型转换为浮点型。

03

检验程序,没有错误和警告。

04

点击界面上方的"!"运行程序,程序结果如图所示。可以看到c=2.000000,是一个浮点型的数。