C语言的类型转换 Conversion and Casting( 二 )


(type)用实际需要的类型(如,long)替换type即可 。
考虑下面两行代码,其中mice是int类型的变量 。第2行包含两次int强制类型转换 。
mice = 1.6 + 1.7;mice = (int)1.6 + (int)1.7第1行使用自动类型转换 。首先,1.6和1.7相加得3.3 。然后,为了匹配int类型的变量,3.3被类型转换截断为整数3 。第2行,1.6和1.7在相加之前都被转换成整数(1),所以把1+1的和赋给变量mice 。本质上,两种类型转换都好不到哪里去,要考虑程序的具体情况再做取舍 。
一般而言,不应该混合使用类型(因此有些语言直接不允许这样做),但是偶尔这样做也是有用的 。C语言的原则是避免给程序员设置障碍,但是程序员必须承担使用的风险和责任 。
4 总结 C的一些运算符下面是我们学过的一些运算符 。
赋值运算符:

  • = 将其右侧的值赋给左侧的变量算术运算符:
  • + 将其左侧的值与右侧的值相加
  • - 将其左侧的值减去右侧的值
  • - 作为一元运算符,改变其右侧值的符号
  • * 将其左侧的值乘以右侧的值
  • / 将其左侧的值除以右侧的值,如果两数都是整数,计算结果将被截断
  • % 当其左侧的值除以右侧的值时,取其余数(只能应用于整数)
  • ++ 对其右侧的值加1(前缀模式),或对其左侧的值加1(后缀模式)
  • -- 对其右侧的值减1(前缀模式),或对其左侧的值减1(后缀模式)
其他运算符:
sizeof 获得其右侧运算对象的大小(以字节为单位),运算对象可以是一个被圆括号括起来的类型说明符,如sizeof(float),或者是一个具体的变量名、数组名等,
如sizeof foo(类型名) 强制类型转换运算符将其右侧的值转换成圆括号中指定的类型,如(float)9把整数9转换成浮点数9.0 。

【C语言的类型转换 Conversion and Casting】


推荐阅读