第三章 运算符、表达式

1.C语言的运算符可以分为十类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符、特殊运算符。

2.运算符的优先级简单的就是:!>算术运算符>关系运算符>&&>||>赋值运算符。

3.条件运算符为?和:,它是一个三目运算符,一般表达式为表达式1?表达式2:表达式3,其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式3的值作为条件表达式的值,条件运算符的优先级低于关系运算符和算术运算符,高于赋值符。

4.++和--做一些连续自加或自减时较为复杂,如:

int i = 3;

(++i)+(++i)+(++i);

有的编译器计算出来是18,有的计算器计算出来是16,但不会是15,但是很多同学包括我算出来的是15.

5.位运算的应用,位与运算用于清0特定位,取某数中指定位;位或运算用于将某源操作数某些位置1,其他位不变;位异或运算用于使特定位的值取反,不引入第三变量,交换两个变量的值。

6.右移时,对于有符号数,符号位将随同移动,当为正数时,最高位补0;而为负数时,符号位为1,最高位是补0或是补1取决于编译系统的规定。

7.逻辑运算符||两边的条件只要一个为真,其结果就为真;只要有一个结果为假,其结果就为假。

8.逗号运算符在所有运算符中优先级最低。

9.算术运算符高于移位运算符

10..的优先级高于*,->操作符用于消除这个问题。

猜你喜欢

转载自blog.csdn.net/qq_42267245/article/details/82957050