C语言的操作符

一.算数操作符。
C语言的算数操作符与数学中学习的运算符相似,加减乘除余,+ - * / %。加减乘运算法则和数学相似,需要注意的是除和求摸,对于C语言中的除,如果两边都是整形常量,那么算下来的一样是整形常量,称为整形除法;如果两边都是浮点数,算出来的结果就是浮点数,称为浮点形除法。对于求摸运算符来说就是求余数。
二.移位操作符。
1.>> 右移操作符
2.<< 左移操作符
移位操作符作用的对象是一个数的补码;
对于左移:左边抛弃,右边补0;
对于右移:右边抛弃,左边补原来的符号位(采用算术移位);
对于’>>’操作符,分为两种移位规则:一种逻辑移位,另一种是算术移位,
a.逻辑移位规则是右边抛弃,左边最高位直接补0,不考虑之前数的符号位。
b.算术移位规则是右边抛弃,左边最高位补和之前数相同的符号位。而目前编译器通常采用的是算术移位规则。
但这里需要注意,对一个数移位操作完成后,当前的数不会改变的,除非把它赋值给另外一个变量。
*****对于移位操作符,不要移动负数位,这个是标准未定义的。
int main()
{
int p=0,q=0,n=2;
p=n<<1;
printf("%d",p);
q=n>>1;
printf("%d",q);
}
三.位操作符与逻辑操作符。
1.& 按位与
2.| 按位或
3.^ 按位异或
4.&& 逻辑与
5.|| 逻辑或
***同样这里位操作符作用的对象也是一个数的补码,并且它们的操作数必须是整数。
***对于’&’,两个数补码对应位置的值都为1,结果为1,否则为0;对于’|’,两个数补码对应位置都是0,结果是0,否则为1;
四.复合赋值符。
+= 相加之后赋值
-= 相减之后赋值
*= 相乘之后赋值
/= 相除之后赋值
%= 求摸之后赋值
使用这些复合操作符之后能使代码更加简洁。
五.单目操作符。
! 逻辑反操作
+
_ 负值
& 取地址
sizeof 操作数的类型长度
~ 对一个数的二进制按位整体取反
__ 前后置减减
++ 前后置加加
间接访问操作符(解引用)

  1. sizeof操作符计算的是变量(类型)所占空间的大小,是按字节来计算,重要的是,sizeof (a+b)里面的表达式不参与计算,若a,b都是int行类型,其结果依然是4;
  2. 当数组作为参数为函数传参时,由于数组要发生降级,其会降级为一个指针,如果此时在一个函数中sizeof计算数组的大小是不可以的,其计算的是数组降级为指针的大小(4个字节),所以,若函数要得到一个数组的大小,应该在主函数中计算。
  3. 对于前置++或 - -,先操作,再使用,对于后置++或 - -,先使用,再操作。
    六.关系操作符。
    大于 >
    小于 <
    大于等于 >=
    小于等于 <=
    等于 ==
    不等于 !=
    这些是用来判断关系的用算符,非常常用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值