运算符与运算
1运算符:在c语言中用来表示某种计算的符号
2操作数:运算符操作的对象 可以为变量(已赋值)
常量 或其他有确切值的表达式
3 表达式:运算符和操作数组成的具有确切值的符合c语言语法的式子称为表达式
二、运算符可分为:单目运算符(一元运算)1个操作数 ( 级别排在第二位 右结合性)eg:-5
eg:3+5 双目运算符(二元)2个操作数
a 大于B?3:5 三目运算符(三元)3个操作数
正确选前 错误选后
除了三目运算符有唯一的条件运算符 其他两个包含多个运算符
三、优先级与结合性
1.结合方向只有三个 从右往左 单 三 赋值
2.逗号优先级最低
3.算数大于关系大于逻辑(非外)大于赋值
++--大于算数
整数/整数 结果整数
有一个不是整数(小数) 结果不是整数 double
求yu
%两边必须整数
左边正 yu数正
左边负 yu数负
❶某些优先符先于其他运算符被执行
eg:x➕y*4 先乘后加
❷出现并列运算优先级别相同的运算符 由运算符结合性决定计算次序
eg:x➕y_4 按照算数运算结合性 左结合性执行
先加后减
❸可以使用圆括号()改变计算顺序
eg:(a➕b➕c)/3
四、算术运算
①基本算数运算符包括:➕ ➖ * / %
⚠️➖号时 左结合性
负号时:右结合性
其他:左结合性
优先级:负号高于 * / % 高于➕➖
⚠️除运算 如果整数除以整数 得出来也是整数
除非写上0
eg:5/2=2
5.0/2=2.5
规定只有整型数据才能参加求余运算
5%2=1
1%10=1
5.5%2 (x)
②自增自减运算符++_--
和-优先级相同 自右向左 不能用常量和表达式 只能变量
a++ a=a➕1 a--=a➖1
换成等式后 ➕在前 先加再赋值➕在后 先赋值再减
五:负值运算
简单赋值运算符:= 右结合性
赋值表达式:(变量)(赋值运算符)(表达式)
变量=表达式
结合方向:从左到右
说明:1 将=右侧表达式的值赋给左侧变量
2 =左侧只能为变量 不能是常量或表达式
eg:x=y+2
x=z=3
3=z不对❌
3 =两侧数据类型不一样时 要进行类型转换
赋值转换规则:使赋值号右边表达式自动转换为左边变量的类型
int a
a=3.14
复合赋值运算符:+= -= *= /= %= 小于小于=
大于大于= &= ^= |=
eg:x➕=3 变成x=x➕3
x*=y➕3 变成x=x*(y➕3)
五、逗号运算
逗号运算符:具有左结合性
形式:表达式1 表达式2 表达式n
说明:⑴优先级最低
⑵逗号表达式的值:等于表达式n的值
eg:a=3*5 a*4 //a=15 表达式的值为60
先计算前边 再计算后
b=(3*4,4*5)//b=20
4*5赋给变量b
单目运算符 赋值运算符 条件运算符是右结合性