正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 printf("s=%dIn", s) 本例程序中,PI为实型;s,r为整型。在执行s=r*r*P语句时,r和P都转换成 double 型计算,结果也为 double型。但由于s为整型,故赋值结果仍为整型,舍去了小数部分。 强制类型转换 强制类型转换是通过类型转换运算来实现的。 其一般形式为 (类型说明符)(表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型 例如: (oat)a把a转换为实型 (int)(x+y)把x+y的结果转换为整型 在使用强制转换时应注意以下问题 1)类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(intx+y)写成 (int)x+y则成了把x转换成int型之后再与y相加了。 2)无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进 行的临时性转换,而不改变数据说明时对该变量定义的类型 【例3.13】 float f=5.75 printf("(int)f%d, f-%f\n"(int)f, f) 本例表明,f虽强制转为int型,但只在运算中起作用,是临时的,而f本身的类型并不 改变。因此,(int)f的值为5(删去了小数)而f的值仍为575。 38算术运算符和算术表达式 C语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达 式使C语言功能十分完善。这也是C语言的主要特点之 C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达 式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合 性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语 言的运算符所没有的,因此也增加了C语言的复杂性。 38.1C运算符简介 C语言的运算符可分为以下几类 1.算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(、求余或称模运算,%)、 自增(++)、自减(-)共七种 第15页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第15页 printf("s=%d\n",s); } 本例程序中,PI 为实型;s,r 为整型。在执行 s=r*r*PI 语句时,r 和 PI 都转换成 double 型计算,结果也为 double 型。但由于 s 为整型,故赋值结果仍为整型,舍去了小数部分。 强制类型转换 强制类型转换是通过类型转换运算来实现的。 其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。 例如: (float) a 把 a 转换为实型 (int)(x+y) 把 x+y 的结果转换为整型 在使用强制转换时应注意以下问题: 1) 类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成 (int)x+y 则成了把 x 转换成 int 型之后再与 y 相加了。 2) 无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进 行的临时性转换,而不改变数据说明时对该变量定义的类型。 【例 3.13】 main(){ float f=5.75; printf("(int)f=%d,f=%f\n",(int)f,f); } 本例表明,f 虽强制转为 int 型,但只在运算中起作用,是临时的,而 f 本身的类型并不 改变。因此,(int)f 的值为 5(删去了小数)而 f 的值仍为 5.75。 3.8 算术运算符和算术表达式 C语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达 式使C语言功能十分完善。这也是C语言的主要特点之一。 C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达 式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合 性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语 言的运算符所没有的,因此也增加了C语言的复杂性。 3.8.1 C 运算符简介 C语言的运算符可分为以下几类: 1. 算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、 自增(++)、自减(--)共七种
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有