5.5.2 逻辑表达式
“逻辑与”相当于我们日常生活中说的“并且”,就是在两个条件都成立的情况下“逻辑与”的运算结果才为“真”。“逻辑或”相当于生活中的“或者”,就是当两个条件中有任何一个条件满足时,“逻辑或”的运算结果就为“真”。“逻辑非”相当于生活中的“不”,就是当一个条件为真时,“逻辑非”的运算结果为“假”。
看表5-2中a和b之间的逻辑运算,在此假设a=5,b=2。
表5-2 逻辑运算
从表5-2所示运算结果可以得出如下规律。
(1)在进行与运算时,只要参与运算的两个对象中有一个是假的,则结果就为假。
(2)在进行或运算时,只要参与运算的两个对象中有一个是真的,则结果就为真。
实例5-6
对变量进行逻辑运算处理,并输出运算后的结果
源码路径daima\5\5-6
本实例的实现文件为“luoji.c”,具体实现代码如下。
#include <stdio.h> int main(void){ //声明变量并定义初值 int a=10, b=15, c=20; float x=12.345, y=0.1234; char ch='x'; //将各变量进行逻辑运算,并输出结果 printf("%d, %d\n", x*! y, ! ! ! x); printf("%d, %d\n", x||a&&b<c, a+3>b&&x<y); printf("%d, %d\n", a==4&&! ch&&(b=9), x+y||a+b||c); }
拓展范例及视频二维码
范例5-6-01:使用逻辑运算符
源码路径:演练范例\5-6-01\
范例5-6-02:演示逻辑运算符的特性
源码路径:演练范例\5-6-02\
上述代码的具体实现流程如下所示。
(1)分别定义整型变量a、b和c的初始值。
(2)定义单精度型变量x和y的初始值。
(3)设置字符型变量ch值为x的值。
(4)计算表达式x*!y和!!!x,并输出结果。
(5)计算表达式x||a&&b<c, a+3>b&&x<y,并输出结果。
(6)计算表达式a==4&&! ch&&(b=9), x+y||a+b||c,并输出结果。
程序运行后将分别输出运算结果,执行效果如图5-6所示。
图5-6 执行效果
在实际应用中,使用逻辑表达式的一般形式如下。
表达式 逻辑运算符 表达式
其中,“表达式”可以是逻辑表达式,从而组成了嵌套的情形。例如:
(a&&b)&&c
根据逻辑运算符的向左结合性,上式也可写为a&&b&&c。逻辑表达式的值是式中各种逻辑运算的最终值,以“1”和“0”分别代表“真”和“假”。