初识C之五花八门的操作符1
Posted zsQgqdsd1002
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识C之五花八门的操作符1相关的知识,希望对你有一定的参考价值。
前言
在C语言中,有很多语句有着特殊的功能以及作用,那么有一些符号也一样和语句一样起着重要的作用,我们把这些有作用的符号叫做操作符,今天就让我们一起来认识一下C语言中的一些操作符。
一、操作符?
操作符(也叫运算符)——它们是一些表示特定的数学或逻辑操作的符号。操作符的种类繁多,大体可以分为11类:
名称 | 符号 |
---|---|
算术操作符 | + - * % / |
移位操作符 | << >> |
位操作符 | & l ^ |
赋值操作符 | = |
单目操作符 | ! - + & sizeof ~ – ++ * (强传类型) |
关系操作符 | > >= < <= != == |
逻辑操作符 | && ll |
条件操作符 | exp1 ? exp2 : exp3 |
逗号表达式 | exp1,exp2,exp3,…expN |
下标引用操作符 | [ ] |
今天我们来介绍一下前四种操作符以及其作用
二、初窥门径
1.算术操作符
+ — * / %
+为加法操作符
-为减法操作符
*为乘法操作符
/为除法操作符
%为取余数操作符
这些代表了数学里的加减乘除在计算机里的实现
值得一提的是 %只可以应用在整形变量之间的运算,不能用来运算浮点数,它的返回值是整除之后剩下的余数
2.移位操作符
<< >>
<< 为左移操作符
a >> b的意思就是把a向左移b位
我们假设一个二进制数为0000 0001,那么a << 1操作得到的就是0000 0010,一言以蔽之就是左边不要了,右边补个0
>>是右移操作符
a >> b的意思就是把a向右移b位
右移操作符在对数据进行操作时需要注意,右移操作符不同与左移操作符的地方在于右移操作符是不要右边了,但是左边需要补的不一定是0,而是根据数据的类型来补充符号位,正数补0,负数则需要补1
在使用移位操作符的时候切记不能移动负数位,那样的结果是未定义的,也就是说什么结果都可能有
3.位操作符
& | ^
我们知道数据在计算机中的存储都是二进制的,位操作符就是建立在这个基础之上的:
&代表按位与
比较两个数的所有二进制数位,相同则为1,不同则为0
|代表按位或
两个数字的对应位都是0才为0,否则就为1
^代表按位异或
两个数字的对应位不同则为1.否则为0
需要注意的是,位操作符只能应用于整数
4.赋值操作符
=
赋值操作符就是=,它的作用是对一个数据进行重新赋值,比如说:
#include<stdio.h>
int main()
{
int a = 10;
a = 20;
printf("%d", a);
return 0;
}
可以看到我们用到了两次赋值操作符,第一次把10这个值赋给了变量a,在后面又把20这个值赋给了变量a,程序的输出结果也一定是20
但是赋值操作符可不止这一种用法,其衍生出了很多其他意义的赋值操作符,也就是我们下面要说的符合赋值操作符:
+= -= *= /= %= <<= >>= &= |= ^=
+=
a += b就代表的是a = a + b;
-=
a -= b就代表的是a = a - b;
*=
a *= b就代表的是a = a * b;
/=
a /= b就代表的是a = a / b;
%=
a %= b就代表的是a = a % b;
<<=
a <<= b就代表的是a = a << b;
>>=
a >>= b就代表的是a = a >> b;
&=
a &= b就代表的是a = a & b;
|=
a |= b就代表的是a = a | b;
^=
a ^= b就代表的是a = a ^ b;
都是非常的通俗易懂,在这我们就不多赘述了
总结
以上就是本次我对四种操作符的认识与介绍,希望可以给大家带来帮助,如果有错误的或者可以改正的地方,欢迎大佬联系我。
以上是关于初识C之五花八门的操作符1的主要内容,如果未能解决你的问题,请参考以下文章