c语言-运算符号

算数运算符

±*/

大数据类型与小数据类型操作结果隐式类型提升
减-
乘*
除/

取余%

奇数偶数判断 :
num % 2 == 0 偶数
num % 2 == 1 奇数

num & 0x1 == 0 偶数
num & 0x1 == 1 奇数

自加++

var++ :后置++
++var :前置++

  1. 单独构成一条语句 :前置++和后置++结果相同
int num = 0;
num++;//num == 1;
------------
int num = 0;
++num;//num == 1;
  1. 不单独构成一条语句 :和其他运算符结合使用,和函数传参结合使用
    前置++ :先取var的值,自增1,然后和其他运算符结合
    后置++ :先取var的值,然后和其他运算符结合,再自增1
//后置++ :先取var的值,然后和其他运算符结合,再自增1
int num = 0;
int value = num++;  //value == 0;num == 1;

//前置++ :先取var的值,自增1,然后和其他运算符结合
int num = 0;
int value = ++num;  //value == 1;num == 1;

自减–

逻辑运算符

逻辑&&

有一方为假,结果为假
T && T -> T
T && F -> F
F && T -> F
F && F -> F

逻辑||

有一方为真,结果为真
T || T -> T
T || F -> T
F || T -> T
F || F -> F

条件语句中如果if语句里面 || 或的关系,如果前面的条件满足,就不会去看后面的条件了,直接总的结果为真,指向if里面的语句,如果if里面中判断语句中,第一个条件为假,才会继续判断第二个条件。

关系运算符

> < >= <= == !=

赋值运算符

赋值于=

复合赋值运算符 :
a = a + 1 <=> a += 1
+= -= *= /= %=

位运算符

BM52 数组中只出现一次的两个数字:位运算的应用

当二进制&0001结果为1的时候,为奇数,反之为偶数。它们是按照最低位的不同来分组的。
我们都知道异或运算:如果两个数一样则异或结果为0,不一样则异或结果为1
0和任何数异或都是自身

向左移动<<

//  	10 << 1
		0000 1010	10
-----------------
		0001 0100	20

将一个运算对象的各个二进制为全部左移若干位,左边丢弃,右边空位用0位补齐
num << n :num乘2的n次方

向右移动>>

//  	10 >> 1
		0000 1010	10
-----------------
		0000 0101	5

将一个运算对象的各个二进制为全部右移若干位,右边丢弃,左边空位用符号位补齐
num >> n :num除2的n次方

按位与&

两方为1 当前位结果1

		0000 1010
	&	0000 0011
-----------------
		0000 0010

按位或|

当前位至少有一方为1,当前位结果1

		0000 1010
	|	0000 0011
-----------------
		0000 1011

异或^

同一个位,两个数,不相同,该位为1
同一个位,两个数,相同,该位为0

		0000 1010
	^	0000 0011
-----------------
		0000 1001

当 x 是偶数,则其二进制的末尾是 0,所以 x ^ 1 将其二进制的末尾改成 1,于是得到了x+1。
当 x 是奇数,则其二进制的末尾是 1,所以 x ^ 1 将其二进制的末尾改成 0,于是得到了x -1。

取反~

每个位取反
1 -> 0
0 -> 1

	~	0000 1010	10
-----------------
		1111 0101	按位取反加1
-----------------
		1000 1011	-11
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值