运算符就是具有运算功能的符号。C++语言中有丰富的运算符,其中有很多都是从C语言继承下来的,它新增的运算符有作用域运算符(::),成员指针运算符(->)。和C语言一样,根据使用运算符的对象个数,C++语言中可以将运算符分为单目运算符、双目运算符和三目运算符。根据使用运算符的对象之间的关系,可以将运算符分为算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、移位运算符、sizeof 运算符、条件运算符和逗号运算符。
算术运算主要是指常用的加(+)、减(-)、乘(*)、除(/)四则运算符,以及模运算(%)和自增加运算(++)、自减少(--),算术运算符中有单目运算符和双目运算符。算术运算符及其功能如表2.8所示。
说明expr表示使用运算符的对象,可以是表达式、变量和常量。
1)+是加法运算符,可以进行两个对象的加法运算,例如:1+1表示两个常量相加;i+1表示变量和常量相加;x+y表示两个变量相加;+100表示有符号的常量,强调常量是正数。2)-是减法运算符,可以进行两个对象的减法运算,例如:1-1表示两个常量相减;j-1表
示变量和常量相减;x-y表示两个变量相减;-100表示有符号的常量,强调常量是一个负值。3)是乘法运算符,可以进行两个对象的乘法运算,例如:23表示两个常量相乘。4)/是除法运算符,可以对两个对象进行除法运算,例如:2/3表示两个常量相除。/运算
符左侧的是被除数,也称分子;/运算符右侧的是除数,也称为分母。在进行除法运算时,除数或分母不可以为0,若为0,则会产生溢出,处理器抛出异常。例
如:2/0是不合法运算;而0/2是合法运算,计算结果是0。两个整型数值进行除法运算时返回的结果可能是一个小数,小数点后的数值会被舍去。5)%是模运算符,求两个整型的数值或变量在进行除法运算后的余数。例如:5/2表示两
个常量进行求模运算,计算结果是1。
6)++是自加运算符,属于单目运算符。有++expr和expr++两种形式,++expr表示expr自身加1后再进行其他运算;expr++表示expr先参加完其他运算后再进行自身加1,expr只能是变量。例如:i++表示i自增1后再参与其他运算;++i表示i参与运算后,i的值再自增;1++不合法。
7)--是自减运算符,属于单目运算符。有--expr和expr--两种形式,--expr表示expr自身减1后再进行其他运算;expr--表示expr先参加完其他运算后再进行自身减1,expr只能是变量。例如:i--表示i自减1后再参与其他运算;--i表示i参与运算后,i的值再自减;1--不合法。
关系运算主要是对两个对象进行比较,运算结果是逻辑常量真或假。关系运算符及其功能如表2.9所示。
1)<用于比较两个对象的大小,前者小于后者,运算结果为真。例如:a进行比较,如果变量a的值小于变量b的值,运算结果为真;2<1的运算结果为假。
2)>用于比较两个对象的大小,前者大于后者,运算结果为真。例如:a>b表示两个变量进行比较,如果变量a的值大于变量b的值,运算结果为真;2>1的运算结果为真。
3)>=用于比较两个对象的大小,前者大于或等于后者,运算结果为真。例如:3>=2的运算结果为真;2>=2的运算结果为真。
4)<=用于比较两个对象的大小,前者小于或等于后者,运算结果为真。例如:1<=2的运算结果为真。
5)==用于对两个对象进行判断,前者恒等于后者,运算结果为真。例如:a==b表示两个
变量进行比较,如果变量a的值恒等于变量b的值,运算结果为真。6)!=用于对两个对象进行判断,前者不等于后者,运算结果为真。例如:a!=b 表示两个变量进行比较,如果变量a的值不等于变量b的值,运算结果为真。关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在6个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,== 和!=的优先级相同。
相关资源:Python编程入门经典