对编程/嵌入式开发的朋友欢迎加入交流群:656210280
在C语言中,逻辑运算符是程序员用来进行条件判断和逻辑运算的重要工具。逻辑运算符主要用于处理布尔值,即真(True)和假(False)。本文将介绍C语言中常用的逻辑运算符,以及它们在程序中的应用。
1. 逻辑运算符的基础
C语言中的三个基本逻辑运算符是AND(&&)、OR(||)和NOT(!)。这些运算符用于组合或改变条件表达式的真值。下面是它们的基本含义:
-
AND运算符(&&): 当且仅当两个条件都为真时,整个表达式的值才为真。
-
OR运算符(||): 只要两个条件中的任何一个为真,整个表达式的值就为真。
-
NOT运算符(!): 用于取反,如果条件为真,则取反后为假;如果条件为假,则取反后为真。
2. 逻辑运算符的使用示例
让我们通过一些简单的示例来理解逻辑运算符在C语言中的应用。
示例 1:AND运算符
#include <stdio.h>
int main() { int age = 25; int isStudent = 1;
if (age > 18 && isStudent == 0) { printf("嘿 哥们,进去爽吧.n"); } else { printf("对不起,未满十八岁以及学生禁止进入n"); }
return 0;}
上述代码中,使用了AND运算符,只有当年龄大于18且不是学生时,条件才成立。
示例 2:OR运算符
#include <stdio.h>
int main() { int temperature = 28; int isSummer = 1;
if (temperature > 30 || isSummer == 1) { printf("太tmd热了n"); } else { printf("浙江天气不是人待的n"); }
return 0;}
在这个例子中,OR运算符用于判断是否是炎热的天气或者是否是夏天(或者浙江)。
示例 3:NOT运算符
#include <stdio.h>
int main() { int isStudent= 0;
if (!isStudent) { printf("进去爽吧!n"); } else { printf("学生禁止入内n"); }
return 0;}
在这个例子中,NOT运算符用于判断是否不是学生。
3. 逻辑运算符的优先级
在使用逻辑运算符时,需要注意它们的优先级。AND运算符的优先级高于OR运算符,因此在复杂的表达式中可能需要使用括号来明确优先级。
并且通常更多的情况下我们会使用&&,||而不是&和| 逻辑AND运算符 ( &&
): 当使用 &&
时,
如果第一个条件为假,就不会再计算第二个条件了 ,因为整个表达式已经被确定为假。这种短路特性可以提高程序的效率。
同样的||则是第一个条件为真,则不会去计算第二个条件。
说明I++只执行了一次,并不会执行第二次i++.
如果单纯的使用|时,就会发现i++执行了两次。 因此要学会区分&&和&,||和| 的区别。