• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gddzkw
博客园    首页    新随笔    联系   管理    订阅  订阅
操作符详解

1、算术操作符(+、-、*、/、%)

%:两边的类型必须为整数

/:double、flout中除数与被除数之间有一个浮点数即可

+、-、*、/:两边的类型可以不一样

2、移位操作符(<<左移  >>右移)

逻辑右移:右移后左边添0

算术右移:右移后左边添加的位与以原数的符号位相同

在C语言中,左移右移对于无符号数(unsigned)都数逻辑的。对于负数,就要执行算术的。

然而数据在内存中都是以补码的形式储存。

+0: 00000000 00000000 00000000 00000000

-0:100000000 00000000 00000000 00000000

加1后就会溢出一个进位

 

@对于移位操作符,不要尝试去移动负数位,因为标准未定义。

 

 

 

 

 

 

因此得到:左移×2,右移÷2

3、位操作符(&、|、^)

主要针对二进制数之间的比较

4、逻辑操作符(&&、||)【存在短路现象】

在C语言中,称非0的数为真,0为假。

逻辑与:第一个表达式为0时,则为假,不在往后进行

逻辑或:第一个表达式为真时,则为真,不在往后进行

 

 5、条件表达式(三目运算符)

(表达式)?(表达式):(表达式)

6、逗号表达式

就是用逗号隔开的多个表达式,逗号表达式,从左向右依次进行,整个表达式的结果是最后一个表达式的结果

 

 7、访问结构体成员(结构体类型:struct stu)

 

posted on 2021-09-22 12:34  又菜又爱玩丶  阅读(363)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3