文章目录


运算符与表达式

1 常用的运算符

求解问题的基本操作是运算。

通过C++语言丰富的运算符及其表达式构成实现算法的基本步骤, 在不同程序结构的控制下有机地组织在一起形成程序。

相关概念

  • 运算对象的数目 :单目运算符、双目运算符、三目运算符
  • 运算符的优先级 :同一个式子中不同的运算符进行计算时,其运算次序存在先后之分,称为 运算符的优先级。
  • 运算符的结合性 :在一个式子中如果有两个以上同一优先级的运算符,其运算次序是按运算 符的结合性来处理的。C++语言运算符分为左结合(方向)和右结合(方向)。比如a=b=c是自右向左结合

(1)算术运算符

【C++】(四)运算符与表达式_开发语言

(2)自增自减运算符

【C++】(四)运算符与表达式_后端_02

(3)关系运算符

【C++】(四)运算符与表达式_后端_03

(4)逻辑运算符

【C++】(四)运算符与表达式_后端_04

在给出一个逻辑运算或关系运算结果时,以​​”0”​​​代表“假”,以​​“1”​​​ 代表“真”,在判断一个量为真假时,以​​“0”​​​代表“假”,以​​“非 0”​​代表“真”。

C++在逻辑表达式求解时,并不一定是所有的运算都被执行,当刚开始求解或求解的中途就可以确定整个逻辑表达式的值时,其余的运算将不再进行。

比如:0&&​​任何​​​ 都为假的,​​任何​​就不执行了

【C++】(四)运算符与表达式_类型转换_05

(5) 赋值运算符

【C++】(四)运算符与表达式_c++_06

(6) 条件运算符

【C++】(四)运算符与表达式_类型转换_07

(7)逗号运算符

【C++】(四)运算符与表达式_运算符_08

整个逗号表达式的值为​​最后一个执行的表达式​​的值。

2 表达式

由运算符和运算对象组成的式子称为表达式。

(1)表达式的运算对象可以是常量、变量、函数调用和嵌套的表 达式等。

【C++】(四)运算符与表达式_类型转换_09

(2)表达式的计算是按步骤执行的,称为表达式求值顺序。

【C++】(四)运算符与表达式_类型转换_10

(3)表达式的运算需要考虑参与运算的数据对象是否具有合法的 数据类型以及是否需要进行类型转换。

【C++】(四)运算符与表达式_运算符_11

(4)每个表达式的结果除了确定的值之外,还有​确定的数据类型

3 类型转换

C++表达式是否合法,以及合法表达式的含义,都是由运算对象的数据类型决定的。

不同类型的数据混合运算时需要进行类型转换(conversion),即 将不同类型的数据转换成相同类型的数据后再进行计算。

类型转换有两种:

显式类型转换​和​隐式类型转换

3.1 显示类型转换

只是改变变量存储的数据的类型,不改变变量类型。

【C++】(四)运算符与表达式_后端_12

3.2 隐式类型转换

隐式类型转换(implicit type conversion)又称自动类型转换,它是 由编译器自动进行的。

【C++】(四)运算符与表达式_开发语言_13

【C++】(四)运算符与表达式_c++_14

赋值运算中的隐式类型转换

(1)将浮点型数据赋给整型变量时,舍弃浮点数的小数部分。

如:​​int n=6.18​​; ​​n​​的值为​​6​​。

(2)将整型数据赋给浮点型变量时,数值不变,但以浮点数形式存 储到变量中。

如:double f=78; 将78按78.0处理。

(3)将​​double​​​型数据赋给​​float​​​变量时,截取前面7位有效数字存储 到​​float​​​变量。将​​float​​​型数据赋给​​double​​变量时,数值不变,有效数 字扩展到16位。


C++程序设计-西北工业大学-魏英、姜学锋、刘君瑞