当前位置:嗨网首页>书籍在线阅读

15-优先级和关系运算符

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.3.5 优先级和关系运算符

关系运算符的优先级比算术运算符(包括+和-)低,比赋值运算符高。这意味着 x > y + 2x > (y + 2) 相同, x = y > 2x = (y > 2) 相同。换言之,如果 y 大于 2 ,则给 x 赋值 1 ,否则赋值 0y 的值不会赋给 x

关系运算符比赋值运算符的优先级高,因此, x_bigger = x > y; 相当于 x_bigger = (x > y);

关系运算符之间有两种不同的优先级。

高优先级组: < <= > >=

低优先级组: == !=

与其他大多数运算符一样,关系运算符的结合律也是从左往右。因此:

ex != wye == zee与(ex != wye) == zee相同

首先,C判断 exwye 是否相等;然后,用得出的值 10 (真或假)再与 zee 比较。我们并不推荐这样写,但是在这里有必要说明一下。

表6.2列出了目前我们学过的运算符的性质。附录B的参考资料II“C运算符”中列出了全部运算符的完整优先级表。

表6.2 运算符优先级

| 运算符(优先级从高至低) | 结合律 | | :----- | :----- | :----- | :----- | | () | 从左往右 | | -   +   ++   --   sizeof | 从右往左 | | *  /   % | 从左往右 | | +   - | 从左往右 | | < > <=   >= | 从左往右 | | ==   != | 从左往右 | | = | 从右往左 |

小结: while 语句

关键字: while

一般注解:

while 语句创建了一个循环,重复执行直到测试表达式为假或0。 while 语句是一种入口条件循环,也就是说,在执行多次循环之前已决定是否执行循环。因此,循环有可能不被执行。循环体可以是简单语句,也可以是复合语句。

形式:

while ( expression )

statement

expression 部分为假或0之前,重复执行 statement 部分。

示例:

while (n++ < 100)
     printf(" %d %d\n",n, 2 * n + 1); // 简单语句
while (fargo < 1000)
{ // 复合语句
     fargo = fargo + step;
     step = 2 * step;
}

小结:关系运算符和表达式

关系运算符:

每个关系运算符都把它左侧的值和右侧的值进行比较。

<          小于
<=         小于或等于
==         等于
>=         大于或等于
>          大于
!=         不等于

关系表达式:

简单的关系表达式由关系运算符及其运算对象组成。如果关系为真,关系表达式的值为1;如果关系为假,关系表达式的值为0。

示例:

5 > 2为真,关系表达式的值为1
(2 + a) == a 为假,关系表达式的值为0