- 1、本文档共114页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 选择问题求解
关系运算与逻辑运算
if条件语句
switch语句
【本章要点】
4.1 引例
4.1.1 问题描述
专家系统是一种在特定领域内具有专家水平解决问题能力的程序系统。它能够有效地运用专家的经验和知识解决问题。
本例模拟专家系统设计一个简单的动物识别程序。该程序通过对用户的提问,识别出4种动物:老虎、金钱豹、信天翁、企鹅。
4.1 引例
4.1.1 问题描述
以下6条规则表示计算机已经掌握的知识:
规则1:如果动物有毛发,且分泌乳汁,则该动物是哺乳动物。
规则2:如果动物有羽毛,则该动物是鸟。
规则3:如果动物是哺乳动物,且是黄褐色的、有暗斑点,则该动物是是金钱豹。
4.1 引例
4.1.1 问题描述
规则4:如果动物是哺乳动物,且是黄褐色的、有黑条纹,则该动物是虎。
规则5:如果动物是鸟,且善飞,则该动物是信天翁。
规则6:如果动物是鸟,且不会飞、善游泳和潜水、黑白二色,则该动物是企鹅。
4.1.2 问题分析
从以上描述可以看出,这是一个典型的选择问题。在本例中提出的6条规则,给出了识别动物的判定条件。可以根据这些条件设立问答题,通过用户的回答判断出动物的种类。不难发现,6条规则可分为两个层次:第一层区分哺乳动物与鸟;第二层确定具体动物。
4.1 引例
4.1.3 算法设计
求解问题的算法如下:
1.依据规则1、2识别出动物所属的类:哺乳动物、鸟、其它未知类。
2.在哺乳类中依据规则3、4识别出金钱豹、虎、未知哺乳动物;在鸟类中依据规则5、6识别出信天翁、企鹅、未知鸟。
用C语言实现这一算法,首先需要根据规则1-6归纳出判定条件;其次采用选择结构实现不同条件下的不同操作。
4.1 引例
4.2 关系运算与逻辑运算
求解选择问题的第一要素是构筑计算机所能识别的判定条件,一般情况下,采用关系表达式和逻辑表达式描述条件(switch语句例外)。
4.2 关系运算与逻辑运算
4.2.1 关系运算及其表达式
C语言中的关系运算符共有6个。
表4-1列出了各种运算符的含义、优先级和结合方向。
4.2 关系运算与逻辑运算
4.2.1 关系运算及其表达式
表4-1 关系运算符及其含义、优先级、结合方向
表中将关系运算符按优先级高低分为两组,同一组运算符的优先级相同。
运算符
含义
优先级
结合方向
?
小于
高
自左至右
?
大于
=
小于或等于
=
大于或等于
= =
等于
低
!=
不等于
4.2 关系运算与逻辑运算
4.2.1 关系运算及其表达式
关系运算符是双目运算符。用关系运算符将两个运算数连接起来组成的表达式称为关系表达式。其中,运算数可以是常量,也可以是算术表达式、关系表达式、赋值表达式等。
关系表达式的值是一个逻辑值,即只有两种可能:“真”或“假”。当一个关系表达式所表示的条件成立时,认为此关系表达式的值为“真”;否则为“假”。C语言中没有专门的逻辑型数据,而是用0表示“假”,用1(或非0)表示“真”。
4.2 关系运算与逻辑运算
4.2.1 关系运算及其表达式
例4-1 设有变量定义:int a = 1, b = 2, c = 3, x = 4; 试判断下列关系表达式的值:
(1) x != 0 (2) c a + b
(3) ‘y’ ‘x’ (4) c a b
解:x != 0的值为1;c a + b的值为0;
‘y’ ‘x’的值为0; c a b的值为1。
4.2 关系运算与逻辑运算
4.2.1 关系运算及其表达式
具体分析如下:
(1) 因为x的值为4,满足关系表达式x != 0,所以x != 0的值为1;
(2) 因为算术运算符优先级高,应先计算a + b的值再与c的值比较,得到:33,该不等式显然不成立,所以 c a + b的值为0;
(3) 表达式 ‘y’ ‘x’中的两个运算数是字符型常量,应该比较它们的ASCII码,而x和y的ASCII码分别为120和121,所以‘y’ ‘x’的值为0。
(4) 按照自左至右的结合方向,先计算c a的值,结果为0;再计算0 b的值,结果为1,所以表达式c a b的值为1。
4.2 关系运算与逻辑运算
4.2.2 逻辑运算及其表达式
在实际应用中,需要进行判断的条件往
文档评论(0)