关于C语言的操作符

首先操作符有以下这么几种:

  1. 算术操作符
  2. 移位操作符
  3. 位操作符
  4. 赋值操作符
  5. 单目操作符
  6. 关系操作符
  7. 逻辑操作符
  8. 条件操作符
  9. 逗号表达式
  10. 下标引⽤
  11. 函数调用
  12. 结构成员

1.算术操作符
+ - * / %
注意
1.%操作符的两个操作数必须为整数。返回的是整除之后的余数。
2. 除了了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
3. 对于/操作符,如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。

2.移位操作符
“<<” 左移操作符:左边抛弃、右边补0
“>>” 右移操作符:
右移运算分两种:
(1). 逻辑移位
左边用0填充,右边丢弃
(2). 算术移位
左边用原该值的符号位填充,右边丢弃
注意
移位运算符,不要移动负数位!

3.位操作符
& //按位与
| //按位或
^ //按位异或
注:操作数必须是整数。

4.赋值操作符
可以给变量重新赋值。
复合赋值符
“+=”
“-=”
“*=”
“/=”
“%=”
“>>=”
“<<=”
“&=”
“|=”
等等…

5.单目操作符
! ————逻辑反操作
- ————负值
+ ————正值
& ————取地址
sizeof ——操作数的类型长度(以字节为单位)
~ ————对一个数的二进制按位取反
————前置、后置–
++ ————前置、后置++
* ————间接访问操作符(解引用操作符)
(类型) ——强制类型转换

sizeof 可以求变量类型所占空间的大小。
注意分清楚++a和a++的区别。
注意=和==的区别。

6.关系操作符
“>”
“>=”
“<”
“<=”
“!=” —— 不相等
“==” ——相等

7.逻辑操作符
&&————逻辑与
|| ————逻辑或
注意
1.对于&&,如果前面条件为假,那后面的运算就不用算了,跳过。
2.对于||,如果前面条件为真,那后面的运算就不用算了,跳过。
3.分清楚按位与和逻辑与;按位或和逻辑或。

8.条件操作符
exp1 ? exp2 : exp3
例子:x>2?1:0 判断前者,满足为1,不满足为0。

9.逗号表达式
从左向右依次计算,最后一个表达式赋值。
举例:int c = (a>b, a=b+10, a, b=a+1);

10.下标引⽤、函数调用和结构成员
1.[ ] 操作数:一个数组名 + 一个索引值
2.() 函数调用操作符:接受一个或多个操作数,第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.结构体
. 结构体.成员名
-> 结构体指针->成员名
这里写图片描述

11.隐式类型转换
C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升

12.算术转换
如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类型,否则操作就无法进行。下面的层次体系称为算术转换。
long double
double
float
unsigned long int
long int
unsigned int
int

13.操作符的属性
复杂表达式的求值有三个影响的因素。
1. 操作符的优先级
2. 操作符的结合性
3. 是否控制求值顺序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值