C++程序设计之运算符与表达式
1、运算符与变量、函数一起组成表达式。运算符由一个或多个字符组成。

2、算术运算符,C++算术运算符有5种:+、-、*、/、%
除法运算符“/”对整数运算时,结果只取整数部分。例如表达式13/7的值是1。
求余数操作符“%”用于求余,第一个数被第二个数除之后得余数。
求余数也叫取模,只能用在整数和字符型操作数上。不能用于浮点数,例如7.66%3就是非法的。

3、运算符测试,在VS中输入以下代码,运行看输出结果
#include "stdio.h"
int main()
{
printf("%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
return 0;
}

4、赋值运算符
赋值符号=,用于赋值运算,将一个操作数的值传递给一个变量。
当等号右边的操作数与左边变量类型不同时,编译器会把等号右边的操作数转换成左边操作数的类型。
等号左边的操作数必须是变量,不能是常数。

5、递增和递减符
递增运算符记为“++”,其功能是使变量的值自增1。
递减运算符记为“--”,其功能是使变量值自减1。

6、关系运算符
用于比较运算。包括>、<、==、>=、<=、!=。

7、逻辑运算符
逻辑运算符用于逻辑运算。包括&&、||、!

8、位操作运算符
参与运算的量,按二进制位进行运算。包括&、|、~、^、<<、>>
~01111111 = 10000000
0101 & 1101 = 0101
0101 ^ 1101 = 1000
0101 | 1101 = 1101

9、条件运算符
exp1?exp2:exp3

10、逗号运算符
(exp1,exp2)
1.逗号表达式可以是一般形式中的表达式1和表达式2,也可以是逗号表达式
2.在程序中使用逗号表达式,通常是为了在逗号表达式内分别求各表达式的值,而不一定是为了求整个逗号表达式的值
3.并不是在所有出现逗号的地方都组成逗号表达式。
自己编译运行下图表达式看y的值

11、指针运算符
指针运算符包括取地址操作符(&)和解引用操作符(*)两种。
12、求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
13、特殊运算符
括号(),下标[],成员(->,.)
1、1个常量或表示对象的标识符是最简单的表达式,其值是常量或对象的值。
2)1个表达式的值可以用作其他运算符的操作数,形成更复杂的表达式。

2、运算优先级

3、类型转换
1.自动转换
发生在不同数据类型的量混合运算时,由编译系统自动完成。
规则:小类型总是被提升成大类型,减小精度损失。
2.强制类型转换
强制类型转换是通过类型转换运算来实现的。
