逻辑运算符和逻辑表达式详解

您所在的位置:网站首页 在c语言中a=b 逻辑运算符和逻辑表达式详解

逻辑运算符和逻辑表达式详解

2024-07-09 16:54| 来源: 网络整理| 查看: 265

目录 引入逻辑运算符和逻辑表达式例子注意事项(短路特性)

引入

首先,我们思考一个问题:

if (fabs(data2) b > c这种表达式虽然没错,但在逻辑上面却并不能表达“a大于b并且b大于c”的意思。 在C语言中,用1表示表达式的值为真,用0表示表达式的值为假,并且关系运算符具有左结合性,因此,若假设a,b,c的值分别为3,2,1,那么a > b > c的计算过程则为:a > b > c (a > b) > c = 1 > c = 0(假)。所以说,**在数学上正确的表达式在C语言的逻辑上不一定总是正确的。**因此,上面的两个语句并不等价。

逻辑运算符和逻辑表达式

1、逻辑运算符 C语言中的逻辑运算也称为布尔运算,C语言提供的逻辑运算符如下:

逻辑运算符类型含义优先级结合性!单目运算符逻辑非最高从右向左&&双目运算符逻辑与较高从左向右II双目运算符逻辑或较低从左向右

注意: 这三个逻辑运算符的优先级各不相同。其中,运算符!只需要一个操作数,所以叫单目运算符,也叫一元运算符,因为一元运算符的优先级比其他运算符高,所以表中!的优先级最高,其次是&&,再次是II。

2、逻辑表达式 用逻辑运算符连接操作数组成的表达式称为逻辑表达式。逻辑表达式的值,即逻辑运算的结果值同样只有真和假两个值,C语言规定用1表示为真,用0表示假。但是在需要判断一个数值表达式(不一定是逻辑表达式)真假的时候,**由于任意一个数值表达式的值不只局限于0和1两种情况,因此根据表达式的值为非0还是0来判断其真假。若果表达式的值为非0,则表示为真,如果表达式的值为0,则表示为假。只是大多时候用1和0表示真假。**逻辑运算规则如下:

A的取值B的取值!A(逻辑非)A && B(逻辑与)A II B(逻辑或)非0非0011非000010非010100100

运算法则:

1、逻辑与运算的特点是:仅当两个操作数都为真的时候,运算结果才为真;只要有一个为假,运算结果就为假。简记(一假则假,否则为真) 因此,当要表示两个条件必须同时成立,即“…,并且…”这样的条件时,可使用逻辑与运算符来连接这两个条件。 2、逻辑或运算的特点是:两个操作数中只有一个为真,运算结果为真;仅当两个操作数都为假,运算结果才为假。简记(一真则真,否则为假) 因此,当需要表达“或者…或者…”这样的条件时,可使用逻辑或运算符来连接这两个条件。 3、逻辑非运算的特点:若操作数的值为真,则其逻辑非运算的结果为假;反之,则为真。简记(若真则假,若假则真) 了解完这些逻辑运算符和表达式后,我们再来看上面说过的数学表达式a > b > c,那么用C语言就应该表示为:

(a > b) && (b > c)

同理,下面两条语句也是等价的:

if (fabs(data2) = -1e - 7 && data2 1 && b++ > 2中,仅当前面的表达式a > 1为真时,后面表达式b++ > 2中的b++才会被计算。反之,若改成b++ > 2 && a > 1,则b++ 就一定会被计算了。当然,更好的办法是单独对b进行自增计算。 因此,为了保证运算的正确性,提高程序的可读性,良好的程序设计风格不建议在程序使用多用途、复杂而晦涩难懂的复合表达式。

以上就为大家总结了C语言的逻辑运算符和逻辑表达式,最后的注意事项一定要记住噢,还得下去多练,多操作就会很快记住啦!如果大家在读完这篇博客后有所帮助,请给我点个赞关注一下吧!谢谢大家了。如果有什么问题,可以在下方评论,或者加我QQ:1423759736,我会及时回复的!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3