C语言操作符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都为操作符处理。除了常见的三大类,算术操作符,关系操作符与逻辑操作符符之外,还有一些用于完成特殊任务的运算符,比如位算符。
(资料图片仅供参考)
+ , - , *, /, %
6 / 5.0 或 6.0 / 5 或6.0 / 5.0 —— 结果为浮点数
其中直接写5.0 ,6.0 数据类型为double
总结:如果想要相除结果为小数,则,除数或者被除数需要有一个为浮点数。
%操作数的两个操作数必须为整数,返回的是整除后的余数。
除%操作符外,其余的操作符可以作用于整数和浮点数
<< >>
规则:左边丢弃,右边补零
规则:算术右移——右边丢弃,左边补原符号位(正-0,负-1)
逻辑右移——右边丢弃,左边补零
正整数的反码 == 补码 == 源码
注意事项:左右移不改变原数值
& ,| , ^
按二进制位—有零则零
按二进制位—有一则一
按二进制位—相同为零,相异为一
a ^ a == 0
a ^ 0 == a
注:他们的操作数必须是整数
例题:不使用第三个变量,交换两个变量的值
=,+=,-=,*=,/=,<<=,>>=,%=
简单赋值:=
复合赋值:+=,-=,*=,/=,<<=,>>=,%=
注意事项:= - 赋值 ,== - 判断相等
!(逻辑反操作),-(负值),+(正值),&(取地址),sizeof(操作数类型长度,单位:字节), ~(按位取反),--(前置,后置--),++(前置,后置++),*(解引用操作符,间接访问操作符),(类型)(强制类型转换)
注意事项:sizeof括号中的表达式不参与运算 !
按位取反(~),包括符号位也取反
> ,>=, <, <= ,!= ,==
警告:警惕在编程的过程中==和=不小心写错,出现的错误
比较两个字符串,不能使用“==”
&& (逻辑与),||(逻辑或)
注意:需要区分&(按位与)和&&,|(按位或)和||的区别
exp ? exp1 : exp2
exp:条件
exp1:真—执行
exp2:假—执行
exp1,exp2,exp3,......expN
逗号表达式,用逗号隔开的表达式,从左到右一次执行,整个表达式的结果是最后一个表达式的结果。
操作数:有两个,一个数组名+一个索引值
操作数:函数名+参数,(因为参数不固定,所以操作数的数量不固定)
1、“ . ”结构体变量名.成员名
2、“->”结构体指针->成员名
表达式求值的顺序一部分由操作符 的优先级和结合性决定。
有些表达式的操作数在求值的过程中可能需要转换为其他类型。
复杂表达式的求值有三个影响的因素。
1.操作符的优先级
2操作符的结合性
3.是否控制求值顺序。
两个相邻的操作符先执行哪个?取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。
制作不易,喜欢就点赞收藏吧!!!持续更新中~~~