c语言中运算符分类
C语言中的运算符可以归纳为下列5类:算术运算符、关系运算符、赋值运算符、逻辑运算符和条件运算符。<br>1.算术运算符有+、-、*、/、%。<br>分别表示算术加、减、乘、除和取余运算。<br>这些运算符需要两个运算对象,称双目运算符。除取余(%)运算符外,这些运算符的运算对象可以是整型,也可以是实型数据。取余运算的运算对象只能是整型。取余运算的结果是两数相除后所得的余数。<br>″+″和″-″也可以用做单目运算符,但作为单目运算符时必须出现在运算量的左边,运算量可为整型,也可以为实型。<br>C语言中还提供两个特殊的单目运算符:++和--,这两个运算符既可以放在运算对象之前,又可以放在运算对象之后。<br>在C语言中,凡是按C语言语法规则用常量、变量、函数调用以及运算符把运算数连接起来的式子都是合法的表达式。凡表达式都有一个值,即运算结果。<br>2.在算术表达式中,C语言提供6种关系运算符:<br>,=,==,!=。前四种运算符(,=)的优先级相同,后两种的优先级也相同,并且前四种的优先级高于后两种。关系运算符属于双目运算符,其结合方向为自左至右。<br>用关系运算符可以将两个表达式(包括算术表达式、关系表达式、逻辑表达式、赋值表达式和字符表达式)连接起来构成关系表达式。<br>关系运算的结果是1或0。在C语言中没有逻辑值,用0代表″假″,用1代表″真″。<br>3.逻辑运算符<br>C语言提供三种逻辑运算符:&&(逻辑与)、‖(逻辑或)、!(逻辑非)。其中前两种为双目运算符,第三种是单目运算符。<br>关系运算符中的&&和‖运算符的优先级相同,!运算符的优先级高于前两个。<br>用逻辑运算符将关系表达式或任意数据类型(除void外)的数据连接起来就构成了逻辑表达式。逻辑表达式的值是0或1。<br>4.赋值运算符<br>在C语言中,″=″称为赋值运算符。
一、赋值运算符与赋值表达式<br>赋值符号“=“就是赋值运算符,作用是将一个数据赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符组成的`表达式称为赋值表达式。一般形式为:<br>变量名=表达式<br>在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋值的那个数据。<br>例:a=12;此表达式读作“将10的值赋值给变量a”。<br>说明:<br>a、如果赋值号两边的运算对象类型不一致,系统会自动进行类型转换,转换的规则:将赋值号右边表达式的值的类型转换成赋值号左边变量的类型,<br>例:inty=3.5;在变量y中最终存储的是整数3。<br>b、可以将复制表达式的值再赋值给变量,形成连续赋值。<br>例如:x=y=25是一个连续赋值表达式,x=y=25等价于x=(y=25),所以表达式x=y=25最终的值为25。<br>二、复合的赋值运算符<br>在赋值运算符之前加上其他运算符可以构成复合赋值运算符。其中与算术运算有关的复合运算符是:+=,—=,x=,/=,%=。<br>两个符号之间不可以有空格,复合赋值运算符的优先级与赋值运算符的相同。表达式n+=1等价于n=n+1,作用是取变量n中的值增1再赋给变量n,其他复合的赋值运算符的运算规则依次类推。<br>如求表达a+=a—=axa的值,其中a的初值为12。<br>步骤:<br>(1)先进行“a—=axa“运算,相当于a=a—axa=12—144=—132。<br>(2)再进行“a+=—132“运算,相当于a=a+(—132)=—132—132=—264。