逻辑运算符
三种逻辑运算符
逻辑运算符 | 含义 |
---|---|
&& | 与 |
|| | 或 |
! | 非 |
假设exp1和exp2是两个简单的关系表达式,则
- 当且仅当exp1和exp2都为真时,exp1 && exp2才为真。
- 如果exp1或exp2为真,则exp1 || exp2为真。
- 如果exp1为假,则 !exp1为真;如果exp1为真,则!exp1为假。
(练习 && 时间) == 完美
备选拼写:iso646.h头文件
传统写法 | iso646.h |
---|---|
&& | and |
|| | or |
! | not |
范围问题
如要测试score是否在60~100之间,可写成:
if (range >= 60 && range <= 100)
{
printf("score = %d", range);
}
不要模仿数学写法:
if (60 <= range <= 100)
{
printf("score = %d", range);
}
数学写法会导致这条if语句必定会执行,因为结果都是1。
条件运算符: ? :
通用形式:
expression1 ? expression2 : expression3
如果表达式1为真(非0),则整个表达式返回表达式2的值;如果表达式1为假,那么整个条件表达式返回表达式3的值。
示例:
max = (a > b) ? a: b;
如果a大于b,那max = a;反之 max = b;