,(int)f 的值为 5(删去了小数)而 f 的值仍为 5.75。
3.8 算术运算符和算术表达式
C语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达
式使C语言功能十分完善。这也是C语言的主要特点之一。
C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合xìng。在表达
式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合
xìng的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合xìng是其它高级语
言的运算符所没有的,因此也增加了C语言的复杂xìng。
3.8.1 C 运算符简介
C语言的运算符可分为以下几类:
1. 算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、
自增(++)、自减(--)共七种。
2. 关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等
于(<=)和不等于(!=)六种。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
3. 逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4. 位cāo作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、
位异或(^)、左移(<<)、右移(>>)六种。
5. 赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位
运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6. 条件运算符:这是一个三目运算符,用于条件求值(?:)。
7. 逗号运算符:用于把若干表达式组合成一个表达式(,)。
8. 指针运算符:用于取内容(*)和取地址(&)二种运算。
9. 求字节数运算符:用于计算数据类型所占的字节数(sizeof)。
10. 特殊运算符:有括号(),下标[],成员(→,.)等几种。
3.8.2 算术运算符和算术表达式
1. 基本的算术运算符
? 加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算。如 a+b,4+8
等。具有右结合xìng。
? 减法运算符“-”:减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目
运算,如-x,-5 等具有左结合xìng。
? 乘法运算符“*”:双目运算,具有左结合xìng。
? 除法运算符“/”:双目运算具有左结合xìng。参与运算量均为整型时,结果也为整型,舍
去小数。如果运算量中有一个是实型,则结果为双精度实型。
〖例 3.14〗
main(){
printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
}
本例中,20/7,-20/7 的结果均为整型,小数全部舍去。而 20.0/7 和-2