一、赋值运算符:变量=表达式;
二、算术运算符:
1、+ 加或取正值运算符
2、- 减或取负值运算符
3、* 乘运算符
4、/ 除运算符
(1)、如果相同的两个整数相除,那么结果为整数。
(2)、如果相同的两个浮点数相除,那么结果为浮点数。
5、% 取余运算符
(1)、取余的运算符要求参加的两个数必须为整数,运算结果为他们的余数。例如5%3=2。
三、关系运算符:
1、 > 大于 < 小于
>= 大于等于 <= 小于等于
== 等于 != 不等于
2、关系运算符主要是比较两个数的大小,用关系运算符将两个表达式子连接起来,形成的式子。我们称为关系表达式。那么关系表达式通常是用来做判断的条件构成分支或者循环的程序。那么它的格式是这种:表达式 1 关系运算符 表达式 2。那么通过关系运算符将表达式1和2进行连接,那么关系运算符是一个逻辑量,也就是1和0。要么就是1,要么就是0。或者是真、假。 也就是说你通过关系运算符得出的结果,只有一个结果。
四、逻辑运算符:
1、|| 逻辑或 条件式 1 || 条件式 2
&&逻辑与 条件式1 && 条件式 2
!逻辑非 !条件式
2、关系运算符用来反映两个表达式之间的大小关系,而逻辑运算符用来求常见式的一个逻辑值,用逻辑运算符将关系表达式或者逻辑量连接起来的式子就是逻辑表达式。
(1)、那么我们看一下逻辑与的格式:条件式1 && 条件式2,如果条件式1为真,我们就判断一下条件式2,如果条件式2也为真,那么,它的结果就是真的。如果条件式1为假,那么我们后面就不用判断了,这个结果就是假的。这是逻辑与的一个特点。
(2)、接下来,我们看一下逻辑或,逻辑或与或运算是类似的,首先我们判断一下条件式1,如果条件式1为真,那么结果就为真。如果条件式1为假,那我们再看一下条件式 2,如果条件式2为假,那结果就为假,如果条件式2为真,那么该结果就为真。
(3)、最后我们看一下逻辑非,其实和我们的非运算是一样的,在条件式前面加一个非(!)。
3、例如:若a=8,b=3,c=0,则!a为假,a&&b为真,b&&c为假。
五、位运算:
1、& 按位与 |按位或
^按位异或 ~按位取反
<<左移 >>右移
2、位运算C51语言里面,能够对运算对象按位进行操作,它与汇编语言使用的是一样方面的,位运算是按位对这个变量进行运算,但并不改变参与运算的值,如果要求按位改变变量的值,只要利用相应的赋值运算, C51中,它的一个位运算,只能对整型数据操作,不能对浮点型数据操作,这个要注意,那我们看一下这个位运算。
3、例:设a=0x45=01010100B,b=0x3b=00111011B,则a&b、a|b、a^b、~a、a<<2,b>>2分别为多少?
a&b=0x10 a|b=0x7F a^b=0x6F a<<2=0x50
六、复合值运算符:
+= 加法赋值 -= 减法赋值 *=乘法赋值
/= 除法赋值 %= 取模赋值 &=逻辑与赋值
|= 逻辑或赋值 ^=逻辑异或赋值 ~=逻辑非赋值
>>=右移位赋值 <<=左移位赋值
变量 复合运算赋值符 表达式
例如:a+=6 相当于a=a+6; a*=5相当于a=a*5;
b&=0x55 相当于b=b&0x55; x>>=2相当于x=x>>2。
七、逗号运算符:
1、表达式1,表达式2,……,表达式n
2、例如:x=(a=3,6*3)结果x的值为18.
八、条件运算符:
1、逻辑表达式?表达式 1:表达式 2
2、例如:条件表达式max=(a>b)?a:b的执行结果是将a和b中较大的数赋值给变量max。
九、指针与地址运算符:
*指针运算符 &取地址运算符
1、例如:指针变量p中的地址为2000H,则*p所访问的是地址为2000H的存储单元,x=*p,实现把地址为2000H的存储单元的内容送给变量x。
2、例如:设变量x的内容为12H,地址为2000H,则&x的值为2000H,如有一指针变量p,则通常用p=&x,实现将x变量的地址送给指针变量p,指针变量p指向变量x,以后可以通过*p访问变量x。