在编程中,与(&&)、或(||)和非(!)是常用的逻辑运算符,用于连接和操作布尔表达式。以下是它们的基本用法和示例:
与运算符(&&):
当两个操作数都为真时,结果为真;否则为假。
```c
if (condition1 && condition2) {
// 当condition1和condition2都为真时,执行这里的代码
}
```
或运算符(||):
当两个操作数中至少有一个为真时,结果为真;否则为假。
```c
if (condition1 || condition2) {
// 当condition1和condition2中至少有一个为真时,执行这里的代码
}
```
非运算符(!):
将操作数的真假取反。
```c
if (!condition) {
// 当condition为假时,执行这里的代码
}
```
示例代码
```c
include
int main() {
int num;
printf("请输入一个数:\n");
scanf("%d", &num);
if (num > 5 && num < 10) {
printf("YES\n"); // 如果输入的数字大于5且小于10
} else {
printf("NO!\n"); // 否则
}
int a = 10;
int b = 20;
if (a < 15 || b < 15) {
printf("At least one condition is true\n"); // 至少有一个条件为真
} else {
printf("Both conditions are false\n"); // 两个条件都为假
}
return 0;
}
```
额外说明
短路运算:`&&`和`||`是短路运算符,即如果左侧表达式已经可以确定整个表达式的结果,则不会计算右侧的表达式。例如,在`if (a < 15 || b < 15)`中,如果`a < 15`为真,则不会计算`b < 15`。
位运算非:除了逻辑非(!)外,还有位运算非(~),用于对二进制位进行取反操作。