C语言入门第六篇,操作符

我们前面讲了变量,输入输出,下面我们来看一些操作符。

操作符都是用于操作变量的。我们先看几个简单的操作符。

算术操作符

算术操作符是我们最熟悉的,因为是数学上经常用到的操作符。
+ - * / %
上面这些就是算术操作符,从左到右分别是加,减,乘,除,取余。这里重点说一下取余。取余是在整数除法的时候取余数结果是整个算式的余数。如果不太清楚可以用下面的代码试试。就很明白什么是取余了,也顺便试试这几天学的东西都会了么。

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d%d",&a,&b);
    c=a%b;
    printf("a除以b的余数为%d\n",c);
    return 0;
}

移位操作符
<< >>

移位操作符多数用于无符号整数(当然也可以用于有符号的整数),首先我们必须清楚整数在编译器里面存储的是二进制,所以移位操作是在二进制里面进行的。a>>5表示往右移动5位。移动过后空白的位置都由零来补位。(有符号的整数再进行右移时,有两种,一种是逻辑移位,移出来的位置用0填充,另一种是算术移位,前面讲过最高位也就是左边第一位是代表符号的,符号位为1就用1填充,为0就用0填充)

位操作符

位操作其实是计算机组成原理里面的内容,符号如下:
& | ^
上面的分别是与(and)、或(or)、异或(xor),和上面类似这些符号操作的是二进制变量的,这些符号的计算规则如下:
位操作符

如果变量a的二进制值是00101110,变量b的二进制值是01011011。a&b的结果是00001010,a|b的结果是01111111,a^b的结果是011110101。

复合赋值符

复合赋值符号顾名思义是两个操作符组成的操作符。先举一个例子:+=这个符号,a+=1,表示a=a+1,上面所讲的所有符号都可以这样用。
+= -= /= *= %= >>= <<= &= |= ^=

单目操作符

单目操作符的意思是只接受一个操作数的操作符。
! ++ – & sizeof ~ *
下面我来解释一下上面的作用。
!对操作数进行逻辑反操作,真变为假,假变为真。
++ 对操作数进行自加一操作,例如a++,表示a自加1,但是这里要注意a++和++a是不一样的,a++是先用再自加,++a是先自加再用。试试下面这段代码就明白啦。

#include<stdio.h>
int main()
{
    int a,b;
    a=b=10;
    printf("a++=%d\n++b=%d\n",a++,++b);
    printf("%d\n",a);
    return 0;
}

–操作符是对操作符进行自减一操作,类似++操作符。

&取地址操作符号,不要和前面的位操作混淆了。这个操作符只有一个操作数,例如&a,表示取a的内存地址

sizeof是取变量的内存大小,以字节为单位,例如sizeof(a),表示变量a所占的字节数。

~表示对操作数进行求补操作,操作数的二进制表示方式的1变为0,0变为1。

关系操作符

关系操作符很简单,分别是:
> >= < <= != ==
上面的符号分别是大于,大于等于,小于,小于等于,不等于,等于。
前面都好理解这里说下为什么==代表等于,因为在c语言里面=是赋值符号,所以要判断变量a和变量b相不相等就只有用a==b。

逻辑操作符

逻辑操作只有两个&&和||,有点类似&和|,但是并不是位操作。&&表示两个表达式都必须为真才会返回真。例如 a==2&&b==3,||表示两个表达式只要有一个为真就返回真,例如a==2||b==3。关系操作符和逻辑操作符我们在后面讲会更仔细的讲。这里先了解这些操作符的作用。

条件操作符
条件操作符只有一个,这里直接举例:a>5?b:c,如果a>5的话,就取b,如果不是的话就取c。

上面就是C语言大部分的操作符了,很多人看到这里估计觉得好多东西要记,其实不用,这里的几乎所有的操作符号,我们后面都会用到,这里先给大家展示一下这些符号的用处,后面再来加深印象。

总结
这篇介绍了C语言里面大多数的操作符,全部是对变量进行操作的。其中移位和位操作在单片机用的较多逻辑操作和条件操作在条件判断中用的较多,我们会在后面慢慢体会到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值