Chinaunix首页 | 论坛 | 博客
  • 博客访问: 832890
  • 博文数量: 158
  • 博客积分: 4380
  • 博客等级: 上校
  • 技术积分: 2367
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-21 10:45
文章分类

全部博文(158)

文章存档

2012年(158)

我的朋友

分类: C/C++

2012-11-14 17:02:22

TURBO C运算符的优先次序
表达式 优先级
()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员) 最高
!(逻辑非) ~(位取反) -(负号) ++(加1) --(减1) &(变量地址)
*(指针所指内容) TYPE(函数说明) SIZEOF(长度计算)
*(乘) /(除) %(取模)
+(加) -(减)
<<(位左移) >>(位右移)
<(小于) <=(小于等于) >(大于) >=(大于等于)
==(等于) !=(不等于)
&(位与)
^(位异或)
|(位或)
&&(逻辑与)
||(逻辑或)
?:(?表达式)
= += -= *= /= %= ^= &= !=(联合操作)
,(逗号运算符) 最低

结合性:
在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理:
双目运算符都是左结合的,单目运算符和三目运算符是右结合的
例如:
 a=b=c 等同于 a=(b=c);
 *p[n] 等同于 *(p[n]);
 *p++  等同于 *(p++);

32/64位数据模型

Data Type ILP32 LLP64 LP64 ILP64
char 8 8 8 8
short 16 16 16 16
int 32 32 32 64
long 32 32 64 64
long long 64 64 64 64
pointer 32 64 64 64

负整数的除和模除:
在 C99 和 C++0x 之前,只保证 商*除数+余数==被除数,如果希望商向零靠近取整,应当使用div函数。
即 (-13)/4 的结果可能是 -3余-1,也可能是 -4余3。
C99和C++0x规定,商向零靠近取整,即:
(-13)/4 结果是 -3余-1
13/(-4) 结果是 -3余+1
(-13)/(-4)结果是 +3余-1
阅读(1174) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~