现在都用什么网站找事做,建设工程执业注册中心网站,怎么看一个网站有没有做百度推广,微信小程序多少钱做一个注意#xff0c;今天要谈的逻辑运算是C语言编程中的“与或非”逻辑运算#xff0c;不是数学集合中的“交并补”逻辑运算。而编程中的逻辑运算又包括表达式逻辑运算和位逻辑运算#xff0c;本章介绍表达式逻辑运算#xff0c;下一章介绍位逻辑运算。
目录
一、几个基本的概…注意今天要谈的逻辑运算是C语言编程中的“与或非”逻辑运算不是数学集合中的“交并补”逻辑运算。而编程中的逻辑运算又包括表达式逻辑运算和位逻辑运算本章介绍表达式逻辑运算下一章介绍位逻辑运算。
目录
一、几个基本的概念
二、逻辑运算
1、逻辑表达式的计算顺序
1运算符优先级
2逻辑表达式的运算顺序
①人工分析
②程序验证
2、复合逻辑运算与数学区间的关系
3、表达式逻辑运算的应用
1和if……else搭配
2和条件表达式搭配 一、几个基本的概念
要想搞清楚表达式逻辑运算首先要了解关系运算符、关系表达式、逻辑运算符、逻辑表达式4个概念。
1、关系运算符
关系运算符有6种关系分别为小于()、大于()、等于(、小于等于()、大于等于()、不等于(!)
2、关系表达式
关系表达式是指计算机程序中用关系运算符将两个表达式连接起来的式子。
关系表达式的值是逻辑值“真”或“假”。但是C语言没有逻辑型变量和逻辑型常量也没有专门的逻辑值故以“非0”代表“真”以“0”代表“假”。在关系表达式求解时以“1”代表“真”以“0”代表假。当关系表达式成立时表达式的值为1否则表达式的值为0。
关系表达式有双目和单目两种。
1双目
就是关系表达式中有两个表达式比如abc10a4a8等。
#include iostream
using namespace std;
int main() {int a3,b2;bool c,d,e;cab;dab;e(ab);cout a大于b的逻辑值: c endl;cout a小于b的逻辑值: d endl;cout a等于b的逻辑值: e endl;return 0;
}
运行结果为
a大于b的逻辑值:1
a小于b的逻辑值:0
a等于b的逻辑值:0
2单目
就是关系表达式只有一个表达式abab*c等等。那么有人问了关系表达式就是要有比较只有一个表达式怎么比较和谁比较
单目关系表达式实际是这个表达式和“0”进行比较如果这个表达式的结果是0就是“假”其值为0如果这个表达式的结果非0就是“真”其值为1。特别要注意代表真的是“非0”而不是“1”也就是任何一个“非0”的数都逻辑值都是“真”包括小数和负数。
#include iostream
using namespace std;
int main() {float a3,b0.3,c-5,d0;bool b1,b2,b3,b4;b1a;b2b;b3c;b4d;cout 3的逻辑值:b1 endl;cout 0.3的逻辑值: b2 endl;cout -5的逻辑值: b3 endl;cout 0的逻辑值: b4 endl;return 0;
}
运行结果
3的逻辑值:1
0.3的逻辑值:1
-5的逻辑值:1
0的逻辑值:0
3、逻辑运算符
C中表达式逻辑运算有“逻辑与”、“逻辑或”和“逻辑非”3种对应的逻辑运算符为“”“||”“!”。“逻辑与”和“逻辑或”是双目运算是两个关系表达式进行逻辑运算“逻辑非”是单目运算是一个关系表达式进行取反运算。关系表达式1用“A”代表关系表达式2用“B”代表逻辑运算的规则如表1所示。
表1 三种逻辑运算规则 逻辑运算逻辑运算结果为“真”逻辑运算结果为“假”A BA、B都为“真”A、B不都为“真”A || BA、B不都为“假”A、B都为“假”!AA为“假”A为“真”
4、逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值即“true”或“false”。C语言编译系统在给出逻辑运算结果时以数字1表示“真”以数字0表示“假”但在判断一个量是否为“真”时以0表示“假”以非0表示“真”。
注意逻辑表达式中可以由多个逻辑运算符、多种运算符复合而成。如“A B || C”“A !B”。
二、逻辑运算
那么搞清楚以上4个概念后也就能搞清楚什么是逻辑运算了逻辑运算就是求逻辑表达式的逻辑值。那么在进行逻辑运算时需要注意以下几点
1、逻辑表达式的计算顺序
因为逻辑表达式由多个关系表达式、多个逻辑运算符复合而成那么就要搞清楚计算的顺序。
1运算符优先级
常见的运算符包括算数运算符-*/等关系运算符,,,,,!逻辑运算符||和赋值运算符。那么这四种运算符的优先级为
括号 逻辑非 算数运算符 关系运算符 逻辑与 逻辑或 赋值运算符
尤其要注意的是逻辑非的优先级比算数运算符还要高。
2逻辑表达式的运算顺序
逻辑表达式的运算规则为先计算优先级高的运算符同一优先级中的运算符按照从左到右依次计算。 例假设a3,b0.3,c2,d0那么逻辑表达式“ !(abc)||bcd0”的结果是多少
先来编制程序如下声明一个bool型变量b1,并将!(abc)||bcd0的值赋值给b1这样表达式中就包含了上述运算符的所有情况。
①人工分析
先来分析一下“b1 !(abc)||bcd0”的结果
第一步括号优先级最高所以首先要计算括号中abc的值而abc中有算数运算符和关系运算符算数运算符优先级更高先计算bc结果为2.3逻辑表达式变为以下情况
b1 !(a2.3)||bcd0
第二步括号中有两步计算只完成一步括号还没去去掉仍然优先级最高下一步要计算关系表达式a2.3的值a3所以a2.3的逻辑值为假也就是0逻辑表达式变为以下情况
b1 !0||bcd0
第三步表达式中括号已经去掉优先级最高的是“逻辑非”!01所以表达式变为
b1 1||bcd0
第四步表达式中只有关系运算符和逻辑运算符优先计算关系运算符bc和d0逻辑值分别为1和0表达式变为
b1 1||10
第五步表达式中只有逻辑运算符逻辑与高于逻辑或先计算10结果为0表达式变为
b1 1||0
第六步表达式中只有一个逻辑运算符计算1||0结果为1表达式变为
b1 1
第七步逻辑表达式已经计算出结果最后只剩赋值运算符把1赋值给变量b1运算结束。
所以最终打印b1的结果应该为1。
整理以上计算过程如下
假设a3,b0.3,c2,d0那么
b1 !(abc)||bcd0 !(a2.3)||bcd0 !0||bcd0 1||bcd0 1||10 1||0 1
②程序验证
下边编制程序验证一下代码如下
#include iostream
using namespace std;
int main() { float a3,b0.3,c2,d0;bool b1;b1 !(abc)||bcd0;cout 逻辑值:b1 endl; return 0;
}
运行结果为
逻辑值:1
与分析的结果一致验证分析方法无误。
2、复合逻辑运算与数学区间的关系
a3 a5如果逻辑值为真时表示逻辑值为假时表示。
a3 || a0如果逻辑值为真时表示;逻辑值为假时表示。
3、表达式逻辑运算的应用
在编程中逻辑运算一般都和选择结构搭配使用选择结构有单分支和双分支两种如图1所示图中的条件表达式就是逻辑表达式。 图1 选择结构 1和if……else搭配
最常用的就是和if……else搭配格式如下
if(逻辑表达式)
{执行代码1
}
else
{执行代码2
}
if后边的逻辑表达式计算的结果为真时执行代码1计算结果为假时执行代码2。
2和条件表达式搭配
C中的条件表达式也称为问号表达式是一种三目运算符是一种简洁的条件表达式它可以根据条件选择不同的值。这种表达式的通用形式为“expression1?expression2:expression3”。其中expression1 是条件表达式expression2和expression3分别是当条件为真和假时返回的表达式。如果expression1的值为非零真则整个条件表达式的值与expression2的值相同如果 expression1的值为零假则整个条件表达式的值与 expression3的值相同。
典型应用例子比较两个值的大小返回最大值或者最小值。
#include iostream
using namespace std;
int main() { int a55,b13;int max,min;maxab?a:b;minab?b:a;cout 最大值:max endl;cout 最小值:min endl; return 0;
}
运行结果
最大值:55
最小值:13
全文结束 文章转载自: http://www.morning.xflwq.cn.gov.cn.xflwq.cn http://www.morning.skql.cn.gov.cn.skql.cn http://www.morning.xdxpq.cn.gov.cn.xdxpq.cn http://www.morning.cpljq.cn.gov.cn.cpljq.cn http://www.morning.qbpqw.cn.gov.cn.qbpqw.cn http://www.morning.rnnwd.cn.gov.cn.rnnwd.cn http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn http://www.morning.qfkdt.cn.gov.cn.qfkdt.cn http://www.morning.jjzbx.cn.gov.cn.jjzbx.cn http://www.morning.yfpnl.cn.gov.cn.yfpnl.cn http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn http://www.morning.benqc.com.gov.cn.benqc.com http://www.morning.gjlxn.cn.gov.cn.gjlxn.cn http://www.morning.pgrsf.cn.gov.cn.pgrsf.cn http://www.morning.lhygbh.com.gov.cn.lhygbh.com http://www.morning.pqryw.cn.gov.cn.pqryw.cn http://www.morning.fjlsfs.com.gov.cn.fjlsfs.com http://www.morning.zlchy.cn.gov.cn.zlchy.cn http://www.morning.supera.com.cn.gov.cn.supera.com.cn http://www.morning.dhyzr.cn.gov.cn.dhyzr.cn http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn http://www.morning.jyjqh.cn.gov.cn.jyjqh.cn http://www.morning.jnptt.cn.gov.cn.jnptt.cn http://www.morning.qmpbs.cn.gov.cn.qmpbs.cn http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com http://www.morning.yhwyh.cn.gov.cn.yhwyh.cn http://www.morning.ktmnq.cn.gov.cn.ktmnq.cn http://www.morning.bztzm.cn.gov.cn.bztzm.cn http://www.morning.hphqy.cn.gov.cn.hphqy.cn http://www.morning.bqwsz.cn.gov.cn.bqwsz.cn http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com http://www.morning.jmdpp.cn.gov.cn.jmdpp.cn http://www.morning.buyid.com.cn.gov.cn.buyid.com.cn http://www.morning.zcncb.cn.gov.cn.zcncb.cn http://www.morning.chbcj.cn.gov.cn.chbcj.cn http://www.morning.qqnp.cn.gov.cn.qqnp.cn http://www.morning.fwzjs.cn.gov.cn.fwzjs.cn http://www.morning.kmldm.cn.gov.cn.kmldm.cn http://www.morning.jfmjq.cn.gov.cn.jfmjq.cn http://www.morning.yrccw.cn.gov.cn.yrccw.cn http://www.morning.iqcge.com.gov.cn.iqcge.com http://www.morning.fbmrz.cn.gov.cn.fbmrz.cn http://www.morning.sfphz.cn.gov.cn.sfphz.cn http://www.morning.jwxnr.cn.gov.cn.jwxnr.cn http://www.morning.ylqrc.cn.gov.cn.ylqrc.cn http://www.morning.ccyjt.cn.gov.cn.ccyjt.cn http://www.morning.wxqmc.cn.gov.cn.wxqmc.cn http://www.morning.llllcc.com.gov.cn.llllcc.com http://www.morning.gskzy.cn.gov.cn.gskzy.cn http://www.morning.jygsq.cn.gov.cn.jygsq.cn http://www.morning.wjdgx.cn.gov.cn.wjdgx.cn http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn http://www.morning.trhrk.cn.gov.cn.trhrk.cn http://www.morning.wkmpx.cn.gov.cn.wkmpx.cn http://www.morning.qxkcx.cn.gov.cn.qxkcx.cn http://www.morning.cqwb25.cn.gov.cn.cqwb25.cn http://www.morning.tpqzs.cn.gov.cn.tpqzs.cn http://www.morning.wxckm.cn.gov.cn.wxckm.cn http://www.morning.tthmg.cn.gov.cn.tthmg.cn http://www.morning.fphbz.cn.gov.cn.fphbz.cn http://www.morning.dnzyx.cn.gov.cn.dnzyx.cn http://www.morning.spghj.cn.gov.cn.spghj.cn http://www.morning.dfffm.cn.gov.cn.dfffm.cn http://www.morning.qwbls.cn.gov.cn.qwbls.cn http://www.morning.tyrlk.cn.gov.cn.tyrlk.cn http://www.morning.pqhgn.cn.gov.cn.pqhgn.cn http://www.morning.jhrqn.cn.gov.cn.jhrqn.cn http://www.morning.wdwfm.cn.gov.cn.wdwfm.cn http://www.morning.lgwpm.cn.gov.cn.lgwpm.cn http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn http://www.morning.wfcqr.cn.gov.cn.wfcqr.cn http://www.morning.nlkm.cn.gov.cn.nlkm.cn http://www.morning.hkswt.cn.gov.cn.hkswt.cn http://www.morning.mzcsp.cn.gov.cn.mzcsp.cn http://www.morning.nkjkh.cn.gov.cn.nkjkh.cn http://www.morning.rpfpx.cn.gov.cn.rpfpx.cn http://www.morning.mbfj.cn.gov.cn.mbfj.cn http://www.morning.snnwx.cn.gov.cn.snnwx.cn http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn