三、表达式和运算符
理解:表达式由字面值、变量、运算符组成的式子,通常有一个结果。
-
算术运算符
运算符 含义 举例 结果 + 正号运算符 +a a的值 - 符号运算符 -a a的负数值 + 加法运算符 a+b a和b相加 - 减法运算符 a-b a和b相减 * 乘法运算符 a*b a和b的乘积 / 除法运算符 a/b a除以b % 取模(求余数) a%b a除以b对应的余数 注意: (1) 优先级:先乘除、后加减,求余运算符和乘除同级 (2) 结合性均为"左结合性",即同优先级的算术运算符按照 "从左往右" 进行
注意: (1) 两个类型相同的操作数进行运算,其结果类型与操作数类型相同例如: 7/4 的结果为 1 (2) 不同类型的数据要先转换成同一类型,然后进行计算,规则如下:char/short -> int -> unsigned -> long -> doublefloat -> double
-
自增、自减 运算符
运算符 含义 举例 结果 ++ 自增 a++ / ++a a变量自身加1 – 自减 a-- / – a a变量自身减1 注意: (1) a++; / ++a; : 都是满足对a变量结果加1a--; / --a; : 都是满足对a变量结果减1 (2) 对于表达式,前置 和 后置的区别: 【考试高频】int c = a++; // 先使用a的值,再对a进行加1 (先使用,再加1)int c = ++a; // 先对a自身加1,再使用a的值 (先加1,再使用)
-
赋值运算符
赋值运算符 运算符含义 = 赋值 += a+=2; 对a变量值加2 -= a-=3; 对a变量值减3 *= a*=5; 对a变量值乘5 /= a/=2; 对a变量值除以2 %= a%=3; 对a变量值取3对应的余数 -
关系运算符
关系运算符 运算符含义 > 大于 > = 大于等于 < 小于 <= 小于等于 == 等于 != 不等于 注意:关系表达式的运算结果有两种:"真" 或是"假",关系成立-真-用1表示;关系不成立-假-用0表示 例如:printf("%d",3>5); // 结果为:0
-
逻辑运算符
逻辑运算符 运算符含义 && 逻辑与,两边同时为真,结果为真 || 逻辑或,两边只要有一边为真,结果就为真 ! 逻辑非,在结果上取反 优先级,从高到低:!(逻辑非) -> &&(逻辑与) -> ||(逻辑或)
-
条件运算符(三元运算符)
条件运算符 条件运算符含义 关系表达式?表达式1:表达式2 关系成立,结果为真,则执行表达式1,否则执行表达式2 例如: int a = 5>8 ? 100:50; // 结果为 a=50