【C】关于C语言中操作符的总结

C语言已经学习了这么久了,今天来总结一下C语言中的那些操作符。

一、算数操作符

   +  -   *   /  %

这些都是最基本的操作符,但是要注意 % 运算符两边都只能是整型。 / 运算两边只要有一边为

浮点数则按浮点数运算,并且除数不能为0。

二、移位操作符

右移操作符(意味着除2) <<左移操作符(意味着乘2)

右移操作符在进行逻辑移位操作的时候,左侧补0,右侧被挤掉,而进行算术右移的时候则左侧

保留最高位符号位,右侧被挤掉。

左移操作符则左侧被挤掉,右侧无脑补0。

移位操作符在使用的时候,要注意不能超过最大比特位,也不能移动负数位。

代码示例

 a>>1;

 a<<1;

三、位操作符(必须是整数)

& 按位与操作。两个整数进行按位与操作,其二进制数中对应位数同为1就是1,不然就是0。

比如(3&10)
3: 0011
10: 1010
3&10: 0010

| 按位或操作。两个整数进行按位或操作,其二进制数中对应位数同为0才是0,不然就是1。

扫描二维码关注公众号,回复: 5724126 查看本文章

比如(3|10)
3: 0011
10: 1010
3|10: 1011

^ 按位异或。 两个整数进行按位异或操作,其二进制数对应位数相同为0不同为1。

比如(3^10)
3: 0011
10: 1010
3^10: 1001

四、赋值操作符

= 赋值操作可以给变量重新赋值

另外还有很多的复合赋值操作符

如:+= -= *= /= %= >>= <<= &= |= ^=

这些复合操作符都可以写成类似于

 int a = 0;
   a = a + 1;//等价于a+=1;

五、 单目操作符

!逻辑取反

  • 表示负值
  • 表示正值

& 取地址

sizeof( ); 以字节为单位求操作数的类型长度
对一个值进行二进制数取反

++ – 自增,自减 可以前置和后置(两种返回值不同)

  • 解引用操作符

(类型) 强制类型转换

六、关系操作符

< >= <= != ==

这些也都是一些基本的操作符,值得注意的是数学中的等号用==表示,并且字符串类型不能用

==来判断相等。

七、逻辑操作符

&& 逻辑与操作,两边同为真则为真,有一边为假就为假。C中假用0表示,其他都表示真。

|| 逻辑或操作,两边同为假则为假,有一边为真就为真。

八、条件操作符(三目操作符)

exp1 ? return1:return2;

这个代码等价于

if(exp1)
{
return1;
}
else
{
return2;
}

九、逗号表达式

很少会用到,但在for()循环中,可以同时更新多个循环变量。

十、其他操作符

() 在不知道代码优先级的时候多用

[] 下标引用操作符,借助下标引用操作符来访问数组成员。

. 用来访问结构体成员

-> 用来访问结构体指针成员

最后总结一下操作符的运用需要注意的细节。

1 注意操作符的优先级,在不知道的时候使用(),建议多使用()避免出错。

2.如果写出的代码不能通过操作符属性确定计算的优先级,即在运算中有歧义,那么这个表达式

是有问题的。

3.注意表达式的使用,来使代码变得美观规范,可读性更好。

今天的总结到这里就结束了,如果有什么不对或者缺少的欢迎大家在评论区留言讨论。

猜你喜欢

转载自blog.csdn.net/qq_38606740/article/details/88928483