C语言-运算符

守听  论坛元老 | 2025-4-11 18:27:25 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 2080|帖子 2080|积分 6240

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
算数运算符

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

  • 除法运算符的两端假如是整数的时候,得到的结果也是整数,当两个操作数无法被整除的时候,会舍弃小数部门,只保留整数,不会四舍五入;假如两个操作数有一个为浮点数,则结果也为浮点数,精度默认为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
继续阅读请点击广告
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表