- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 选择程序设计 4.1 关系运算和逻辑运算 关系运算是逻辑运算中比较简单的一种。所谓“关系运算”,实际上是“比较运算”。将两个值进行比较,判断其比较的结果是否符合给定的条件。例如,a3是一个关系表达式,大于号()是一个关系运算符,如果a的值为5,则满足给定的“a3”条件,因此关系表达式的值为“真”(即“条件满足”);如果a的值为2,不满足“a3”条件,则称关系表达式的值为“假”。 4.1.1 关系运算符和关系表达式 C语言提供6种关系运算符: ① ?(小于); ② =?(小于或等于); ③ ?(大于); ④ =?(大于或等于); ⑤ = = (等于); ⑥ != (不等于)。 关于优先次序: (1) 前4种关系运算符(,=,,=)的优先级别相同,后2种的也相同。前4种高于后2种。例如,“”优先于“==”,而“”与“”优先级相同。 (2) 关系运算符的优先级低于算术运算符。 (3) 关系运算符的优先级高于赋值运算符。 以上关系见图4-1。 用关系运算符将两个表达式(可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式等)连接起来的式子,称为关系表达式。例如,下面都是合法的关系表达式: ab, a+bb+c, (a=3)(b=5), ab, (ab)(bc) 图4-1 优先次序图1 关系表达式的值是一个逻辑值,即“真”或“假”。例如,关系表达式“5==3”的值为“假”,“5=0”的值为“真”。C语言没有逻辑型数据(Pascal语言以True表示“真”,以False表示“假”。Pascal和FORTRAN等语言都有逻辑型变量和逻辑型常量),以1代表“真”,以“0”代表“假”。例如,a=3,b=2,c=1,则: 关系表达式“ab”的值为“真”,表达式的值为1。 关系表达式?(ab)==c的值为“真”(因为ab的值为1,等于c的值),表达式的值为1。 关系表达式b+ca的值为“假”,表达式的值为0。 4.1.2 逻辑运算符和逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。在BASIC和Pascal语言中有以下形式的逻辑表达式(AND是逻辑运算符): (ab)AND(xy) 如果ab且xy,则上述逻辑表达式的值为“真”。 下面介绍C语言中的逻辑运算符和逻辑运算。 C语言提供三种逻辑运算符: ① 逻辑与(相当于其他语言中的AND); ② || 逻辑或(相当于其他语言中的OR); ③ ! 逻辑非(相当于其他语言中的NOT)。 “”和“||”是“双目(元)运算符”,它要求有两个运算量(操作数),如(ab) (xy),(ab)|| (xy)。“!”是“一目(元)运算符”,只要求有一个运算量,如!(ab)。 逻辑运算举例如下: ab //若a、b为真,则ab为真 a||b //若a、b之一为真,则a||b为真 !a //若a为真,则?!a为假 表4-1为逻辑运算的“真值表”。用它表示当a和b的值为不同组合时,各种逻辑运算所得到的值。 逻辑运算符的优先次序如下: (1) ?!(非)→(与)→(或),即“!”为三者中最高的。 (2) 逻辑运算符中的“”和“||”低于关系运算符,“!”高于算术运算符,见图4-2。 图4-2 优先次序图2 例如: (ab) (xy) //可写成ab xy (a==b)||(x==y) //可写成a==b||x==y (!a)||(ab) //可写成 !a||ab 如前所述,逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言编译系统在给出逻辑运算结果时,以数值1代表“真”,以0代表“假”;但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”,即将一个非零的数值认作为“真”。例如: (1) 若a=4,则!a的值为0。因为a的值为非0,被认作“真”,对它进行“非”运算,得“假”,“假”以0代表。 (2) 若a=4,b=5,则ab的值为1。因为a和b均为非0,被认为是“真”,因此ab的值也为“真”,值为1。 (3) ?a、b值同前,a||b的值为1。 (4) ?a、b值同前,!a||b的值为1。 (5) ?40||2的值为1。 通过这几个例子可以看出,由系统给出的逻辑运算结果不是0就是1,不可能是其他数值。而在逻辑表达式中作为参加逻辑运算的运算对象(操作数)可以是0(“假”)或任何非0的数值(按“真”对待)。如果在一个表达式中不同位置上出现数值,应区分哪些作为数值运算或关系运算的对象,哪些
您可能关注的文档
- 常用工具软件 教学课件 作者 邹祖银 康志亮 宋勤 第10章 网络通信工具.ppt
- 操作系统( 第二版) 高职计算机应用技术专业 第6章 文件管理.ppt
- 城市轨道交通通信与信号 教学课件 作者 贾毓杰 B20100105091550836.ppt
- 城市轨道交通通信与信号 教学课件 作者 贾毓杰 B20100105091625358.ppt
- 操作系统( 第二版) 高职计算机应用技术专业 第7章 UNIX操作系统基础.ppt
- 仓储管理实务课件 宋雷修改后 仓储管理实务 大连理工大学出版社课件 宋雷 单元2仓库的布局与设备的选择.ppt
- 常用工具软件 教学课件 作者 邹祖银 康志亮 宋勤 第11章 文件传输工具.ppt
- 操作系统( 第二版) 高职计算机应用技术专业 第8章 操作系统课程设计.ppt
- 仓储管理实务课件 宋雷修改后 仓储管理实务 大连理工大学出版社课件 宋雷 单元3仓储合同的签订.ppt
- 城市轨道交通系统概论 教学课件 作者 李建国 1 1_第1章 城市轨道交通的概念与历史.ppt
文档评论(0)