C语言自学—运算符与表达式(2.2.13-2.2.17)

五:逻辑运算符

运算符含义举例结果
逻辑“非”!30
&&逻辑“与”3&&00
||逻辑“或”3||01

优先级:!>&&?>||

结合性:自左至右;

设:int a=5;float b=3.5;
计算:!a(0)
     !a<b(1)
     a&&b(1)
     !a&&b(0)
     !a&&!b(0)
     !(a&&b)(0)

六:位运算符:

运算符含义举例结果
&换位与3&51
|按位或3|57
^按位异或3^56
~按位取反~3-4
<<左移3<<16
>>右移

3>>11
#include<stdio.h>
int main()
{
     printf("%d\n",3&5);
     printf("%d\n",3|5);
     printf("%d\n",3^5);
     printf("%d\n",~3);
     printf("%d\n",3<<1);
     printf("%d\n",3>>1);
}
     

1.按位与:按位与“&”运算符,将两个运算量对应的二进制逐一按位进行逻辑与运算。每一位二进制数都要参与运算,包括符号位。
2.按位或:按位或“|”运算符,将两个运算量对应的二进制逐一按位进行运算。每一位二进制都要参与运算,包括符号位。
3.按位异或:按位异或“^”运算符,将两个对应的二进制运算符逐一按位进行逻辑异或运算。每一位二进制数都要参与运算,包括符号位。异或运算的规则为:相异为真,相同为假
4.按位取反:按位取反“~”运算符是一元运算符,其结果是将运算量的每个二进制位逐一取反,每一位二进制都要参与运算,包括符号位。

5.左移:左移运算符是一个二元运算符,需要两个运算量参与,且两个必须是整数。如a<<n,其意义是将a按照二进制位向左移动n位,最低的n位用0补齐
6.右移:右移运算符与左移类似都是二元运算符,目的是将运算量按二进制位右移。右移一位时,最低位舍弃。最高位补齐的数值,需要根据运算量的类型决定。如果运算量是一个有符号整数则补其符号位,如果是无符号的整数则最高补为0。

七:自增自减运算符

++i,--i                     在使用i之前,先使i的值加/减1,先增减,后运算

i++,i--                     在使用i之后,使i的值加/减1,先运算,后加减

#include<stdio.h>
int main ()
{
    int i=3;
	printf("%d",++i);
	return 0;
}
//
#include<stdio.h>
int main()
{
	int i=3; 
	printf("%d",i++);
	return 0;
}
//
#include<stdio.h>
int main()
{
	int j,i=2;
	j=i++;
	printf("j=%d,i=%d",j,i);
	return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宵熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值