C语言操作符总结

 一.分类

操作符的分类主要有:

算术操作符

移位操作符

位操作符

赋值操作符

单目操作符

关系操作符

逻辑操作符

条件操作符

逗号表达式

下标引用、函数调用和结构成员
二.(1)算术操作符

+ 加    -减   * 乘    / 除     %取余
注意:

①除了%操作符之外,其他的几个操作符都可以作用于整数和浮点数。

②对于/操作符而言,如果两个操作数均为整数,那么执行整数除法。而两个操作数中只要有一个是浮点数,那么执行的就是浮点数除法,结果即为浮点数。

③%操作符的两个操作符必须均为整数。返回的数值是整除之后的余数。
(2)移位操作符

 << 左移操作符       >>右移操作符

<<表示为二进制形式最左边的数抛弃,最右边的数字补上0。

>>右移操作符分为逻辑右移(左边用0填充,右边丢弃)和算术右移(左边符号位不变,右边丢弃)

(3)位操作符

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

&是对两个操作数的二进制形式逐位比较,只有该位上两个数均为1时得结果1,其余均为0。

|是对两个操作数的二进制形式逐位比较,只有该位上两个数均为0时得结果0,其余均为1。

^是对两个操作数的二进制形式逐位比较,若相同得0,不同得1。A,B异或的值,与A异或得B,与B异或得A。

(4)赋值操作符=

它可以将右边的值赋给左边的值。注意最好不要连续赋值,分开写有利于理解和后期程序调试。

(4)复合赋值符

+=       -=       *=      /=     %=      >>=     <<=     &=    |=

复合赋值符是一种更加简洁的写法,与其他运算符同理。
比如说a+=b就是我们平时所写的
a=a+b   剩下的操作符意思类似。

(5)单目操作符
!逻辑反操作    

-负    

+ 正   

& 取地址操作  

~表示对一个数的二进制按位取反
 
--    自减 ,如果前置的话就先赋值后使用,如果后置的话就先使用后赋值

 ++  自增,如果前置的话就先赋值后使用,如果后置的话就先使用后赋值

    *      间接访问
 
 (类型)   用来强制转换变量的类型

sizeof 是用来求变量(类型)所占空间的大小的操作符,不是函数,sizeof内的表达式不参与运算。
注意:
 ”sizeof(数组名)“表示整个数组的大小,单位为字节。“&数组名”表示整个数组,只有这两种方式可以表示整个数组,其余表达方式均为数组的首元素地址。但”sizeof(数组名)“在函数传参的过程中不表示整个数组的大小,只有四个字节。

(6)关系操作符

> 大于      >=  大于等于      <  小于 

  <=  小于等于      ==等于    != 不等于

&&逻辑与       ||逻辑或

"&&",必须两个操作数均为真,返回结果才为真,如果第一个操作数为假,那么后面的操作则不执行。

“||”,只要有一个操作数为真,则返回结果为真,若第一个操作数为真则后面的操作不执行。

(7)条件操作符

exp1 ? exp2 : exp3

“exp1”为判断语句,如果判断结果为真,则执行“exp2” ,如果判断结果为假,执行“exp3”。

(8)逗号表达式

exp1,exp2,exp3,...expN

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

(9)下标引用、函数调用和结构成员

“[ ]”即为下标引用操作,包含两个操作数分别为索引值和数组名。

“()”为函数调用符号,第一个操作数是函数名,剩余的操作数是传递给函数的参数。

“.”使用方法为“结构体.成员”,用于访问结构体中的成员。“->”的使用方法为“结构体指针->成员名”

三. 表达式求值
     表达式求值顺序一部分是由操作符优先级和结合性决定。但有些表达式的操作数在求值过程中可能需要转换成其他类型。
四.隐式类型转换
      C的整型算数计算总是至少以缺省整形类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换成普通整型,这种转换称为“整型提升”。
五.算术转换
     如果某个操作数属于不同类型,那么除非其中一个操作数转换成另外一个操作数的类型,否则操作无法执行。

六.操作符属性

   复杂表达式求值有三个影响的因素:

1.操作符的优先级

2.操作符的结合性

3.是否控制求值顺序

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值