C语言运算符
C语言提供了丰富的运算符,用于执行各种数学和逻辑操作。运算符可以分为几个类别:
1. **算术运算符**:
- `+`(加法):两个数相加。
- `-`(减法):从一个数中减去另一个数。
- `*`(乘法):两个数相乘。
- `/`(除法):一个数除以另一个数。
- `%`(取模):返回除法的余数。
2. **关系运算符**:
- `==`(等于):检查两个操作数是否相等。
- `!=`(不等于):检查两个操作数是否不相等。
- `<`(小于):检查左操作数是否小于右操作数。
- `>`(大于):检查左操作数是否大于右操作数。
- `<=`(小于等于):检查左操作数是否小于或等于右操作数。
- `>=`(大于等于):检查左操作数是否大于或等于右操作数。
3. **逻辑运算符**:
- `&&`(逻辑与):如果两个操作数都为真,则结果为真。
- `||`(逻辑或):如果至少有一个操作数为真,则结果为真。
- `!`(逻辑非):反转操作数的逻辑状态。
4. **赋值运算符**:
- `=`(赋值):将右操作数的值赋给左操作数。
- `+=`(加后赋值):将左操作数和右操作数相加,然后将结果赋给左操作数。
- `-=`(减后赋值):从左操作数中减去右操作数,然后将结果赋给左操作数。
- `*=`(乘后赋值):将左操作数和右操作数相乘,然后将结果赋给左操作数。
- `/=`(除后赋值):将左操作数除以右操作数,然后将结果赋给左操作数。
- `%=`(取模后赋值):将左操作数除以右操作数的余数赋给左操作数。
5. **位运算符**:
- `&`(按位与):对两个操作数的每一位进行与操作。
- `|`(按位或):对两个操作数的每一位进行或操作。
- `^`(按位异或):对两个操作数的每一位进行异或操作。
- `~`(按位取反):反转操作数的每一位。
- `<<`(左移):将操作数的位向左移动指定的位数。
- `>>`(右移):将操作数的位向右移动指定的位数。
6. **增量运算符**:
- `++`(增量):增加操作数的值。
- `--`(减量):减少操作数的值。
7. **其他运算符**:
- `sizeof()`(大小):返回操作数的大小(以字节为单位)。
- `&`(地址):返回操作数的地址。
- `*`(间接访问/解引用):访问指针指向的地址的值。
8. **三元运算符**:
- `? :`(条件):基于条件表达式的值,返回两个值中的一个。
运算符的优先级决定了它们在表达式中的计算顺序。例如,乘法和除法的优先级高于加法和减法,而逻辑非的优先级高于逻辑与和逻辑或。括号可以用来改变运算符的优先级,使括号内的表达式先于其他运算符计算。