人群仿真软件:SimWalk_(20).人群仿真在零售业中的应用
C语言中的运算符非常丰富大约有40多种按照功能可以分为以下几类。
下面按优先级从高到低整理并标注结合方向绝大多数是左结合只有少数特殊的是右结合。
运算符分类与优先级完整对照表C11/C17标准优先级运算符含义 / 类别结合方向说明 / 常见陷阱1()括号 / 函数调用左→右最高优先级用于改变顺序1[]数组下标左→右
-结构体/联合体成员访问左→右-用于指针1--(后置)后置自增/自减左→右i先用后加2--(前置)前置自增/自减右→左i先加后用2-(单目)正号 / 负号右→左2!~逻辑非 / 按位取反右→左2*(解引用)(取地址)指针解引用 / 取地址右→左2(类型)强制类型转换右→左2sizeof求大小编译期右→左sizeof int需要括号3*/%乘、除、取模左→右4-(双目)加、减左→右5左移、右移左→右位运算移位次数受限于类型宽度6关系运算符左→右7!相等、不等左→右8按位与左→右9^按位异或左→右10按位或左→右11逻辑与短路左→右左边为假右边不计算12逻辑或短路13?:三目条件运算符右→左C中唯一的三目运算符14-*/%赋值及复合赋值右→左a b c从右向左14^位复合赋值右→左15,逗号运算符顺序求值左→右优先级最低整个表达式值是最后一个子表达式的值常见分类速记按功能分组类别运算符优先级范围结合方向备注算术-*/%--2~4左→右自增自减除外移位5左→右关系!6~7左→右位运算^~8~10,2左→右~除外逻辑!11~12,2条件?:13右→左赋值等14右→左复合赋值与普通赋值同级顺序,15左→右最低常用于for循环其他sizeof(类型)*.-[]()1~2混合单目大多右结合经典易错例子强烈建议自己跑一遍inta5,b3,c2;intx;// 这些表达式的值分别是多少xab*c;// 11 (先 * 后 )xab;// 9 (a先用5再1, b先1成4再用)xab?a:b;// 5 (三目右结合但这里不影响)xab1;// 0 ( 优先级高于 相当于 a (b
)x!ab;// 0 (短路b不执行)x(a2,a3,a*
;// 20 (逗号表达式整个值是最后一个)记忆口诀面试/刷题常用括号 单目 算术 移位 关系 位运算 逻辑 条件 赋值 逗号单目、赋值、三目 → 右结合其他几乎都是左结合位运算优先级低于比较运算符最经典陷阱a b 0要加括号逻辑与或短路 || 不要写有副作用的右表达式后置 – 高于前置但只差一级且都在单目层如果你想针对某类运算符位运算、逻辑、赋值等做更详细的例子、陷阱题或优先级推导过程可以直接告诉我我继续展开
暗夜9.1破解版在线观看-暗夜9.1破解版在线观看应用