第4节 运算符与表达式
1.常用的运算符
►求解问题的基本操作是运算。
►通过C++语言丰富的运算符及其表达式构成实现算法的基本步骤,在不同程序结构的控制下有机地组织在一起形成程序。
►1.运算对象的数目
► 单目运算符、双目运算符、三目运算符
►2.运算符的优先级
► 同一个式子中不同的运算符进行计算时,其运算次序存在先后之分,称为运算符的优先级。
►3.运算符的结合性
► 在一个式子中如果有两个以上同一优先级的运算符,其运算次序是按运算符的结合性来处理的。
► C++语言运算符分为左结合(方向)和右结合(方向)。
► 在给出一个逻辑运算或关系运算结果时,以”0”代表“假”,以“1”代表“真”,在判断一个量为真假时,以“0”代表“假”,
以“非0”代表“真”。
► C++在逻辑表达式求解时,并不一定是所有的运算都被执行,当刚开始求解或求解的中途就可以确定整个逻辑表达式的值
时,其余的运算将不再进行。
int a=1 , b=2, c=3, d=4, m=n=1, k;
k=(m=a>b) && (n=c>d); //m的值为0,n的值为1,k的值为0
► 求解:表达式执行完后n和m的值为多少?注:当(m=a>b) && (n=c>d)前一个表达式为假时,后面语句不在执行。
2.表达式和类型转换
2、表达式
►由运算符和运算对象组成的式子称为表达式。
►(1)表达式的运算对象可以是常量、变量、函数调用和嵌套的表达式等。
12 + a + max(x,y) + ( x + y ) //常量、变量、函数调用、嵌套的表达式
►(2)表达式的计算是按步骤执行的,成为表达式求值顺序。
x > y && x < z //先计算x>y,若结果为假则运算结束,然后计算x<z
►(3)表达式的运算需要考虑参与运算的数据对象是否具有合法的数据类型以及是否需要进行类型转换。
k = 10 + 'a' + i * 5.0 - d / 100.5 //数据类型不同,需要进行类型转换
►(4)每个表达式的结果除了确定的值之外,还有确定的数据类型。
3、类型转换
►C++表达式是否合法,以及合法表达式的含义,都是由运算对象的数据类型决定的。
►不同类型的数据混合运算时需要进行类型转换(conversion),即将不同类型的数据转换成相同类型的数据后再进行计算。
►类型转换有两种:显式类型转换 和 隐式类型转换。
►1. 显示类型转换
►2. 隐式类型转换
►赋值运算中的隐式类型转换
►(1)将浮点型数据赋给整型变量时,舍弃浮点数的小数部分。
►如:int n=6.18; n的值为6。
►(2)将整型数据赋给浮点型变量时,数值不变,但以浮点数形式存储到变量中。
►如:double f=78; 将78按78.0处理。
►(3)将double型数据赋给float变量时,截取前面7位有效数字存储到float变量。将float型数据赋给double变量
时,数值不变,有效数字扩展到16位。
标签:类型转换,运算,运算符,赋给,表达式,变量
From: https://blog.csdn.net/m0_69088645/article/details/140135768