1.首先是昨天关于字符型变量的一些补充:
转义字符:
其中:‘\t’是制表符,一个制表符在终端显示上是8列。
‘\ddd’:例如:‘\077’表示的是 ‘?’这个字符,也就是说字符常量可以用这种转义字符的方式来表达。
转义字符需要注意的点在于:在终端上利用转义字符需要注意‘\n’与‘\t’ '\b' '\r'的结合使用。比如打印 ”abcd\b“和 ”abcd\b\n“.如图。
运行结果1:此时d没有打印。
如图2:
运行结果2:此时是打印出了d
原因:因为‘\n’进行换行。如果我们没有换行,‘\b’会使光标向前移动,此时运行打印后会在光标位置打印命令提示符,如图中的linux@ubuntu:~$,此时会覆盖掉字符d.而在‘\b’后跟一个‘\n’则会使光标移动到下一行,命令提示符会在下一行打印,从而不会覆盖掉字符d的位置。同理,对应‘\t’ '\r' ,‘\n’会有同样的效果。
2 运算符与表达式。
运算符:算术运算符、赋值运算符、逗号运算符。
算术运算符:+ ;- ;* ;/ ;% ; ++ ;--.
其中需要注意的是关于取余运算。取余运算时。1 除数不能位0,并且除数与被除数只能时整数。2 负数进行求余运算时,结果的符号取决于被除数。
++和--又分为前缀和后缀。前缀为 ”先加(减)后用“,后缀为 ”先用后加(减)“。在运行效率行,前缀的运行效率高于后缀,原因为:前缀时先加(减)后用,在存储单元上的加减发生在变量自身的存储空间,不需要单独开辟临时空间来存放表达式的值。而后缀因为是先用后加,需要临时开辟空间来存放表达式的值,此时多开辟临时空间会降低运行效率。
赋值运算符:= ;+=;-=;%=;/=; *=。
逗号运算符:逗号运算符的用法为:表达式,表达式,表达式,........,表达式 。整个式子叫做逗号表达式,逗号表达式的结果是从坐到右的最后一个表达式的值。
表达式:由运算符和运算数构成的字符序列称为表达式。
注意:表达式都是有值的,因此表达式都是有数据类型的。
在表达式的运算中:有不同优先级的运算时,以优先级高的先结合。在相同优先级的运算时,按照运算符的结合性进行结合。
类型转换:强制类型转换和隐式类型转换。
强制类型转换的语法为:(转换类型)待转换的变量。如果是将浮点型数据转换为整型数据时,会只取浮点数的整数部分。
隐式类型转换的规则如图:其中从右到左为必转。从下到上的精度越来越高。在表达式中如果存在不同精度的混合运算时,低精度数据会向高精度数据转换。
不同类型的混合赋值:
高精度-->低精度赋值:如double/float -->int 会发生精度丢失。
整型:整型-->短整型赋值:如int-->short 会发生高位截断。
短整型-->整型赋值:
无符号短类型:高位补零。
有符号短类型:高位补的时符号位。