C语言中的操作符(详)

来源:互联网 发布:matlab 数据拟合 编辑:程序博客网 时间:2024/06/08 05:56

学习C语言,会用到很多的操作符,而这些操作符又有非常多的用法,下面将一些常见的操作符进行整理和解释!


操作符:

  算数操作符 
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员


常见操作符具体的用法

算术操作符


+     -     *     /     %

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

2.对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。

3.%操作符的两个操作数必须为整数。返回的整除之后的余数。


移位操作符


<<  左移操作符

>> 右移操作符


  左移操作符

移位规则:

左边抛弃、右边补0(计算机中是以二进制存储东西的,当左移时,二进制整体向右移,最左边的以为被遗弃,右边自动补0)


右移操作符

移位规则:


首先右移运算分两种:

1、算术移位

      左边用0填充,右边丢弃

2、逻辑移位

      左边用原该值的符号位填充,右边丢弃

注意:对于移位操作符,不要移动负数位,这个是标准为定义的。



位操作符:

&    //按位与

| //按位或

^ //按位异或

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



赋值操作符


赋值操作符是一个很棒的操作符,他可以让你得到一个你之前不满意的值。也就是你可以给自己重新赋值。


(赋值操作符可以连接使用)



复合赋值符:

+=  、  -=   、   *=   、   /=   、   %=   、   >>=   、   <<=   、   &=   、   ^=

这些运算符都可以写成复合的效果。



单目操作符

!    逻辑反操作

- 负值

+ 正值(用的不多)

& 取地址

sizeof 操作数的类型长度(以字节为单位)  写一个数组长度时可以写  sizeof(arr)/sizeof(arr[0])-1

~ 对一个数的二进制按位取反

- -  前置、后置- -

++ 前置、后置++

* 间接访问操作符(解决应用操作符)

      (类型)   前置转换类型

// 前置++和--

//++a  (先对a进行自增,然后对使用a,也就是表达式的值是a自增之后的值。x为11)

//- -a (先对a进行自减,然后对使用a,也就是表达式的值是a自减之后的值。x为10)

 

//后置++和--

//a++  (先对a先使用,在增加,这样x的值是10;之后a变成11)

//a- -   (先对a先使用,再自减,这样的y的值是11;之后a变成10)



关系操作符

>= <  <=   !=   ==

注意:在编程的过程中不要把=和==写错了



逻辑运算符

&& 逻辑与

 |  | 逻辑或

注意:不要将逻辑与(或)和按位与(或)混淆了



条件操作符

exp1 ? exp2 : exp3   判断exp1的真假,若为真执行exp2,若为假执行exp3



逗号表达式


exp1,exp2,exp3,……expN

逗号表达式,就是用逗号隔开的多个表达式。

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



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

1、[ ] 操作数:一个数组名+一个索引值

2、( ) 函数调用操作符

3、.结构体.成员名

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






这些就是C语言中的操作符的介绍和用法!


1 0