C语言运算符

  • 格式:xls
  • 大小:25.00 KB
  • 文档页数:4

优先级名称符号基本表达式说明
0括号( )
(子表达式1)

操作对象[子表达式1]
操作对象为数组

操作对象[子表达式1]
操作对象为指针

2函数调用( )
操作对象(表达式列表)

操作对象为函数

.
操作对象.成员

操作对象为结构

体或联合体

->
操作对象 -> 成员

操作对象为指向
结构体或联合体
的指针
后自增
++
操作对象++

后自减
--
操作对象--

前自增
++
++操作对象

前自减
--
--操作对象

取地址&&操作对象操作对象任意
取指针指向的元素**操作对象操作对象为指针
正号
+
+子表达式1

负号
-
-子表达式1

按位取反
~
~子表达式1

逻辑非
!
!子表达式1

sizeof(类型名)
9
强制转换

(
类型


)

(类型名)子表达式1

乘法
*
子表达式1 * 子表达式2

子表达式结果应

为整数或浮点

除法
/
子表达式1 / 子表达式2

子表达式结果应
为整数或浮点;
子表达式2不能为0取余%子表达式1 % 子表达式2两表达式的结果必须是整数;子表达式2不能为0加法+子表达式1 + 子表达式2减法-子表达式1 - 子表达式2按位左移<< 子表达式1 << 子表达式2按位右移>> 子表达式1 >> 子表达式2判断小于< 子表达式1 < 子表达式2判断大于> 子表达式1 > 子表达式2判断小于或等于<=子表达式1 <= 子表达式2判断大于或等于>=子表达式1 >= 子表达式21数组下标[ ]4操作对象为除函数外的所有基本类型5操作对象为除函数外的所有基本类型3结构体和联合体成员67子表达式结果应为整数或浮点子表达式结果应为整数可以写成sizeof子表达式110

8取长度sizeof
sizeof(子表达式1)

11
子表达式结果应
为整数或浮点

12
子表达式结果应
为整数

13
子表达式结果应
为整数或浮点
判断等于
==
子表达式1 == 子表达式2

判断不等于
!=
子表达式1 != 子表达式2

15按位和&
子表达式1 & 子表达式2

子表达式结果应

为整数

16按位异或^
子表达式1 ^ 子表达式2

子表达式结果应

为整数

17按位同或|
子表达式1 | 子表达式2

子表达式结果应

为整数

18逻辑和&&
子表达式1 && 子表达式2

子表达式结果应

为整数

19逻辑或||
子表达式1 || 子表达式2

子表达式结果应

为整数

20简单赋值=
操作对象=子表达式1操作对象类型应与子表达式1类型

相同

复合赋值,乘
*=
操作对象*=子表达式1

复合赋值,除
/=
操作对象/=子表达式1

复合赋值,取余
&=
操作对象%=子表达式1

复合赋值,加
+=
操作对象+=子表达式1

复合赋值,减
-=
操作对象-=子表达式1

复合赋值,左移
<<=
操作对象<<=子表达式1

复合赋值,右移
>>=
操作对象>>=子表达式1

复合赋值,和
&=
操作对象&=子表达式1

复合赋值,异或
^=
操作对象^=子表达式1

复合赋值,或
|==
操作对象|=子表达式1

22逗号,
子表达式1,子表达式2,表达式3,…

21
除复合加减可以
对指针操作外,
其余的,操作对
象为整数,子表
达式1为整数

14
子表达式结果应
为整数或浮点
表达式结果副作用(不讨论子表达式)示例

子表达式1的值

(5+j)/(2+k)

指定的元素
(*(操作对象+(子表达式1)))
函数的返回值无
puts(“word\n”)
sock.sa_family

sock_ptr -> sa_family将操作对象加1index++将操作对象减1num--操作对象的值+1将操作对象加1++t操作对象的值-1将操作对象减1--i操作对象的地址&sock指针指向的元素*sock_ptr子表达式1的值+5子表达式1的负值-(3+i)子表达式1按位取反后的值~0若子表达式1为非0值,则结果为0;若子表达式1为0,则结果为1!isizeof(t)sizeof t类型的长度(字节)sizeof(unsigned int)将子表达式1的值强制转换为指定类型后的结果无(int)3.1416两表达式结果相乘的结果5*i子表达式1除以子表达式2的结果(4*i)/5子表达式1除以子表达式2的余数18%7两表达式相加的结果10258+12343子表达式1减子表达式2的结果i-1子表达式1按位左移子表达式2次的结果i<<2子表达式1按位右移子表达式2次的结果16>>1无操作对象的值a[5]指定的成员无



子表达式1结果的类型的长度(字
节)

若成立,结果为1;若不成立,结果
为0



i<5
i==100
i!=100子表达式1与子表达式2按位做和运算的结果无i&4294967295子表达式1与子表达式2按位做异或运算的结果无ch^254子表达式1与子表达式2按位做同或运算的结果无ch|1只有表达式全为非0时结果才为1,否则为0无(i<100)&&( i>9)只有表达式全为1是结果才为1,否则为0无(i<100)||( i>199)子表达式1的值将操作对象值改变为子表达式1的值i=pow(2,8)将操作对象的值与子表达式1的值相乘,并将结果重新赋给操作对象t *= 5将操作对象的值与子表达式1的值相除,并将结果重新赋给操作对象t /= i + 3类似类似类似类似类似类似类似类似最后一个表达式的值无子表达式1的值若成立,结果为1;若不成立,结果为0