运算符和表达式

  • Post author:
  • Post category:其他




C




语言以运算符丰富著称



1.可按不同角度对运算符分类



按操作数个数



单目运算符:









a



双目运算符:




a




+




b



三目运算符:




a




?




b




:




c


按功能


算术运算符:




+



















*









++



关系运算符:




>









>=









==



逻辑运算符:




&&









||













2.表达式的相关概念



表达式




就是用运算符把操作数连接起来、符合




C




语法规则的式子,如




a+8*b



获得表达式的运算结果的过程称为




求解表达式



表达式的运算结果称为




表达式的值



表达式的值的数据类型称为




表达式的类型



每个表达式都有自己的值和类型

3.


基本的算术运算符








+









加法运算符




a+b













减法运算符




a-b



*









乘法运算符




a*b



/









除法运算符




a/b



%









求余运算符




a%b



+









正号运算符




(




单目运算符




)  +a













负号运算符




(




单目运算符




)  -a



说明






Ø


两个整数相除的结果为整数

u







5/3




的结果值为1,舍去小数部分

u







除数或被除数中有一个为负值














-5/3




)则商可能会因系统而异。一些




系统




-5/3=-1




,另一些




系统




-5/3=-2

u


VC6.0




采取









向零




靠拢









的方法




(




-5/3=-1)

Ø


%




运算符要求操作数




必须




为整数,结果也是整数。如




8%3




,结果为




2



4.自增、自减运算符









++






Ø


用法:




int




i




=3;        ++




i




i




++








i




i






Ø


作用









使变量




i




的值









1或减1



⑴自增运算符单独使用时

u


++




i









先使




i




的值增




1




,再把




i




的值做为表达式的值

u


i




++




:先把




i




的值做为表达式的值














使




i




的值增




1








在有其它运算符的场合

u


5*(++




i




)









先使




i




的值增




1




,再用




i




的值参与其他运算

u


5*(




i




++)




:先用




i




的值参与其他运算














使




i




的值增




1



5.算术表达式和运算符的优先级与结合性






Ø


用算术运算符和括号将操作数连接起来的、符合C语法规则的式子,称为




算术表达式



10+7/5-15

Ø


C语言规定了运算符的优先级









结合性

u


优先级规定了运算符的计算顺序

u


结合性规定了同优先级的运算符的计算顺序

6.


不同类型数据间的混合运算






(1)


+



















*









/




运算中有一个




操作




数为




float









double




型,结果是




double














系统将




float




型数据都先转换为




double




型,然后进行运算








(2)




如果




int




型与




float









double




型数据进行运算,先把




int




型和




float




型数据转换为




double




型,然后进行运算,结果是




double













(3)




字符型数据与整型数据进行运算,就是把字符的




ASCII




代码与整型数据进行运算






7.


强制类型转换运算符

Ø


强制类型转换运算符









一般形式为



(




类型名




)




(




表达式




)

u


(




int




) (




x+y




)




(将




x+y




的值转换成




int




型)

u


(float)(5%3)




(将




5%3




的值转换成




float




型)

u


(




int




)a














a




的值,并将其




转换成




i




nt




类型)

Ø


有两种类型转换

u


系统自动进行的类型转换

u


强制类型转换



8.C语言运算符



(1)




算术运算符









+ – * / % ++ —








(2)




关系运算符




(> < == >= <= !=)



(3)




逻辑运算符




(!&&




||








(4)




位运算符









<< >> ~ |




∧ &)



(5)




赋值运算符




(=及其扩展赋值运算符)



(6)




条件运算符




(?:)



(7)




逗号运算符









,)



(8)




指针运算符









*




和&)



(9)




求字节数运算符









sizeof








(10)




强制类型转换运算符









(




类型




)








(11)




成员运算符









.->








(12)




下标运算符




([




])



(13)




其他




(如函数调用运算符())



版权声明:本文为Intentions_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。