逻辑运算符

77 阅读1分钟

逻辑运算符

结果就是: 真(1,正确),假(0,错误)

1. 或。||

格式: 表达式1 || 表达式2

规则 : 有一个为真,结果就是真;全假就是假的

示例如下:

#include<stdio.h>

int main(){
	printf("%d\n", 1 > 0); 
	printf("%d\n", 1 < 0); 
	
	printf("%d\n", 1 < 0 || 1 > 0); 
	printf("%d\n", 3 > 2 || 1 > 0);
	printf("%d\n", 3 < 2 || 1 > 3);
} 

运行结果如下:

image.png

真:非零即真(只要不是0都为真)

示例如下:

#include<stdio.h>

int main(){

	printf("%d\n", 1 || 2);
	printf("%d\n", 1 || 1 > 3);
	printf("%d\n", 0 || 1 > 3);
	printf("%d\n", 1.2 || 5.6);
} 

运行结果如下:

image.png

2. 与。&&

格式: 表达式1 && 表达式2

规则 : 全真则真,一假则假。

示例:

#include<stdio.h>

int main(){

	
	printf("%d\n", 1 < 0 && 1 > 0); 
	printf("%d\n", 3 > 2 && 1 > 0);
	printf("%d\n", 3 < 2 && 1 > 3); 

} 

运行结果如下:

image.png

短路

&&:如果左边为假,则右边不求值

#include<stdio.h>
 
int main(){

    int i = 0;
    2 > 3 && (i = 1);
    printf("%d\n", i);
    
} 

image.png

3. 非。 !

取反(真变假,假变真即为取反)

#include<stdio.h>
 
int main(){
	
	printf("%d\n", !(1 > 0));
	printf("%d\n", !0);
	printf("%d\n", !2);
	printf("%d\n", !0.01);
	printf("%d\n", !!2);
	
} 

image.png