C语言运算符号指的是运算符号。C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
中文名
C语言运算符号
外文名
C language operation symbol
种类数
10种
注意事项
运算符号的优先级
总个数
34 种
种类
算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。
逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
条件运算符
这是一个三目运算符,用于条件求值(?:)。
逗号运算符
用于把若干表达式组合成一个表达式(,)。
指针运算符
用于取内容(*)和取地址(&)二种运算。
求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
特殊运算符
有括号(),下标[],成员(→,.)等几种。
运算符号的优先级
1、优先级1级
结合方向 左结合(自左至右)
( ) 圆括号
[ ] [1] 下标运算符
-> 指向结构体成员运算符
. 结构体成员运算符[1] (请注意它是一个实心圆点)
2、优先级2级
结合方向 右结合(自右至左)单目运算符
! 逻辑非运算符
~ 按位取反运算符
++ 自增运算符
-- 自减运算符
- 负号运算符
(类型) 类型转换运算符
* 指针运算符
& 地址与运算符
sizeof 长度运算符
3、优先级3级
结合方向 左结合 双目运算符
* 乘法运算符
/ 除法运算符
% 取余运算符
4、优先级4级
结合方向 左结合 双目运算符
+ 加法运算符
- 减法运算符
5、优先级5级
结合方向 左结合 双目运算符
<< 左移运算符
>> 右移运算符
6、优先级6级
结合方向 左结合 双目运算符
<、<=、>、>= 关系运算符
7、优先级7级
结合方向 左结合 双目运算符
== 等于运算符 (判断)
!= 不等于运算符(判断)
8、优先级8级
结合方向 左结合 双目运算符
& 按位与运算符
9、优先级9级
结合方向 左结合 双目运算符
^ 按位异或运算符
10、优先级10级
结合方向 左结合 双目运算符
| 按位或运算符 举例:0xfe|0xef 即为1111 1110 与1110 1111按位或运算则答案为:1111 1111 即0xff。
11、优先级11级
结合方向 左结合 双目运算符
&& 逻辑与运算符
12、优先级12级
结合方向 左结合 双目运算符
|| 逻辑或运算符
13、优先级13级
结合方向 右结合 三目运算符
? : 条件运算符
14、优先级14级
结合方向 右结合 双目运算符
= 赋值运算符
+ = 加后赋值运算符 如s+=1表示s=s+1
- = 减后赋值运算符 如s-=1表示s=s-1
* = 乘后赋值运算符
/ = 除后赋值运算符
% = 取模后赋值运算符
< <= 左移后赋值运算符
>>=右移后赋值运算符
&= 按位与后赋值运算符
^=按位异或后赋值运算符
|= 按位或后赋值运算符
15、优先级15级
结合方向 左结合
, 逗号运算符
C语言发展
现代计算机编程领域当中的 C语言自出现到发展成熟经历了较长的一段时间, 也经历了一次次的发展变革。C语言最初是从BCPL计算机语言中衍生而来,早在 1937 年,剑桥大学的一位研究人员利用当时现有的知识对 CPL计算机语言进行了简化, 这样就出现了性能更为优越的 BCPL计算机语言。人类对于新型技术的追求从未止步,即使 BCPL计算机语言在当时已经较为优秀,但人们还是在不断地对其进行优化,于是在 1970 年,在美国的贝尔实验室,研究人员再一次对 BCPL计算机语言进行了优化, 并成功的以 BCPL作为基础语言,研究出了计算机 B语言,这一研究成果让人类和计算机之间的沟通更近了一步,也有助于计算机编程领域的发展。在1972年,美国的贝尔实验室再一次对计算机语言进行了优化,并且在这次优化当中,以计算机 B语言作为基础,创造出了一种新型的计算机语言, 并在对这种新型计算机语言进行分析的时候以 BCPL语言的第二个字母进行了命名,这也就成为了现代计算机编程领域使用频率较高的计算机 C语言,并在不断运用中得以完善。为了推广 UNIX操作系统,1977年 DennisM.Ritchie发表了不依赖于具体机器系统的 C语言编译文本《可移植的 C语言编译程序》。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。ANSI于1983年夏天,在 CBEMA的领导下建立了 X3J11 委员会,目的是产生一个 C标准。X3J11在 1989年末提出了一个他们的报告[ANSI89],后来这个标准被 ISO接受为 ISO/IEC9899- 1990。1990 年,国际标准化组织 ISO(International Organization for Standards)接受了 89ANSIC为 ISOC的标准(ISO9899- 1990)。1994 年,ISO修订了 C语言的标准。1995 年,ISO对 C90 做了一些修订,“1995 基准增补 1(ISO/IEC/9899/AMD1:1995)”。1999 年,ISO又对C语言标准进行了修订,在基本保留原来 C语言特征的基础上,针对应该的需要,增加了一些功能,尤其是对 C++ 中的一些功能,命名为ISO/IEC9899:1999。[2]