C语言对数据有很强的表达能力,具有十分丰富的运算符。以下为C51中常用的运算符。
1.赋值运算符
C51的赋值运算符为=,它的作用是将运算符右边的数据或表达式的值赋给运算符左边一个变量。赋值表达式的格式为
变量=表达式
2.算术运算符
C51的算术运算符有以下5种。
+:加或取正运算符。
-:减或取负运算符。
*:乘运算符。
/:除运算符。
%:取余运算符。
算术表达式的格式为
表达式1 算术运算符 表达式2
例如:a+b/10、x*5+y。
算术运算符的优先级由高到低依次为-(取负)→*(乘)、/(除)、%(取余)→+(加)、-(减)。
若要改变运算符的优先级,可采用圆括号实现。例如:(a+b)/10。
3.增量和减量运算符
C51的增量和减量运算符如下。
++:增量运算符。
--:减量运算符
例如:
4.关系运算符
C51的关系运算符有以下6种。
>:大于运算符。
<:小于运算符。
>=:大于或等于运算符。
<=:小于或等于运算符。
==:等于运算符。
!=:不等于运算符。
前4种关系运算符的优先级相同,后两种关系运算符的优先级也相同但比前4种低。
关系表达式的格式为
表达式1 关系运算符 表达式2
例如:x+y>=8,(a+1)!=c。
5.逻辑运算符
C51的逻辑运算符有以下3种。
&&:逻辑与。
‖:逻辑或。(www.xing528.com)
!:逻辑非。
逻辑表达式的格式如下。
逻辑与、逻辑或的表达式为
条件式1 逻辑运算符 条件式2
逻辑非的表达式为
!条件式
逻辑运算符的优先级由高到低依次为!(逻辑非)→&&(逻辑与)→‖(逻辑或)。
例如:x&&y、!c。
6.位运算符
C51的位运算符有以下6种。
~:按位取反。
<:左移。
>:右移。
&:按位与。
^:按位异或。
:按位或。
位运算符的优先级由高到低依次为~(按位取反)→<(左移)、>(右移)→&(按位与)→^(按位异或)→(按位或)。
位运算符中的左移和右移操作与汇编语言中的移位操作不同。汇编语言中的移位是循环移位,而C51中的移位会将移出的位值丢弃,补位时补入0(若是有符号数的负数右移,则补入符号位1)。例如:a=0x8f,进行左移运算a<2时,全部的二进制位值一起向左移动了两位,最左端的两位被丢弃,并在最右端两位补入0。因此,移位后a=0x3c。
7.复合赋值运算符
在赋值运算符=的前面加上其他运算符,就构成了复合赋值运算符,如+=、-=、*=、/=、%=、<=、>=、&=、|=、^=、~=等。
复合赋值运算首先对变量进行某种运算,再将运算结果赋值给变量。
复合赋值运算的格式为
变量 复合赋值运算符 表达式
例如:a+=5相当于a=a+5。
8.条件运算符
条件运算符的格式如下。
逻辑表达式?表达式1:表达式2
其功能是首先计算逻辑表达式,当值为真(非0)时,将表达式1的值作为整个条件表达式的值;当值为假(0)时,将表达式2的值作为整个条件表达式的值。
例如,max=(a>b)?a∶b的执行结果是比较a与b的大小,若a>b,则为真,max=a;若a<b,则为假,max=b。
C51的指针和地址运算符如下。
*:取内容运算符。
&:取地址运算符。
取内容和取地址的运算格式为
例如:
以上就是C51中的各种常用运算符及其基本用法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。