找回密码
 立即注册
首页 资源区 代码 C语言-运算符(1)

C语言-运算符(1)

县挫伪 2025-5-29 14:13:16
算数运算符

+、 -、 *、 /、%、 ++、 --
其中++、--属于单目运算符,其他的五种属于双目运算符

  • 除法运算符的两端如果是整数的时候,得到的结果也是整数,当两个操作数无法被整除的时候,会舍弃小数部分,只保留整数,不会四舍五入;如果两个操作数有一个为浮点数,则结果也为浮点数,精度默认为6位精度
  • 取余运算符的两个操作对象必须是整数
  • *、/、%的优先级高于+、-
  • 运算符具有结合性,一种为左结合性,一种为右结合性
    注意:C语言中的单目运算符和三目运算符都遵循右结合性,双目运算符中的=也遵循右结合性,其他运算符遵循左结合性。
  • ++、--属于增量运算符,是单目运算符,只能在变量中使用,可以作为前缀增量和后缀增量
sizeof

sizeof是C语言中的一个操作符,可以计算数据类型的大小,以字节为单位,sizeof括号里的表达式不会实现运算和处理
  1. int a,b;
  2. char c;
  3. printf("%d",sizeof(a+b));        //4
  4. printf("%d",sizeof(a+c));        //4
复制代码
sizeof运算符中的表达式不会被计算,但是如果出现多个数据类型的大小计算,会涉及到基本数据类型转换
数据类型转换分为两种一种是自动转换,一种是强制类型转换
自动类型转换:是编译器自动进行的转换,不需要人为干预
强制类型转换:人为进行的转换
无论是强制类型转换还是自动类型转换,都是临时性的,转换结果会保存在临时的内存空间,不改变数据本来的类型或者值
位操作运算符

C语言中有6种运算符,、&、^、|、,其中是单目运算符
<ol>~按位取反,对于二进制来说,是将二进制数按位取反,例如 ~01100110 = 10011001
&按位与,对于二进制来说,是将两个二进制数按位与,同为1则为1,否则为0,例如:10001111&11001010=10001010
|按位或,对于二进制来说,是将两个二进制数按位或,同为0则为0,否则为1,例如:10001111|11001010=11001111
^按位异或,对于二进制来说,是将两个二进制数按位异或,相同为0,不同为1,例如:10001111 ^ 11001010=01000101
您需要登录后才可以回帖 登录 | 立即注册