DIY编程器网
标题:
单片机C语言教程-运算符和表达式
[打印本页]
作者:
liyf
时间:
2011-4-29 08:55
标题:
单片机C语言教程-运算符和表达式
单片机C语言教程-运算符和表达式
单片机C语言教程-运算符和表达式
运算符的种类、优先级和结合性
c语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使c语言功能十分完善。这也是c语言的主要特点之一。
c语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语言的运算符所没有的,因此也增加了c语言的复杂性。
运算符的种类c语言的运算符可分为以下几类:
1.算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(=)、小于等于(>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,p,i+1-->i,i+1-->i,i+1-->i
j+1->j,j+1->j,j+1->j,j+j+j->q int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
这个程序中,对p=(i++)+(i++)+(i++)应理解为三个i相加,故p值为15。然后i再自增1三次相当于加3故i的最后值为8。而对于q的值则不然,q=(++j)+(++j)+(++j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8。算术表达式表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。表达式求值按运算符的优先级和结合性规定的顺序进行。单个的常量、变量、函数可以看作是表达式的特例。
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2