C语言操作符的总结

操作符有很多的分类

算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
下标引用操作符
函数调用操作符

算术操作符

+     -     *    /    %

%的两个数必须是整数,其返回的值是整除之后的余数;其余操作数可进行整数也可进行浮点数。
/中如果两个数都是整数结果为整数,只要其中有浮点数其结果为浮点数。
移位操作符

<<   左移操作符
>>   右移操作符

左移操作符规则
左边抛弃右边补0
对于一个大小在合适范围内的数字,左移一位相当于扩大到原数的二倍。
例:
0000 0000 0000 1001
000 0000 0000 10010
右移操作符规则
1.逻辑移位 左边用0补充,右边舍弃
2.算术移位 左边用原该位置的符号填充,右边舍弃
(不同的编译器运算结果看采用哪种方法,不一定相同)
逻辑右移
0000 0000 0000 1001
00000 0000 0000 100
算术右移
1111 1111 1111 1001
11111 1111 1111 100
提示:对于移位运算符,不要移动负数位,其是标注未定义。
位操作符

&    //按位与
|    //按位或
^    //按位异或

其操作符必须是整数
其对于需要求解二进制序列的一些东西有奇特作用,会使代码变得更简洁高效。
赋值操作符
将之前的值重新赋值
a=y=x+2;
同等于
y=x+2;
a=y;
复合赋值符

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

其都为复合效果

int a=1;
a=a+2;
a+=2;//采用复合赋值;

单目操作符

!      //逻辑反操作
-      //负值
+      //正值
&      //取地址
sizeof //操作数的类型长度(以字节为单位)
       //类型不能省略(),变量可以省略
~      //对二进制数按位取反
--     //有前置和后置--
++     //有前置和后置++
*      //间接访问操作符(解引用操作符)
(类型) //强制类型转换


++a表示先对a进行自增,然后再使用a;
a++表示先使用a,再对a进行自增;(–a和a–同样,只是加变成减而已)
关系操作符

>
>=
<
<=
!=     //用于测试不相等(不可用于比较字符串)
==     //用于测试相等(不可用于比较字符串)

在平常代码书写中注意不可将“==”写为“=”,避免发生此类低级错误
逻辑操作符

&&     //逻辑与
||     //逻辑或

单个&为按位与;单个|为按位或
1&2其结果为0
1&&2其结果为1(其计算过程为先转化为二进制数,再用其补码计算,再将结果转换,得到最后结果)
在计算机中一般逻辑与链接的判断条件中有一个为0,已得到结果其后面不再做判断;
逻辑或链接的判断条件中有一个为1,已得到结果其后面不再做判断;
条件操作符
exp?exp1:exp3
其含义为使用条件表达式实现找出两个数中的较大值

if(a>9)
  b=9;
else
  b=0;
  //等同于
  b=(a>9?9:0);

逗号表达式,使用逗号隔开的多个表达式。其运算过程从左向右依次执行,整个表达式的结果是最后一个表达式的结果。
下标引用操作符
操作数:一个数组名+一个索引值

int arr[10];  //创建数组
arr[1]=8;     //使用下标引用操作符

[ ]的两个操作数是arr和8
函数调用操作符
()函数调用操作符 :接受一个或者多个操作数,第一个操作数是函数名,剩余的操作数是传递给函数的参数。

#include<stdio.h>
void test1()
{
   printf("hi\n");
}
void test2(const char *str)
{
printf("%s\n",str);
}
int main()
{
test1();          //使用()作为函数调用的操作符
test2("hello");   //使用()作为函数调用的操作符
return 0;
}

如果后面有补充或是有什么问题我会把这个再改的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值