c语言的操作符详解

目录

1.操作符的分类 

2.算数操作符

 3.移位操作符

3.1二进制的细讲

  3.2移位操作符的运用

4.位操作符

5.赋值操作符

6.单目操作符

7.关系操作符

8.逻辑操作符

9.条件操作符

10.逗号表达式

11.下标引用,函数调用和结构成员


1.操作符的分类 

2.算数操作符

 

 

 3.移位操作符

移位操作符移动的是二进制位。

3.1二进制的细讲

一个整数的二进制表示形式有3中:原码,反码,补码

原码:按照数值的正负,直接写出的二进制序列就是原码

反码:原码的符号位不变,其它位按位取反

补码:反码的二进制位+1

在内存中,存储数据的二进制位都是以补码的形式,在计算的时候也是使用补码的方式就行计算。

原码,反码,补码的计算方式,例如:

 3.2移位操作符的运用

左移操作符:

  总结:左移操作符有着*2的效果,左移一位就是*2

右移操作符:

右移操作符分两种右移方式:

  1. 算术右移
  2. 逻辑右移

算术右移:左边用原该值的符号位填充,右边丢弃。

逻辑右移:左边用0填充,右边丢弃。

在大多编译器上,采用的是算术右移。

总结:右移操作符有着 / 2 的效果

4.位操作符

  1. &:按位与
  2.  |:按位或
  3.  ^:按位异或

注:他们的操作数必须是整数

&  的运算规则:对应位有0则0,同时为1才为1

任何一个数&1就能得到最后一位的数。

 |  的运算规则: 对应位有1则1,同时为0才为0

 ^  的运算规则:对应位的值相同则为0,不同的值为1

5.赋值操作符

int main()
{
	int i = 10;
	i = 5;      //重新赋值
	printf("%d ",i);
	return 0;
}

 +=   -=   *=   /=   %=这些操作符可以自己去实验一下。

6.单目操作符

!:这是逻辑反,作用是将原本为真的条件,改为假的。

例如:

 sizeof求数据类型或变量在内存中占据空间的大小

例如:

int main()
{
	int i = 3;
	printf("%d ", sizeof(i));
	return 0;
}

 ++、--     这两类分为前置和后置,所产生的作用也不一样

 例如:

总结:前置++,前置--,代表着先++或者--,然后在使用

           后置++,后面--,代表着先使用,然后在进行++或者--


7.关系操作符

这个过于简单,就不细讲了,有兴趣可以自己实验。

8.逻辑操作符

&& 逻辑与

||    逻辑或

 &&的逻辑规则:两边同时满足才为真

||的逻辑规则:两边只要有一边为真那就是真

例如:

 

 在c语言中,0为假,非0才为真。

  

9.条件操作符

 

 

int main()
{
	int x = 10;
	int y = 20;
	printf("%d",x > y ? x : y);
	return 0;
}

 如果x>y成立,则执行x语句,反正执行y语句。

10.逗号表达式 

 

 

11.下标引用,函数调用和结构成员

 对于[ ]来说,arr是它的操作数,5也是它的操作数。


 

 函数调用操作符

 


 

 

 

 总结:结构体变量用.    结构体指针用->

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值