此笔记仅记录容易忘记的知识点,对于已经掌握或者比较容易的知识点,此笔记将不涉及。
4.1.运算顺序相关信息:当拿不准运算顺序的时候,尽可能使用括号将内容括起来
4.2.算数运算符:一元运算符优先级最高,下表为优先级从高到低排列
值得注意的是,计算之后的数值有可能会溢出(超出取值范围),注意在定义的时候避免
4.3 逻辑运算与关系运算符
4.4 递增和递减运算符:(++i or i++)--C++里面一般使用的是++i这种前置的方式
4.5 条件运算符(cond? expr1:expr2)!!!
注意!条件运算符的优先级非常低,因此要灵活使用()以便达到预期效果
//条件运算符
//表示:首先判断grade是否小于60,若是,finalgrade=fail,否则为pass
string finalgrade = (grade < 60) ? "fail" : "pass";
4.5.1 嵌套条件运算符:
//条件运算符嵌套
//表示:首先判断grade是否大于90,若是,finalgrade=high pass,否则进行后边的判断
string finalgrade = (grade < 90) ? "High pass"
: (grade <60?) "fail":"pass";
4.6. 位运算符(包括移位运算符,位与位或位异运算符)
4.7.sizeof运算符(返回一条表达式或一个类型名字所占的字节数)
4.8.逗号运算符
4.9.类型转换:(包括隐式转换+算数转换)
隐式转换: 类似于int ival =3.541 +3 //损失精度,将float转换为int;
算术转换:如果运算对象类型是long double,那么不管其他运算对象是什么,结果都会是long double;
整型提升:负责把小整数类型转换成较大的整数类型
类型转换的例子:
注意!!显示转换(人工指定将对象转换为另一个类型)
语法:P145