一、逻辑运算符
C语言中的逻辑运算符有三个&&(逻辑与)、||(逻辑或)和!(逻辑非)。
1. 逻辑与(&&)当两个操作数都为真(非零)时,结果为真;否则为假(0)。
if (a >2 && b< 7) {tf");a >2和b< 7都是真(非零),所以条件成立,输出"a >2, b< 7"。
2. 逻辑或(||)当两个操作数中少有一个为真(非零)时,结果为真;否则为假(0)。
if (a >2 || b >7) {tf");a >2是真(非零),b >7是假(0),但是因为有一个操作数为真,所以条件成立,输出"a >2 或 b >7"。
3. 逻辑非(!)如果操作数为真(非零),则结果为假(0);如果操作数为假(0),则结果为真(非零)。
if (!(a >2 && b< 7)) {tf");a >2和b< 7都是真(非零),但是因为逻辑非操作符的存在,所以条件不成立,输出"a<= 2 或 b >= 7"。
二、运算符优先级
在表达式中,逻辑运算符的优先级比算术运算符低,比赋值运算符高。如果表达式中有多个逻辑运算符,优先级高的先被计算。 b = 5, c = 7;
if (a >2 && b< 7 || c == 7) {tf");先计算a >2 && b< 7,再计算结果与c == 7的逻辑或运算。
三、使用技巧
1. 利用逻辑非运算符简化条件判断
在条件判断中,经常需要判断一个变量是否等于某个值。如果使用等于运算符(==)进行判断,需要写出完整的表达式,
if (a == 1 || a == 2 || a == 4 || a == 5) {tf");
可以使用逻辑非运算符简化条件判断,
if (!(a == 3 || a == 6)) {tf");
2. 利用逻辑与运算符进行值的范围判断
可以使用逻辑与运算符进行值的范围判断,
if (a >0 && a< 10) {tf");
如果要判断的范围比较复杂,可以使用括号进行分组,
if ((a >0 && a< 10) || (a >20 && a< 30)) {tf");
总之,逻辑运算符在C语言中是非常常用的运算符,掌握它们的使用技巧可以让我们的代码更加简洁、高效。