再上一篇:3 .2 赋值表达式
上一篇:3 .3 关系表达式
主页
下一篇:3 .5 表达式和语句
再下一篇:第 4 章 程序的运行顺序
文章列表

3 .4 逻辑表达式

《程序设计基础》(基于C语言讲解) 石光华 编著 —北京: 清华大学出版社

1 .逻辑运算符

如何回答这样的问题:要不要加衣服? 你可能会想,如果晚上6点(包括6点)以后或

者气温低于18℃,就加衣服。事实上,这是两个条件中至少要满足一个的问题。那么在

程序中,我们如何来表达这样的逻辑判断呢?

如果用tim 来表示时间,用 temperature来表示气温,那可以写成

(tim > =6)||(temperature<18)

这就构成了一个逻辑表达式,其中的符号“| |”为关系运算符,表示“或者”。

如果你想的是,若晚上6点(包括6 点)以后而且气温低于18℃,就加衣服。这实际

上是两个条件必须同时满足的问题,逻辑表达式应该写成

(tim > =6)&&(temperature<18)

式中的符号“&&”为关系运算符,表示“并且”。

如果你想的是,若不满足晚上6点(包括6点)以后而且气温低于18℃,就加衣服。

这是一个取相反的结果的问题,逻辑表达式应该写成

!((tim> =6)&&(temperature<18))

式中的符号“ !”为关系运算符,表示“相反”。

在C语言中使用的逻辑运算符就是这3种。

表3-1 逻辑运算符意义与名称

运 算符 名 称 意 义

&& 与运算 两个条件必须同时满足

|| 或运算 两个条件中只须满足其中一个

! 非运算 取相反的结果

2 .逻辑表达式

用逻辑运算符(logical operators)将关系表达式或逻辑量连接起来的表达式称为逻

辑表达式(logicalexpressions),其一般形式为

表达式 逻辑运算符 表达式

第3章 基本运算与表达式 29

逻辑表达式的值是表达式中各种逻辑运算的最终值。在 C语言中,规定用0 代表假,用非0表示真。

【例3-3】 表达闰年的条件。

按照历法的规定,某一年要成为闰年,应符合以下两个条件之一。

(1) 能被4整除,但不能被100整除;

(2) 能被400整除。

设year 表示年份,用C语言的逻辑表达式来表达闰年为

((year % 4= =0) && (year % 100 !=0)) || (year % 400= =0)

所谓编程能力,就是如何把生活中的问题转化成计算机能够处理的问题的能力。其中重要的一点,就是如何把实际问题的逻辑转化成逻辑表达式,只有正确地表达了问题的逻辑,计算机才能进行正确的处理。

【例3-4】 写出“成绩高于90分且年龄小于20岁”的条件表达式。成绩用iscore 表示,年龄用iage表示。

先写出成绩高于 90 分的表达式 iscore>90 ;然后写出年龄小于 20 岁的表达式iage<20 ;最后写出完整的表达式为

((iscore>90) && (iage<20))

书写逻辑表达式时,应注意找出条件中的关键词。特别是像“而且”、或者”、并且”之类的词,往往是能否正确表达条件的关键,要准确地从题目的要求中找出来。