靠谱电子书 > 经管其他电子书 > c语言深度剖析 >

第8部分

c语言深度剖析-第8部分

小说: c语言深度剖析 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




花括号的作用是什么呢?我们平时写函数,if、while、for、switch语句等都用到了它,

但有时又省略掉了它。简单来说花括号的作用就是打包。你想想以前用花括号是不是为了

把一些语句或代码打个包包起来,使之形成一个整体,并与外界绝缘。这样理解的话,上

面的问题就不是问题了。

2。7,++、操作符

这绝对是一对让人头疼的兄弟。先来点简单的:

inti=3;

(++i)+(++i)+(++i);

表达式的值为多少?15吗?16吗?18吗?其实对于这种情况,C语言标准并没有作出

规定。有点编译器计算出来为18,因为i经过3次自加后变为6,然后3个6相加得18;

而有的编译器计算出来为16(比如VisualC++6。0),先计算前两个i的和,这时候i自加两

次,2个i的和为10,然后再加上第三次自加的i得16。其实这些没有必要辩论,用到哪个

编译器写句代码测试就行了。但不会计算出15的结果来的。

++、作为前缀,我们知道是先自加或自减,然后再做别的运算;但是作为后缀时,到

底什么时候自加、自减?这是很多初学者迷糊的地方。假设i=0,看例子:

A);j=(i++;i++;i++);

B);for(i=0;i=0且r=0且b》0时,保证|r|=0。后

面部分的保证与性质2或性质3比较起来,限制性要弱得多。

通过上面的解释,你是否能准确算出2/(…2)和2%(…2)的值呢?

2。9,运算符的优先级

2。9。1;运算符的优先级表

C语言的符号众多,由这些符号又组合成了各种各样的运算符。既然是运算符就一定有

其特定的优先级,下表就是C语言运算符的优先级表:

优先级运算符名称或含义使用形式结合方向说明





1

''数组下标数组名'常量表达式'

左到右

()圆括号

(表达式)/函数名(形

参表)

。成员选择(对象)对象。成员名

…》成员选择(指针)对象指针…》成员名

2

…负号运算符…表达式

右到左

单目运算符

(类型)强制类型转换(数据类型)表达式

++自增运算符++变量名/变量名++单目运算符

自减运算符变量名/变量名单目运算符

*取值运算符*指针变量单目运算符

&取地址运算符&变量名单目运算符

!逻辑非运算符!表达式单目运算符

~按位取反运算符~表达式单目运算符

sizeof长度运算符sizeof(表达式)

3

/除表达式/表达式

左到右

双目运算符

*乘表达式*表达式双目运算符

%余数(取模)

整型表达式/整型表

达式

双目运算符

4

+加表达式+表达式

左到右

双目运算符

…减表达式…表达式双目运算符

5

表达式双目运算符

6

》大于表达式》表达式

左到右

双目运算符

》=大于等于表达式》=表达式双目运算符


返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的