C把除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理。由运算符加适当的运算对象可构成表达式。优先级,结合性:运算符所需要的数据是从左边还是从右边开始取,有“左结合”与“右结合”。
一,算术运算符:加,减,乘,除,取模
1)两数相除中的一些问题:
1, 符号相同的整数相除,结果为整数(舍去小数部分,只保留整数部分);
2, 一个是浮点数,结果也为浮点数;
3, 异号整数相除,遵循“向零取整”原则,按其绝对值相除后加负号;
2)“%”求余运算符:两数必为整;|a|%|b|=x ,x与整数a的符号相同。
二,++,——自加自减运算符(单目运算符)
意义不在于它所作用的变量本身,而在于对变量值的使用。
1, 不能用在非简单的整型变量的表达式上。如++(x+y),++(-a),均错误。
2, 结合性自右向左。-x++ 相当于 -(x++)。
3, 在保证有意义的前提下,从左到右尽可能多的将字符组成一个运算符。如:i+++j相当于(i++)+j。
4, 可对字符变量进行自加自减运算。
三 ,关系运算符与逻辑运算符号
1,关系运算符用来比较两个运算对象的大小,比较的结果是真或假,而逻辑运算符的操作对象和结果都是逻辑值。数字0表示假,非零表示真。
2,逻辑非 ! ,逻辑与 &&,逻辑或 ||.
3 ,注意关系运算符与逻辑运算符的结果只能是0或1,所以当x不为0或1时,!!X不等于X。
4,A&&B&&C,A||B||C,“惰性求值法”:只要能判断出逻辑表达式的真假即停止向后进行运算。
四,以上三种运算符的优先级
1,!非2,算术运算符(正负,* / % , 加减)3,关系运算符(>,>=,<,<= ;== !=)
4,&&与运算 5,|| 或运算