C++程序设计与案例分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.8 算术运算符和算术表达式

1. 算术运算符

C++中基本的算术运算符包括:

(1)+(加法运算符、或正值运算符,如10+8、+6);

(2)−(减法运算符、或负值运算符,如10−8、−6);

(3)*(乘法运算符,如10*8);

(4)/(除法运算符,如10/8);

(5)%(模运算符,或称求余运算符,如10%8)。

其中,正值运算符(+)和负值运算符(−)为一元运算符,右结合性,其余的为二元运算符,左结合性。算术运算符的优先级与在数学中是一致的,即先乘除,后加减,同级运算自左向右进行。模运算符(%)只能用于整型操作数,优先级与除法运算符(/)相同。

需要说明,两个整数相除的结果为整数,如8/3的结果是2,舍去小数部分。但是,如果操作数中有一个为负数,则舍入的方向是不固定的,与具体的编译系统有关,使用的时候要注意。

2. 算术表达式

用算术运算符和括号将运算对象(也称操作数)连接起来、符合 C++语法规则的式子,称为 C++算术表达式。运算对象包括常量、变量、函数等。例如,下面是一个合法的C++语言算术表达式:

          a*b/c+1.8 −d

在表达式求值时,按照运算符的优先级和结合性进行处理。上例先算“*”,再算“/”,然后算“+”,最后算“−”,得到表达式的最终结果。如果一个运算符两侧的数据类型不同,则会先自动进行类型转换,使二者具有相同的数据类型,然后进行计算。