运算符与表达式

运算位

1、按位与运算符“&”;
运算规则: 0&0=0,0&1=0,1&0=0,1&1=1。
即同为1的位,结果为1,否则结果为0.
例如:3的内部表示为0000011
5的内部表示为0000101
则3&5的结果为0000001
2、按位或运算符“|”
运算规则:0|0=0,0|1=1,1|0=1,1|1=1。
即只要有1个是1的位,结果为1,否则为0.
例如:23的内部表示为00010111
35的内部表示为001000119
23|35结果为虽00110111
3、按位异或运算符“^”
运算规则:0 ^ 0=0,0 ^ 1=1, 1 ^ 0=1,1^1=0。
即相应位的值相同的,结果为0,不相同的结果为1。
例如:13内部表示为0001101
35内部表示为00100011
13^35结果为00101110

字符类型

运算符与表达式
运算符与表达式
双精度字符转化为单精度字符去除后面多余位数,不是四舍五入。
例子:int a=11;
a=a/3;
a=3;

运算符极其优先级

运算符与表达式
运算符与表达式

逗号运算符

逗号运算符是双目运算符,用它可以构成逗号表达式。-般形式为:
表达式1,表达式…表达式n
逗号运算的每个表达式分开进行运算,从表达式1按顺序一直求到表达式n, 最后的表达式的值就是该 号表达式的值。
例如: int i=1.j=0,k;
k= (i++j++, i+j) ;
最后k的结果为3。

条件运算符

条件运算符(?:)是C语言中唯的三目运算符,它的般形式为:
表达式1?表达式2 :表达式3
它的运算过程是:判断表达式1的值, 如果非0, 执行表达式2.如果为0,则执行表达式3.
例如: int a,b;
(a>b)?a:b
当a>b成立时,条件表达式的值为a,否则,条件表达式的结果为b.
(a==b)?0:((a>b)?-1:1);
这是一个嵌套的表达式,先算内层表达式,再算外层表达式的值。

逻辑运算符

C语言中的逻辑运算符包括&& (逻辑与)、I (逻辑或)、! (逻辑非,单目运算符)。逻辑运算符&&、||的两个 个表达式类型可以不同,运算时也不需要类型转化,只要遵循非0视为真,0值视为假。运算结果也只有 两种情况。
注意: &&只要左边为逻辑0,右边的表达式计算机将不会计算,同理,||左边为逻辑1,右边不计算
例如: int a=1,b=0,c;
c=++a||++b;
b!=b;
结果:c=1,a=2,b=1;