算数运算符
+、 -、 *、 /、%、 ++、 —
其中++、–属于单目运算符,其他的五种属于双目运算符
- 除法运算符的两端如果是整数的时候,得到的结果也是整数,当两个操作数无法被整除的时候,会舍弃小数部分,只保留整数,不会四舍五入;如果两个操作数有一个为浮点数,则结果也为浮点数,精度默认为6位精度
- 取余运算符的两个操作对象必须是整数
- *、/、%的优先级高于+、-
- 运算符具有结合性,一种为左结合性,一种为右结合性
注意:C语言中的单目运算符和三目运算符都遵循右结合性,双目运算符中的=也遵循右结合性,其他运算符遵循左结合性。 - ++、–属于增量运算符,是单目运算符,只能在变量中使用,可以作为前缀增量和后缀增量
sizeof
sizeof是C语言中的一个操作符,可以计算数据类型的大小,以字节为单位,sizeof括号里的表达式不会实现运算和处理
int a,b;char c;printf("%d",sizeof(a+b)); //4printf("%d",sizeof(a+c)); //4int a,b; char c; printf("%d",sizeof(a+b)); //4 printf("%d",sizeof(a+c)); //4int a,b; char c; printf("%d",sizeof(a+b)); //4 printf("%d",sizeof(a+c)); //4
sizeof运算符中的表达式不会被计算,但是如果出现多个数据类型的大小计算,会涉及到基本数据类型转换
数据类型转换分为两种一种是自动转换,一种是强制类型转换
自动类型转换:是编译器自动进行的转换,不需要人为干预
强制类型转换:人为进行的转换
无论是强制类型转换还是自动类型转换,都是临时性的,转换结果会保存在临时的内存空间,不改变数据本来的类型或者值
位操作运算符
C语言中有6种运算符,、&、^、|、<<、>>,其中是单目运算符
- ~按位取反,对于二进制来说,是将二进制数按位取反,例如 ~01100110 = 10011001
- &按位与,对于二进制来说,是将两个二进制数按位与,同为1则为1,否则为0,例如:10001111&11001010=10001010
- |按位或,对于二进制来说,是将两个二进制数按位或,同为0则为0,否则为1,例如:10001111|11001010=11001111
- ^按位异或,对于二进制来说,是将两个二进制数按位异或,相同为0,不同为1,例如:10001111 ^ 11001010=01000101
- <<按位左移,高位舍弃,低位补0 01111010<<3=11010000
-
按位右移,低位舍弃,高位补0 01111010 >>3 = 00001111
来源链接:https://www.cnblogs.com/lradian/p/18821042
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容