正在加载图片...
单元表达式 47表达式中各运算符的运算顺序 大家知道,四则运算的运算顺序可以归纳为“先乘、除,后加、减”,也就是说乘、除 运算的优先级别比加减运算的优先级别要高。C语言中有几十种运算符,仅用一句“先乘 除,后加、减”是无法表示各种运算符之间的优先关系的,因此必须有更严格的确定各运算 符优先关系的规则。表43列出了各种运算符的优先级别和同级别运算符的运算顺序(结合 方向) 表4-3运算符的优先级别和结合方向 优先级别运算符 运算形式结合方 名称或含义 圆括号 自左至右数组下标 结构体成员 用指针访问结构体成员 负号和正号 ++X 或 自增运算和自减运算 逻辑非 自右至左按位取反 类型转换 由地址求内容 求变量的地址 求某类型变量的长度 除和求余 el+e2 自左至右加和减 el<<d2 自左至右左移和右移 自左至右关系运算(比较) =自左至右等手和不等于比纹一 el&e2 自左至右按位与 自左至右按位异或 左至右按位或 自左至右逻辑与(并且) 续表4-3 运算符 运算形式结合方向 称或含义 12 自左至右逻辑(或者) e1?e2. e3 自右至左条件运算第 4 单元 表达式 - 72 - t = x, x = y, y = t; 4.7 表达式中各运算符的运算顺序 大家知道, 四则运算的运算顺序可以归纳为“先乘、除, 后加、减”, 也就是说乘、除 运算的优先级别比加减运算的优先级别要高。C语言中有几十种运算符, 仅用一句“先乘、 除, 后加、减”是无法表示各种运算符之间的优先关系的, 因此必须有更严格的确定各运算 符优先关系的规则。 表 4-3 列出了各种运算符的优先级别和同级别运算符的运算顺序(结合 方向)。 表 4-3 运算符的优先级别和结合方向 优先级别 运算符 运算形式 结合方向 名称或含义 1 () [] . -> (e) a[e] x.y p->x 自左至右 圆括号 数组下标 结构体成员 用指针访问结构体成员 2 - + ++ -- ! ~ (t) * & sizeof -e ++x 或 x++ !e ~e (t)e *p &x sizeof(t) 自右至左 负号和正号 自增运算和自减运算 逻辑非 按位取反 类型转换 由地址求内容 求变量的地址 求某类型变量的长度 3 * / % e1*e2 自左至右 乘、除和求余 4 + - e1+e2 自左至右 加和减 5 << >> e1<<d2 自左至右 左移和右移 6 < <= > >= e1<e2 自左至右 关系运算(比较) 7 == != e1==e2 自左至右 等于和不等于比较 8 & e1&e2 自左至右 按位与 9 ^ e1^e2 自左至右 按位异或 10 | e1|e2 自左至右 按位或 11 && e1&&e2 自左至右 逻辑与(并且) 续表 4-3 优先级别 运算符 运算形式 结合方向 名称或含义 12 || e1||e2 自左至右 逻辑(或者) 13 ? : e1?e2:e3 自右至左 条件运算 14 = 赋值运算
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有