C语言操作符

C语言操作符

一、算术操作符

 +  -  *   /  %

除了%操作符只能用于int 型,剩余都可用在float int

二、移位操作符

<<左移操作符:左边抛弃,右边补0

>>右移操作符:

(1):逻辑移位:左边用0填充,右边丢弃。

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

逻辑移位需要注意只可用于正数在负数中不适合(在计算机储存中32位比特位中第一位默认为符号位:正数为0,负数为1)。电脑中默认为算术移位

注意!!!!!对于移位运算符,不要移动负数位。

三、位操作符 (补码运算)

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

&:对应比特位都为1,按位与后对应比特位为1。其余都为0

|:对应比特位有一个为1,按位或后对应比特位为1,其余为0

^:对应比特位相同为0,不同为1

eg13的三种操作符计算

1的比特位:00000000  00000000  00000000  00000001

3的比特位:00000000  00000000  00000000  00000011

1&300000000  00000000  00000000  00000001

1|300000000  00000000  00000000  0000000  

1^3:  00000000  00000000  00000000  000000010

按位操作符计算的都是整数。

四、赋值操作符

只有=

赋值操作符可以连续使用,ega=x=y+1;(1)   x=y+1; a=x;(2)

大家可以看出来第二种比较好看一些,而且易于调试。

五、复合赋值符

+=x=x+1; -=(x=x-1) ;  类似的还有*=  /=  %=  >>=  <<=  &=  |=  ^=

这些操作符都可以达成复合的效果。

六、单目操作符

!:逻辑反操作; - + 正负值; &:取地址;  sizeof :操作数的类型长度

~:对一个二进制按位取反;  -- ++:前后置++  --;   *:间接访问操作符

(类型):强制类型转换。

特别注意的是sizeof 这个操作符:

&数组名,Sizeof (数组名)不代表首元素地址,代表整个数组。除此之外所以数组名都是首元素地址。

arr+1 :跳过数组首地址

&arr+1: 跳过整个数组

七、关系操作符

<  <=  >  >=  !=(不相等)  ==(相等)

特别注意if()括号中的判断语句用==  不是赋值语句中的等号。

八、逻辑操作符

逻辑与:&&   逻辑或||

给出一个逻辑也和或的特点:

int i=0,a=0,b=2,c=3,d=4;

i=a++&&++b&&d++;

I=a++||++b||d++;

Printf(“a=%d\n b=%d\n c=%d\n d=%d\n,a,b,c,d

两种运算下输出的答案有什么不同

进行&&时:输出为  1  2  3  4  当第一个a++0时值为假后面运算不运算。

进行||时: 输出为  1  3  3  4  当第一个为0 ++b1时值为真后面运算不运算。

九、条件操作符

 exp1  ?  exp2  :  exp3

exp1  为判断式,解读为exp1为真时取值exp2,为假时取值exp2.

十、逗号表达式

逗号表达式,就是用逗号隔开的多个表达式。从左向右依次执行。整个表达式的结果是最后一个表达式结果。

十一、下标引用、函数调用和结构成员

1. 【】

操作数:一个数组名+一个索引值

egint arr10】;//创建一个数组

2()

函数调用操作符:接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

3:访问一个结构的成员

. 结构体.成员名

-> 结构体指针->成员名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值