C语言要点—— 运算符

一、“||""&&"的短路规则
1、||从左向右开始计算,当遇到为真的条件时停止计算,整个表达式为真,所有条件为假时表达式为假。
2、&&从左向右开始计算,当遇到为假的条件时停止计算,整个表达式为假,所有条件为真时表达式才为真。

二、“!”运算符
C语言中的逻辑符“!”只认得0,只知道见了0就返回1,因此当其作用的值不是0时,其结果为0。
eg:
int main()
{
printf("%d\n", !0);             //打印值为1
printf("%d\n", !1);             //打印值为1
printf("%d\n", !100); //打印值为0
printf("%d\n", !-1000);         //打印值为0
}

三、位运算符
1、左移运算符<<将运算数的二进制位左移。
规则:高位丢弃,低位补0。
2、右移运算符>>把运算符的二进制位右移。
规则:高位补符号位,低位丢弃。
3、避免位运算符,逻辑运算符和数学运算符同时出现在一个表达式。
4、当为运算符,逻辑运算符和数学运算符需要同时参与运算时,尽量使用括号()来表达计算次序。
5、左移n位相当于乘以2的n次方,但效率比数学运算符高。
右移n位相当于除以2的n次方,但效率比数学运算符高。

猜你喜欢

转载自blog.csdn.net/bulebin/article/details/79576882
今日推荐