逻辑运算符与逻辑表达式

60 阅读2分钟

逻辑运算符用于判断表达式的真假,其结果为“真”或“假”。

1.逻辑运算符与逻辑表达式

1.表达式:或


逻辑运算符 ,结果就是: 真(1,正确) 假(0,错误)

    1. 或 ||
    g格式 :  表达式1 || 表达式2 
	2. 与 &
	3. 非 !

表达式“或”代码如下:




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

	printf("%d\n",1 > 0 || 1 < 0); //1
	
}


编译结果为:

image.png

下面的代码是表达式"或"的练习

#include <stdio.h>
int main(){
	printf("%d\n",1 > 0); //1
	printf("%d\n",1 < 0); //0
	
	printf("%d\n",1 > 0 || 1 < 0); //1
	printf("%d\n",1 > 3 || 3 < 2); //0
	printf("%d\n",3 > 2 || 1 > 0); //1
	printf("%d\n",1 || 2);//1
	printf("%d\n",1 || 1);//1
	printf("%d\n",0 || 1 > 3);//0
	printf("%d\n",1.6 || 2.5);//1
}

在Dev-c++中编译的结果如下:

image.png

2. 与 && 并且

表达式1 && 表达式2
规则:有一个为假,结果就是假;全真就是真

&&代码如下:

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

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

它的编译结果如下:

image.png

代码运算符"与"的练习:

        printf("%d \n",1 > 2 && 2 > 3 && 4 > 5);//0
	printf("%d \n",2 > 1 || 2 > 3 || 4 > 5);//1

练习结果如下:

image.png

运行逻辑运算符时要注意如果"&&"运算符左边的值为假,就不再进行对右边的表达式进行计算。而在使用"||"运算符时如果"||"运算符左边的值为真,就不再进行对右边的表达式进行计算。这就叫短路。

代码如下:

//短路
	//&&:如果左边为假,则右边不求值
	int i = 0;
	2 > 3 && (i = 1);
	printf("%d \n",i);
	//0
	
	//||:如果左边为真,则右边不求值
	int j = 0;
	3 > 2 ||(j = 1);
	printf("%d \n",j);	
	//0

编译结果如下:

image.png

运算符“!”的运算如下:

	// 取反
	printf("%d \n",!(1 > 0)) ;//0
	printf("%d \n",!0);//1
	printf("%d \n",!2);//0
	printf("%d \n",!!2);//1
	printf("%d \n",!0.01);//0
	

编译结果如下:

image.png