初识C语言-操作符(1)

操作符详解(1)

本文将介绍各类操作符以及使用,通过多篇文章来详解各类操作符

1.操作符的分类

(1)算术操作符
(2)移位操作符
(3)位操作符
(4)赋值操作符
(5)单目操作符
(6)关系操作符
(7)逻辑操作符
(8)条件操作符
(9)逗号表达式
(10)下标引用、函数调用和结构成员

2.算数操作符

+ - * / %
如上面所示,加减乘除模运算是常见的算数操作符,其中也需要注意几点
1.除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。

2.对于 / 操作符如果两个操作数都为整数,执行整数除法。 而只要有浮点数执行的就是浮点数除法。如图1所示

3.% 操作符的两个操作数必须为整数。返回的是整除之后的余数。

在这里插入图片描述

图1 除法的使用

3.移位操作符

3.1 左移操作符

左移操作符:左边溢出的数字被抛弃,右边末尾补0
在这里插入图片描述
在这里插入图片描述3.2右移操作符
右移分为两种:分别是逻辑右移和算数右移
1.逻辑移位左边用0补充,右边溢出的数字丢弃
2. 算术移位左边用原来值的符号位填充,右边溢出数字丢弃
注意:对于移位运算符,不要移动负数位,这个是标准未定义的。

在VS2019中,右移使用算术右移
在这里插入图片描述

	整数在内存中是以二进制补码的形式存储的
	a = -1  ,
	-1的原码是:10000000000000000000000000000001
	-1的补码是:11111111111111111111111111111111
	算数右移(左边用原来值的符号位填充,右边溢出数字丢弃):  11111111111111111111111111111111
	右移后看符号位为1,是负数,补码取反+1是原码,所以是:10000000000000000000000000000001
	等于 -1

4.位操作符

在这里插入图片描述
&:

一道面试题:不能创建临时变量(第三个变量),实现两个数的交换。
在这里插入图片描述

在这里插入图片描述
编写代码实现:求一个整数存储在内存中的二进制中1的个数。

1<<i是把1左移i位,每次左移以为就是乘以2,所以1<<i的结果是1乘以2的i次方
i<<1就是把i左移一位,即i乘以2,假如i=5,最后结果就是5*2=10

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值