C 笔记十六 关系运算符与逻辑运算符
2019-05-08 本文已影响0人
吃柠檬的鸮
关系运算符 | 相等性运算符 | 逻辑运算符 |
---|---|---|
> >= < <= |
== != |
&& || ! |
在关系表达式或逻辑表达式中,如果关系为真,则表达式的结果值为数值 1;如果为假,则结果值为数值 0。
优先级: 逻辑非 ( ! )
> 算术运算符
> 关系运算符
> 相等性运算符
> 逻辑与 ( && )
> 逻辑或 ( || )
逻辑运算符的特殊属性:由 &&
和 ||
连接的表达式按从左到右的顺序进行求值,且计算会在知道结果值为真(或为假)后立即停止。
for (i = 0; i < lim - 1 && (c = getchar()) != '\n' && c != EOF; ++i) {
/* ...
* ...
*/
}
在 for
循环的判断语句中,首先判断数组中是否还有空间存放新字符,即必须满足条件 i < lim - 1
,一旦这个条件不满足,之间退出 for
循环,而不会再读取后面的字符。
又相等性运算符的优先级高于赋值运算符,因此在表达式 (c = getchar()) != '\n' 中要使用括号才能达到预期的运算目的。