- 学习C,自然而然的得认识操作符,小结一下。。。。(一些详细操作使用后面补充)
1.算数操作符
常用算数操作符有:+ - * / %
(1)除%操作符外,其余操作符既适用于浮点类型又适用于整数类型。
(2)%为取模操作符,它接受两个整型操作数,其返回值不是商而是余数。
(3)对于/操作符,如果两个操作符都是整数,执行整数除法;而只要有浮点数执行的就是浮点数除法
2.移位操作符
(1)左移位操作符:<<
值最左边的几位被丢弃,右边多出来的几个空位由0补齐。
(2)右移位操作符:>>
一是逻辑移位,左边移入地位用0补充
二是算术移位,右边移入位由原先该值的符号位决定,符号位为1移入位均为1,符号位为0移入位均为0。
3.位操作符(二进制)
(1) & 按位与
& 是二元操作符,参加运算的两个数据按二进制数位进行“与”(AND)运算。
原则:全1才1,有0则0。
应用:将某些位清零、检测某一位的值
(2) | 按位或
| 是二元操作符,参加运算的两个数据按二进制数位进行“或”(OR)运算。
原则:全0才0,有1则1。
应用:将某些位置1
(3) ^ 按位异或
^ 是二元操作符,参加运算的两个数据按二进制数位进行“异或”(XOR)运算。
原则:两个位相同时为0,两个位不同时为1。如1100B^1001B=0101B
应用:将某些位翻转、交换两个变量的值
4.赋值操作符
(1)一般赋值操作符:=,允许出现表达式的地方都允许出现赋值
(2)复合赋值符:+= -= *= /= %= <<= >>= &= ^= |=
5.单目操作符
(1) !操作符:对操作数执行逻辑反操作。
(2) ~操作符:对整型类型的操作数进行求补操作。
(3) -操作符:产生操作数的负值。
(4) +操作符:产生操作数的正值。
(5) &操作符:产生它的操作数的地址。
(6) *操作符:是间接访问操作符,与指针一起使用,用于访问指针所指向的值。
(7) sizeof操作符:判断它的操作数的类型长度。
(8) (类型)操作符:被称为强制类型转换,用于显式的把表达式的值转换为另外的类型。
(9) ++、--操作符:都有两个类型,分别为前缀形式和后缀形式,两个操作符的任一变种都需要一个变量而不是表达式作为它的操作数。
6.关系操作符
> >= < <= != ==
大于 大于等于 小于 小于等于 不相等 相等
7.逻辑操作符
(1) &&操作符的左操作数总是先进行求值,若值为真,紧接着对右操作符进行求值,若值为假,右操作符不在求值。
(2) || 操作符的左操作数总是先进行求值,若值为真,右操作符不在求值。
8.条件操作符
条件操作符接受三个操作数。用法如下:
expression1 ? expression2 : expression3
首先计算的是expression1,如果它的值为真(非零值),那么整个表达式的值就是expression2的值,expression3不会进行求值。但是,如果expression1的值是假(零值),那么整个条件语句的值就是expression3的值,expression2不会进行求值。
9.逗号操作符
用法如下:expression1,expression2,...... ,expressionN
逗号操作符将两个或多个表达式分隔开来。这些表达式自左向右逐个进行求值,整个逗号表达式的值就是最后那个表达式的值。
10.下标引用、函数调用和结构成员
(1) [] 下标引用操作符接受两个操作数:一个数组名和一个索引值。
int arr[10];//创建数组
arr[9] = 10;//实用下标引用操作符
[]的两个操作数是arr和9
(2) () 函数调用操作符接受一个或多个操作数。
(3) . 和 -> 操作符用于访问一个结构的成员。
结构体 . 成员名
结构体 -> 成员名