C语言中的操作符总结
2018-03-29 15:16
471 查看
c语言中的操作符:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。
1. 算数操作符:+-*%
1) 除了%操作符之外,其他的几个操作符均可以作用于整数和浮点数。
2) 对于 / 操作符,如果两个操作数都为整数,执行整数除法;而只要有浮点数执行的就是浮点数除法。
3) %操作符的两个操作数必须为整数,返回的是整除之后的余数。
2. 移位操作符:<<左移位操作符和>>右移位操作符(针对二进制位、是对整数的操作)
1) 左移位操作符移位规则:左边丢弃、右边补零。
2) 右移位操作符移位规则:(1) 算数移位:左边补符号位、右边丢弃。
(2) 逻辑移位:左边补0,右边丢弃。
3. 位操作符:& 按位与 | 按位或 ^按位异或(操作数都必须是整数,是针对二进制数的操作)
4. 赋值操作符: =可以重新为变量赋值(赋值操作符是可以连续使用的,从右向左执行,不建议使用)。
5. 复合赋值符:+= =*= /= %= >>= <<= &= |= ^=
6. 单目操作符:!逻辑反操作(真---假)
& 取地址从内存中取地址,不能从寄存器register中取地址。sizeof操作数的类型长度(以字节为单位)
~ 一个数的二进制按位取反
--前置、 后置--、 ++前置、 后置++ (1)前置++和--:先自增后使用,表达式的值是自增之后的值。先自减后使用,表 达式的值是自减之后的值。(2)后置++和--:先试用在自加。先试用后自减。
* 间接访问操作符(解引用操作符)
(类型)强制类型转换
7. 关系操作符:> >= < <= !=不等 == 相等(==相等 = 赋值)
8. 逻辑操作符:&&逻辑与 || 逻辑或 (逻辑与、逻辑或是判断真假的,按位与、按位或是对二进制数进行操作的。)
9. 条件操作符(三目操作符):exp?exp2:exp3 先计算表达式1的值,如果表达式1为真,返回表达式2,如果为假,返回表达式3的值。
10. 逗号表达式:exp1,exp2,……expN 从左向右依次执行,整个表达式的结果是最后一个表达式的结果。
11. 下标引用、函数调用和结构成员
1) [ ] 操作数:一个数组名 + 一个索引值
2) ()函数调用操作符 (接受一个或多个操作数:第一个操作数是函数名,剩余的操作数是传递给函数的参数。)
3) 访问一个结构的成员:结构体 . 成员名
1. 算数操作符:+-*%
1) 除了%操作符之外,其他的几个操作符均可以作用于整数和浮点数。
2) 对于 / 操作符,如果两个操作数都为整数,执行整数除法;而只要有浮点数执行的就是浮点数除法。
3) %操作符的两个操作数必须为整数,返回的是整除之后的余数。
2. 移位操作符:<<左移位操作符和>>右移位操作符(针对二进制位、是对整数的操作)
1) 左移位操作符移位规则:左边丢弃、右边补零。
2) 右移位操作符移位规则:(1) 算数移位:左边补符号位、右边丢弃。
(2) 逻辑移位:左边补0,右边丢弃。
3. 位操作符:& 按位与 | 按位或 ^按位异或(操作数都必须是整数,是针对二进制数的操作)
4. 赋值操作符: =可以重新为变量赋值(赋值操作符是可以连续使用的,从右向左执行,不建议使用)。
5. 复合赋值符:+= =*= /= %= >>= <<= &= |= ^=
6. 单目操作符:!逻辑反操作(真---假)
& 取地址从内存中取地址,不能从寄存器register中取地址。sizeof操作数的类型长度(以字节为单位)
~ 一个数的二进制按位取反
--前置、 后置--、 ++前置、 后置++ (1)前置++和--:先自增后使用,表达式的值是自增之后的值。先自减后使用,表 达式的值是自减之后的值。(2)后置++和--:先试用在自加。先试用后自减。
* 间接访问操作符(解引用操作符)
(类型)强制类型转换
7. 关系操作符:> >= < <= !=不等 == 相等(==相等 = 赋值)
8. 逻辑操作符:&&逻辑与 || 逻辑或 (逻辑与、逻辑或是判断真假的,按位与、按位或是对二进制数进行操作的。)
9. 条件操作符(三目操作符):exp?exp2:exp3 先计算表达式1的值,如果表达式1为真,返回表达式2,如果为假,返回表达式3的值。
10. 逗号表达式:exp1,exp2,……expN 从左向右依次执行,整个表达式的结果是最后一个表达式的结果。
11. 下标引用、函数调用和结构成员
1) [ ] 操作数:一个数组名 + 一个索引值
2) ()函数调用操作符 (接受一个或多个操作数:第一个操作数是函数名,剩余的操作数是传递给函数的参数。)
3) 访问一个结构的成员:结构体 . 成员名