运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言的运算范围很宽,把除了控制语句和输入/输出以外几乎所有的基本操作都作为运算符处理。
无论是加减乘除还是大于、小于,都需要用到运算符,C语言中的运算符和平时用的运算符基本上都差不多。运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符、条件运算符、逗号运算符等等。
大多数运算符都是二目运算符,即运算符位于两个表达式之间。
单目运算符的意思是运算符作用于单个表达式‘
目录
(一)赋值运算符
赋值语句的作用是把某个常量、变量、或表达式的值赋给另一个变量,符号为“=”。这里并不是等于的意思,只是赋值,等于用“==”表示。
赋值语句左边的变量在程序的其他地方必须要声明。
赋值语句中,变量在左边,值在右边。
赋值语句左边不允许存在表达式。
(二)算术运算符
在C语言中有两个单目和五个双目运算符。
单目:
- +正
- -负
双目:
- *乘法
- /除法
- %取模 : 用于计算两个整数相除所得的余数。
- +加法
- -减法
运算符有顺序问题,先算乘除再算加减,单目正和单目负最先运算。
强制类型转换
(三)逻辑运算符
逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。
符号功能:&&逻辑与,||逻辑或,!逻辑非。
需要注意的一点是,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。
这算是一个错误,相当于python中的短路求值的错误,应该避免。
(四)关系运算符
关系运算符是对两个表达式进行比较,各关系返回一个真/假值。
需要注意的是等于(==)和赋值(=)的区别。
(五)自增自减运算符
自增运算符(++)和自减运算符(--)对变量的操作结果是增加1和减少1。
(六)复合赋值运算符
复合赋值运算符实际上是一种缩写形式,使得对变量的改变更为简洁。比如
a = a + 3
a +=3
(七)条件运算符
条件运算符(:)是C语言中唯一的一个三目运算符看,它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。