C语言初阶——操作符详解(上)

目录

前言

1,算术操作符

2,移位操作符

左移操作符

 右移操作符

 3,位操作符


前言

        我们知道C语言有很多操作符,操作符的应用很多小伙伴觉得很简单,但是出现这个东西一定有其中的奥妙,现在跟随小编一起来看看吧!


1,算术操作符

+        -        *        /        %

 加减乘除想必大家都不陌生,那小编就在这里讲一下/和%这两个操作符吧,‘/’在C语言中其实就是取商的意思,商是多少就是多少;‘%’在C语言中就是取余的意思,就是每次的余数,很好理解吧,但是我们还是在代码中来看看吧。

int main ()
{
    int a =10;
    int b = a/3; //取商-这里的结果就是3
    int c = a%3; //取余-这里的结果就是1
    return 0;
}

注意:

1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。
2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。

2,移位操作符

>> 右移操作符

<< 左移操作符

 注意:这里有一个前提条件,移位操作符的操作数只能是整数

左移操作符

移位规则:左边抛弃,右边补0

想必聪明的你已经理解了,但是这里我们还是画个图给大家具体看一下吧。

 右移操作符

移位规则:

首先右移运算分为两种:

1,逻辑移位

        左边用0填充,右边丢弃

2,算术移位

        左边用原该值的符号位填充,右边丢弃

 

 注意:对于移位运算符,不要移动负数位,这个是标准未定义的

 例如:

int main ()
{
    int num =10;
    num>>-1;//报错
    return 0;
}

 

 3,位操作符

 &   =     按位与

 |    =    按位或

^    =    按位异或

int main ()
{
    int i=5;
    int j=7;
    int k;
    k =i&j;
    printf("%d",k)//结果=5
    return 0
}

5的二进制 = 0101

7的二进制 = 0111

按位与过后的二进制 = 0101

因为:

真和真即为真

真和假即为假

假和假即为假

 

int main ()
{
    int i =3;
    int j =5;
    int k;
    k = i| j;
    printf("%d",k);//结果=7

    return 0;
}

3的二进制 = 0011

5的二进制 = 0101

按位或的二进制 = 0111

因为:

真和真即为真

真和假即为真

假和假即为假

int main ()
{    
    int i =5;
    int j =7;
    int k;
    k = i^j;
    printf("%d",k)//结果=2

    renturn 0;
}

 5的二进制 = 0101

7的二进制 = 0111

按位异或的二进制 = 0010

因为:

相同为0,不同为1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值