文章目录
运算符与表达式
1 常用的运算符
求解问题的基本操作是运算。
通过C++语言丰富的运算符及其表达式构成实现算法的基本步骤, 在不同程序结构的控制下有机地组织在一起形成程序。
相关概念
- 运算对象的数目 :单目运算符、双目运算符、三目运算符
- 运算符的优先级 :同一个式子中不同的运算符进行计算时,其运算次序存在先后之分,称为 运算符的优先级。
- 运算符的结合性 :在一个式子中如果有两个以上同一优先级的运算符,其运算次序是按运算 符的结合性来处理的。C++语言运算符分为左结合(方向)和右结合(方向)。比如a=b=c是自右向左结合
(1)算术运算符
(2)自增自减运算符
(3)关系运算符
(4)逻辑运算符
在给出一个逻辑运算或关系运算结果时,以”0”
代表“假”,以“1”
代表“真”,在判断一个量为真假时,以“0”
代表“假”,以“非 0”
代表“真”。
C++在逻辑表达式求解时,并不一定是所有的运算都被执行,当刚开始求解或求解的中途就可以确定整个逻辑表达式的值时,其余的运算将不再进行。
比如:0&&任何
都为假的,任何
就不执行了
(5) 赋值运算符
(6) 条件运算符
(7)逗号运算符
整个逗号表达式的值为最后一个执行的表达式
的值。
2 表达式
由运算符和运算对象组成的式子称为表达式。
(1)表达式的运算对象可以是常量、变量、函数调用和嵌套的表 达式等。
(2)表达式的计算是按步骤执行的,称为表达式求值顺序。
(3)表达式的运算需要考虑参与运算的数据对象是否具有合法的 数据类型以及是否需要进行类型转换。
(4)每个表达式的结果除了确定的值之外,还有确定的数据类型
3 类型转换
C++表达式是否合法,以及合法表达式的含义,都是由运算对象的数据类型决定的。
不同类型的数据混合运算时需要进行类型转换(conversion),即 将不同类型的数据转换成相同类型的数据后再进行计算。
类型转换有两种:
显式类型转换和隐式类型转换
3.1 显示类型转换
只是改变变量存储的数据的类型,不改变变量类型。
3.2 隐式类型转换
隐式类型转换(implicit type conversion)又称自动类型转换,它是 由编译器自动进行的。
赋值运算中的隐式类型转换
(1)将浮点型数据赋给整型变量时,舍弃浮点数的小数部分。
如:int n=6.18
; n
的值为6
。
(2)将整型数据赋给浮点型变量时,数值不变,但以浮点数形式存 储到变量中。
如:double f=78; 将78按78.0处理。
(3)将double
型数据赋给float
变量时,截取前面7位有效数字存储 到float
变量。将float
型数据赋给double
变量时,数值不变,有效数 字扩展到16位。
C++程序设计-西北工业大学-魏英、姜学锋、刘君瑞