C++基础表达式*(运算符与算数表达式)*
表达式是指由数据和运算符组成,按求值规则,表达一个值的式子。表达式可以很简单,例如,一个常数,一个常量或变量名,也可以很复杂,包含各种运算符,运算量等。
C++语言的表达式使用相当灵活,功能很强。按运算性质,表达式可以分为:算数,逻辑,赋值,条件和逗号表达式。
1 运算符
运算符是以简洁的方式表达对数据操作的符号。
一个复杂表达式会包含多个运算符。运算符之间的运算次序由运算符的优先级和结合性决定。运算符按优先级从高到低运算,带括号的内层优先。这些规则与习惯的数学规则一致。
****特殊:
三元运算符。C++语言只有一个三元运算符,就是条件运算符。表达式形式:
操作数1 ?操作数2:操作数3
例: a? b:c
2 算数表达式
①
基本算术运算符
+(加法运算符,或正值运算符)
-(减法运算符,或负值运算符)
-
(乘法运算符)
/(除法运算符)
%(求余运算符,%两侧均应为整型数据)
求a%b方法:
1.求整数商: c = a/b;
2.计算余数: r = a - c*b
5%2=1 5%3=2 10%5=0
求余运算在取c的值时,向0方向舍入;
求出的结果:
等于0,或者
*结果的绝对值=a的绝对值对b的绝对值求余,
*结果的符号与a的符号相同
-5%2 = -1 6%(-4)=2 (-6)%(-4)=-2
5.5%2 (×)
②
自增(++)和自减(–)运算符的作用是使变量的值增1或减1,
前置++i,–i(先执行i+1或i-1,再使用i值)
后置i++,i–(先使用i值,再执行i+1或i-1)
例:
i++;//结果等价于i=i+1;
++i;//结果等价于i=i+1;
例
③类型转换
在表达式中不同类型的数据会自动地转换类型进行运算。
还可以利用强制类型转换运算符将一个表达式转换成所
需类型。
强制类型转换的一般形式为
(类型名)(表达式)
例如:
(double)a(将a转换成double类型)
(int)(x+y)(将x+y的值转换成整型)
(float)(5%3)(将5%3的值转换成float型)如果要进行强制类型转换的对象是一个变量,该变量
可以不用括号括起来。
如果要进行强制类型转换的对象是一个包含多项的表
达式,则表达式应该用括号括起来。
例如x=3.6;y=4.2
(int)x+y与(int)(x+y)的区别
l在强制类型转换时,得到一个所需类型的中间变量,
但原来变量的类型未发生变化。