C语言的运算符、优先级别、结合性
运算符
注意:关系运算中,除法/,和取余 %与现实中略有区别。
除法 /的运算结果,是和运算对象的数据类型有关。
如果两个数都是int整型数据,则商就是int数据,若商有小数,则截取小数部分;
被除数和除数中只要有一个或两个都是浮点型数据,则商也是浮点型,不截取小数部分。
例如:16 / 5== 3 。 3 / 5 ==0 。
5 / 3 ==1 。
如果把除数变成小数,16/ 5.0 == 3.20000
最典型的例题就是:
求S = 1 + 1 / 2 + 1 / 3 + 1 / 4 + 1 / 5 …
+ 1 / 100 的值。
取余 % 的运算对象,必须是整数,结果是整除后的余数。
其余数的符号与被除数相同。(即被除数是正数,则余数是正数。被除数是负数,则余数是负数。)
例如:13 % 3== 1 。 13 % -3 ==1 。
-13 % 3 == -1 。
-13% -23 == -13 。 3 %5 == 3 。
以下在程序中,输出6个整数,分别是13%-3, 13%3,13%-3, -13%23, 3%5 的值。
其结果为:
逻辑运算符!(非),&&(并且), ||(或)。的真假判断。
C语言对真假的处理:非零是真,用1表示。 零是假,用0表示。
程序中,不含有;分号的是表达式,含有分号的是语句。
所以,表达式为真,则程序执行语句,表达式为假,则不执行语句。
若整个表达式为假,则语句为假,用0表示。
重点:&&(并且) 左边的表达式为假,右边的表达式肯定不执行。
||(或) 左边的表达式为真,右边的表达式肯定不执行。
最后
附: 运算符的优先级和结合性