目录
定义
用运算符将数据连接起来的合法数字
运算符三个属性:功能,优先级,结合性(运算方向)
注:
只能用于变量不能用于常量或表达式如 3++ (a+b)++ 不合法的表达式
优先级:乘除(*/)>取余(%)>加减(+ -)
优先级排序为:算术运算符 > 关系运算符 > 赋值运算。
算术运算符:
乘法运算符【*】、除法运算符【/】、取余运算符【%】属于优先级第三级
加法运算符【+】、减法运算符【-】属于第四级。
关系运算符有6种关系:
分别为小于、小于等于、大于、等于、大于等于、不等于。
其中,关系运算符【< > <= >= 】属于优先级第六级
等于运算符【==】、不等于运算符【!=】属于优先级第七级。
赋值运算符【= += -= *= /= %= >>= <<.= &= |= ^=】属于优先级第第十四级。
一、算术运算符与算术表达式
求余(%)
(1)规则
- 两边都是整形
7.0%3不合法
4%3.不合法
99%100=99
(2)求值方法
- 结果的符号与被除数的符号一致
- 单独的常量、变量或函数调用都是C语言合法表达式(常量和变量都是最简单的表达式)7=7+0
- 凡是表达式都有一个确定的值
7/5+6%3
7/5(3级)+(4级)6%3(3级)
同级考虑结合性(运算方向)
二、赋值运算符与赋值表达式
1、赋值运算符(14级)
- =
- 格式:变量名=表达式
- 方向:左<——右(14级)
- 功能:将表达式的值赋值给“=”左边的变量(先计算,后赋值,双功能)例如:
例如:
- A=5+8;即将5+8表达式的值赋值给A
- a=b=c=20,从右向左赋值,表达式的值为变量的值,是把表达式的值赋值给b,而不是c的值
注:
(1)
- 赋值运算符左边只能是一个变量
如:a+b=3 非法表达式
4=3 非法表达式
a=6 合法表达式
a+(b=3) 合法表达式
(2)
- 赋值运算符右边可以合法表达式
如:a=b=20
a=(b=10)/(c=2)
(3)
- 赋值表达式的值就是赋值运算符左边变量值。
(4)
- 实型数据赋给整型变量时,实型小数舍去;
- 整型数据赋给实型变量时系统自动将整型数据转成实型数据(隐式转换)
2、复合赋值运算符
+=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=
注:复合赋值运算符的两个运算符 中间不能有空格 。如:a+=3 a=a+3
3、自增、自减运算符(2级)
自增运算符:++ i++、++i
自减运算符:-- i--、--i
运算方向: 左<——右(2级)
如:
i++; ++i; 等价于: i=i+1;i--; --i; 等价于: i=i-1;
++ ,--在后,先标表达式的值,变量再加减1
++ ,--在前,变量先加减1,后标表达式的值
(不变的是变量的值,不同的是表达式的值)