码迷,mamicode.com
首页 > 编程语言 > 详细

C语言操作符

时间:2020-07-16 00:28:17      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:用法   ++   补充   存储   其他   table   从右到左   关系   左移   

C语言的操作符分为:算术操作符、移位操作符、位操作符、赋值、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号操作符、下标引用、函数调用和结构成员等,在这简单介绍下这几种操作符。

1、算术操作符:+、- 、* 、/、%

其中‘%’只接受两个整型操作数,其返回的值是余数而不是商。除了‘%’,其他的操作符既适用于浮点型又适用于整数类型。当‘/’操作符的两个操作数都是整数时,他执行整数运算,在其他情况下执行浮点数除法。

2、移位操作符:简单的把一个值的位向左或向右移动。

  • 在左移位中,最左边的几位被丢弃,右边多出的几个空位由0补齐。左移位操作符为:<<
1 0 0 1 0 1 1 1

 

向左移3位  逻辑移位

1 0 1 1 1 0 0 0

 

向左移3位 算术移位

1 0 1 1 1 0 0 0

 

 

  • 右操作符存在一个左操作符不曾面临的问题。从左边移入新位时,有两种选择方案:逻辑移位(左边移入新位全用0补充)、算术移位(左边移入的位由原先该值的符号位决定,符号位位1则移入的位均为1,符号位为0则移入的位均为0)。右移位操作符为:>>。
1 1 0 1 0 0 1 1

 

 向右移3位  逻辑移位

0 0 0 1 1 0 1 0

 

向右移3位 算术移位

1 1 1 1 1 0 1 0

 

 

移位操作符的左操作数的值将移动由右操作数指定的位数,两个操作数必须为整数。如:6<<4,6表示的二进制数向左移动4位。

 

 

0 1 1 0 1 0 1 1

 

向右移3位  逻辑移位

0 0 0 0 1 1 0 1

 

向右移3位 算术移位

0 0 0 0 1 1 0 1

 

 

 

3、位操作符:对他们的操作数的各位执行AND、OR、XOR等逻辑操作

  AND(&):两个位数都是1,结果为1,否则为0;

  OR(|):两个位都是0,结果为0,否则为1;

  XOR(^):两个位上的数不同结果为1,否则为0。

他们要求的操作数为整数类型。

如:

 

&(与操作符) 0 1
0 0 0
1 0 1
|(或操作符) 0 1
0 0 1
1 1 1
^(异操作符) 0 1
0 0 1
1 1 0

  

 

 

 

4、赋值:把右操作数的值存储于左操数;赋值操作符的求值顺序是从右到左。

如:a=b=c+2 等同于 a=(b=c+2)

复合赋值符:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=

上面的复合操作符运算类似于’+=‘操作符。如a+=2等同于a=a+2,a<<=2等同于a=a<<2;

5、单目操作符:只接受一个操作数。它们是:

!:逻辑反操作,操作数为真,结果为0,操作数为假,结果为1;如 :!7=0。

~:对整型类的操作数进行求补操作,操作数中原先为1的为变为0;原先为0的变为。

&:产生它操作数的地址。如  int a,*b;  b=&a;  &操作符取a的地址赋值给指针变量b。

* :间接访问操作符,与指针一起使用,用于访问指针所指向得值。如上面一行的代码,表达式b的值是变量a的地址,但表达式*b的值则是变量a得值

sizeof:判断它操作数的类型长度。

(类型):强制类型转换符,用于显示的把一种类型转换为另外一种类型。如:

 int a;

(float)a;

把整型变量a转换为浮点型。

+、-:产生操作数的正负值

++、--:操作数的值被增加或减少1。

6、关系操作符:>, >=, <, <=, !=, ==

关系操作符的值是整数,而不是布尔值,他可以赋值给整型变量,通常用于if或while语句中,作为测值表达式

7、逻辑操作符:&&,||

&&操作符的优先级较低,&&操作符总是首先进行左操作数求值,如果值为真,然后紧接着对右操作数进行求值。如果左操作数求值为假,就不再进行右操作数。||操作符也是先求左操作数,如果为真就不进行右操作符求值。

8、条件操作符:条件操作符接受三个参数;用法如下:

表达式1?表达式2:表达式3

首先计算表达式1的值,为真整个表达式的值为表达式2的值,不计算表达式3的值;为假则为表达式3的值,不计算表达式2的值

9、逗号操作符:用于将两个或多个表达式分隔开来,这些表达式自左向右求值,整个逗号的表达式的值为最后那个表达式的值。用法:

表达式1,表达式2,表达式3,.......表达式n

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

下标引用:常用于数组、指针

函数操作符接受一个或多个操作数,第一个操作数是你希望调用的函数名,剩余的操作数是传递给函数的参数

结构成员: . 和 -> 用于访问一个结构的成员。如果是个结构变量,那么s.a就是访问结构s中名叫a的成员。当遇到一个指向结构的指针,访问他的成员需要用 ->

C语言操作符

标签:用法   ++   补充   存储   其他   table   从右到左   关系   左移   

原文地址:https://www.cnblogs.com/wqaz-0-1-2-3/p/13308336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!