逻辑运算符与逻辑表达式

逻辑运算符与逻辑表达式1、逻辑运算符逻辑运算符一般用来对运算对象进行逻辑操作,逻辑运算符有以下三种:&&(逻辑与)、||(逻辑或)和!(逻辑非)。

大家好,欢迎来到IT知识分享网。逻辑运算符与逻辑表达式"

1、逻辑运算符

逻辑运算符一般用来对运算对象进行逻辑操作,逻辑运算符有以下三种:&&(逻辑与)、||(逻辑或)和!(逻辑非)。

1.2逻辑运算符的优先次序:!(逻辑非)大于 &&(逻辑与)大于 || (逻辑或)   换句话来说,!(非)最大,&&(与)次之,||(或)最小

1.3逻辑非“!”的优先级高于算术运算符,逻辑与“&&”和逻辑或“||”的优先级低于算术运算符和关系运算符,高于赋值运算符。因此在c>=’a’&&c<=’z’中,要先进行c>=’a’和c<=’z’的关系运算,再进行逻辑运算。

1.4逻辑运算符中逻辑非“!”的结合方向是由右向左,逻辑“&&”和逻辑或“||”的结合方向是由左向右。

2、逻辑表达式

逻辑表达式的一般形式为:

表达式  逻辑运算符  表达式

表达式运算结果有“真”和“假”两种,C语言中用 “1” 表示“真” ,用“0”表示“假”

                                                         逻辑运算的真假值表

a b !a !b a&&b a||b

咱具体举个例:int a=3,b=4;

!a:由于a非零,为真,!a为假,值为0。反之!b一样

a&&b:由于a和b 均非零,均为真,故逻辑与的结果为真,值为1。如果(b<a)则为假,值为0。

a||b:由于a和b均非零,均为真,故逻辑或的结果为真,值为1。

!a||b&&2:由于逻辑运算符的优先次序,所以先进行!a  b&&2 的关系运算,再与逻辑与运算。即:(!a)||(b&&2),即0||1为真,值为1。

敲代码试试:

#include"stdio.h"                  /*编译预处理命令*/
int main()                         /*main函数*/
{               
    int x=3,y=4;                   /*定义整型变量*/
    printf("x=%d,y=%d\n",x,y);     /*输出判断值*/
    printf("x<=5&&x>-5%d\n",x<=5&&x>=-5);
    printf("x<y||x+y==8%d\n,x<y||x+y==8");      /*输出判断值*/
}
    

3、逻辑表达式的短路现象

在C语言逻辑表达式中,有时会出现计算完&&或||左侧的表达式,就不用再计算右侧的表达式的情况,这种情况被称为逻辑表达式的短路现象。

#include"stdio.h"
void main()
{
     int a,b;
     x=254 ,y=345;
     if(x==14 &&(y+=1))
         printf("y进行运算后为%d\n",y);
     else
         printf("y进行运算后为%d\n",y);
}

在符合逻辑判断if(x==14 &&(y+=1))中,左边表达式为假(0),则右侧表达式&&(y+=1)则不再进行计算,整个表达式if语句必然为假。同理,若&&左边的表达式为真(1)则右侧表达式将不再计算。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12261.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信