关系表达式和逻辑表达式-PPT.ppt

上传人:可****阿 文档编号:91983265 上传时间:2023-05-29 格式:PPT 页数:18 大小:812KB
返回 下载 相关 举报
关系表达式和逻辑表达式-PPT.ppt_第1页
第1页 / 共18页
关系表达式和逻辑表达式-PPT.ppt_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《关系表达式和逻辑表达式-PPT.ppt》由会员分享,可在线阅读,更多相关《关系表达式和逻辑表达式-PPT.ppt(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、关系表达式和逻辑表达式关系表达式和逻辑表达式术语术语术语术语“控制流控制流控制流控制流”(Flow Of ControlFlow Of ControlFlow Of ControlFlow Of Control)是指程序语句执行的)是指程序语句执行的)是指程序语句执行的)是指程序语句执行的顺序。除非特别指定,否则所有程序的正常控制流都是顺序的顺序。除非特别指定,否则所有程序的正常控制流都是顺序的顺序。除非特别指定,否则所有程序的正常控制流都是顺序的顺序。除非特别指定,否则所有程序的正常控制流都是顺序的(这意味着每个语句都是顺序执行的,一个接一个地按照它们(这意味着每个语句都是顺序执行的,一个接

2、一个地按照它们(这意味着每个语句都是顺序执行的,一个接一个地按照它们(这意味着每个语句都是顺序执行的,一个接一个地按照它们在程序中的顺序执行)。在程序中的顺序执行)。在程序中的顺序执行)。在程序中的顺序执行)。选择语句和重复(循环)语句都允许程序员改变控制流的选择语句和重复(循环)语句都允许程序员改变控制流的选择语句和重复(循环)语句都允许程序员改变控制流的选择语句和重复(循环)语句都允许程序员改变控制流的正常顺序,正如它们的名称所暗示的,选择语句提供了从一组正常顺序,正如它们的名称所暗示的,选择语句提供了从一组正常顺序,正如它们的名称所暗示的,选择语句提供了从一组正常顺序,正如它们的名称所暗

3、示的,选择语句提供了从一组设计良好的语句组中选择接下来将要执行的语句的能力;而重设计良好的语句组中选择接下来将要执行的语句的能力;而重设计良好的语句组中选择接下来将要执行的语句的能力;而重设计良好的语句组中选择接下来将要执行的语句的能力;而重复语句提供了转回来重复执行一组语句的能力。复语句提供了转回来重复执行一组语句的能力。复语句提供了转回来重复执行一组语句的能力。复语句提供了转回来重复执行一组语句的能力。所有的程序都由这这三种(顺序、选择、循环)控制结构所有的程序都由这这三种(顺序、选择、循环)控制结构所有的程序都由这这三种(顺序、选择、循环)控制结构所有的程序都由这这三种(顺序、选择、循环

4、)控制结构构成,这就是结构化程序设计中的一个重要原则。构成,这就是结构化程序设计中的一个重要原则。构成,这就是结构化程序设计中的一个重要原则。构成,这就是结构化程序设计中的一个重要原则。控制流(程序流)顺序结构顺序流程意味着每个语句都是顺顺序流程意味着每个语句都是顺顺序流程意味着每个语句都是顺顺序流程意味着每个语句都是顺序执行的,一个接一个地按照它们在序执行的,一个接一个地按照它们在序执行的,一个接一个地按照它们在序执行的,一个接一个地按照它们在程序中的顺序执行,且只执行一次。程序中的顺序执行,且只执行一次。程序中的顺序执行,且只执行一次。程序中的顺序执行,且只执行一次。选择(分支)结构选择(

5、分支)结构提供了从选择(分支)结构提供了从选择(分支)结构提供了从选择(分支)结构提供了从一组设计良好的语句组中选择接一组设计良好的语句组中选择接一组设计良好的语句组中选择接一组设计良好的语句组中选择接下来将要执行的语句的能力下来将要执行的语句的能力下来将要执行的语句的能力下来将要执行的语句的能力 循环结构循环结构提供了转回来重复执行循环结构提供了转回来重复执行循环结构提供了转回来重复执行循环结构提供了转回来重复执行一组语句的能力。一组语句的能力。一组语句的能力。一组语句的能力。在我们编写程序的时候,需要控制程序根据条件来选择执在我们编写程序的时候,需要控制程序根据条件来选择执在我们编写程序的

6、时候,需要控制程序根据条件来选择执在我们编写程序的时候,需要控制程序根据条件来选择执行相关的操作。很多时候,需要判断的条件往往不止一个,比行相关的操作。很多时候,需要判断的条件往往不止一个,比行相关的操作。很多时候,需要判断的条件往往不止一个,比行相关的操作。很多时候,需要判断的条件往往不止一个,比如从键盘输入一个数,我们要判断它是否大于如从键盘输入一个数,我们要判断它是否大于如从键盘输入一个数,我们要判断它是否大于如从键盘输入一个数,我们要判断它是否大于0 0,并且小于,并且小于,并且小于,并且小于1010,这里的,这里的,这里的,这里的“大于大于大于大于”,“小于小于小于小于”就是关系运算

7、,就是关系运算,就是关系运算,就是关系运算,“并且并且并且并且”就是逻就是逻就是逻就是逻辑运算。辑运算。辑运算。辑运算。C C语言为我们提供了逻辑运算和关系运算,用它们构成复语言为我们提供了逻辑运算和关系运算,用它们构成复语言为我们提供了逻辑运算和关系运算,用它们构成复语言为我们提供了逻辑运算和关系运算,用它们构成复杂的控制条件,来实现程序的选择结构和循环结构。杂的控制条件,来实现程序的选择结构和循环结构。杂的控制条件,来实现程序的选择结构和循环结构。杂的控制条件,来实现程序的选择结构和循环结构。程序设计条件的表示关系运算和我们数学中的比较运算基本一致,它们用于两关系运算和我们数学中的比较运算

8、基本一致,它们用于两关系运算和我们数学中的比较运算基本一致,它们用于两关系运算和我们数学中的比较运算基本一致,它们用于两个操作数(整数、浮点数、字符数据)的比较。个操作数(整数、浮点数、字符数据)的比较。个操作数(整数、浮点数、字符数据)的比较。个操作数(整数、浮点数、字符数据)的比较。C C语言为我们提供了语言为我们提供了语言为我们提供了语言为我们提供了6 6种关系运算符:种关系运算符:种关系运算符:种关系运算符:关系运算符和关系表达式大家应该也有点累了,稍作休息大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以

9、询问和交流8关系运算符都双目运算符,满足从左到右的结合律。它们的关系运算符都双目运算符,满足从左到右的结合律。它们的关系运算符都双目运算符,满足从左到右的结合律。它们的关系运算符都双目运算符,满足从左到右的结合律。它们的优先关系如下:优先关系如下:优先关系如下:优先关系如下:1 1、关系运算符的优先级要低于算术运算符。比如语句:、关系运算符的优先级要低于算术运算符。比如语句:、关系运算符的优先级要低于算术运算符。比如语句:、关系运算符的优先级要低于算术运算符。比如语句:c=b+2c=b+2;则先计算;则先计算;则先计算;则先计算 b+2 b+2 的值,再和的值,再和的值,再和的值,再和c c比

10、较。比较。比较。比较。2 2、关系运算符的优先级高于赋值运算符。比如语句、关系运算符的优先级高于赋值运算符。比如语句、关系运算符的优先级高于赋值运算符。比如语句、关系运算符的优先级高于赋值运算符。比如语句“a=bc;”a=bc;”,先进行关系运算,先进行关系运算,先进行关系运算,先进行关系运算“bc”bc”,成立(真),则,成立(真),则,成立(真),则,成立(真),则bcbc值为值为值为值为1 1,不成立(假),则,不成立(假),则,不成立(假),则,不成立(假),则bcbc值为值为值为值为0 0;然后再做赋值运算,把;然后再做赋值运算,把;然后再做赋值运算,把;然后再做赋值运算,把1 1或

11、或或或0 0赋赋赋赋值给值给值给值给a a。3 3、关系运算符、关系运算符、关系运算符、关系运算符、=、=的优先级要高于的优先级要高于的优先级要高于的优先级要高于=、!=!=的优的优的优的优先级,同级之间优先级相同。比如语句先级,同级之间优先级相同。比如语句先级,同级之间优先级相同。比如语句先级,同级之间优先级相同。比如语句“ca!=b;”ca!=b;”,先计算,先计算,先计算,先计算“ca”ca”,再算,再算,再算,再算“!=”!=”的值,等价于的值,等价于的值,等价于的值,等价于“(ca)!=b”(c=60”score=60”表达式是否为真,为真其就是表达式是否为真,为真其就是表达式是否为

12、真,为真其就是表达式是否为真,为真其就是1 1,为假就是,为假就是,为假就是,为假就是0 0。当当当当 score=86score=86,“score=60”score=60”为为为为“真真真真”,表达式的值为,表达式的值为,表达式的值为,表达式的值为1 1;当当当当 score=54score=54,“score=60”score=60”为为为为“假假假假”,表达式的值为,表达式的值为,表达式的值为,表达式的值为0 0;总结来讲,关系表达式的值只有两种可能:关系成立,则关总结来讲,关系表达式的值只有两种可能:关系成立,则关总结来讲,关系表达式的值只有两种可能:关系成立,则关总结来讲,关系表达

13、式的值只有两种可能:关系成立,则关系表达的值为系表达的值为系表达的值为系表达的值为“真真真真”(值为(值为(值为(值为1 1);关系不成立,则关系表达式的);关系不成立,则关系表达式的);关系不成立,则关系表达式的);关系不成立,则关系表达式的值为值为值为值为“假假假假”(值为(值为(值为(值为0 0)。在)。在)。在)。在C C语言中用非语言中用非语言中用非语言中用非 0 0 值表达值表达值表达值表达“真真真真”,用,用,用,用 0 0 表达表达表达表达“假假假假”。关系表达式想要判断整数想要判断整数想要判断整数想要判断整数 sum sum 的取值是否满足:的取值是否满足:的取值是否满足:的

14、取值是否满足:0sum 1000sum 100;千;千;千;千万不能写成万不能写成万不能写成万不能写成“0=sum=1000=sum=0 sum=0 并且并且并且并且 sum=100 sum13&d20”a13&d20”就是逻辑表达式,就是逻辑表达式,就是逻辑表达式,就是逻辑表达式,逻辑表达式的值取逻辑表达式的值取逻辑表达式的值取逻辑表达式的值取1 1(真),或者(真),或者(真),或者(真),或者0 0(假)。(假)。(假)。(假)。一个逻辑表达式可以包含多个逻辑运算符,它们的优先级一个逻辑表达式可以包含多个逻辑运算符,它们的优先级一个逻辑表达式可以包含多个逻辑运算符,它们的优先级一个逻辑表

15、达式可以包含多个逻辑运算符,它们的优先级顺序是:顺序是:顺序是:顺序是:“!”!”的优先级最高,的优先级最高,的优先级最高,的优先级最高,“&”&”次之,次之,次之,次之,“|”|”的优先级最的优先级最的优先级最的优先级最低。逻辑运算符低。逻辑运算符低。逻辑运算符低。逻辑运算符“&”&”、“|”|”的优先级低于所有关系运算符,的优先级低于所有关系运算符,的优先级低于所有关系运算符,的优先级低于所有关系运算符,而而而而“!”!”的优先级高于所有算术运算符。的优先级高于所有算术运算符。的优先级高于所有算术运算符。的优先级高于所有算术运算符。逻辑表达式使用使用使用使用C C的关系运算表达式可能会遇到

16、与浮点数(单精度或双的关系运算表达式可能会遇到与浮点数(单精度或双的关系运算表达式可能会遇到与浮点数(单精度或双的关系运算表达式可能会遇到与浮点数(单精度或双精度)相关的微妙的数学精度问题。因为计算机存储这些数据的精度)相关的微妙的数学精度问题。因为计算机存储这些数据的精度)相关的微妙的数学精度问题。因为计算机存储这些数据的精度)相关的微妙的数学精度问题。因为计算机存储这些数据的方式不同,所以应该避免使用关系运算符方式不同,所以应该避免使用关系运算符方式不同,所以应该避免使用关系运算符方式不同,所以应该避免使用关系运算符“=”=”来衡量浮点数的来衡量浮点数的来衡量浮点数的来衡量浮点数的等同关系

17、,原因是,很多十进制小数(例如:等同关系,原因是,很多十进制小数(例如:等同关系,原因是,很多十进制小数(例如:等同关系,原因是,很多十进制小数(例如:0.10.1)不能使用有)不能使用有)不能使用有)不能使用有限的位数精确地以二进制表示,因此,要测试这些数字的完全等限的位数精确地以二进制表示,因此,要测试这些数字的完全等限的位数精确地以二进制表示,因此,要测试这些数字的完全等限的位数精确地以二进制表示,因此,要测试这些数字的完全等同关系将会失败。当需要测试非整数值的等同关系时,最好要求同关系将会失败。当需要测试非整数值的等同关系时,最好要求同关系将会失败。当需要测试非整数值的等同关系时,最好

18、要求同关系将会失败。当需要测试非整数值的等同关系时,最好要求运算对象之差的绝对值小于一个非常小的值,因此,对于实际的运算对象之差的绝对值小于一个非常小的值,因此,对于实际的运算对象之差的绝对值小于一个非常小的值,因此,对于实际的运算对象之差的绝对值小于一个非常小的值,因此,对于实际的运算对象,常规表达式运算对象,常规表达式运算对象,常规表达式运算对象,常规表达式operandOne=operandTwooperandOne=operandTwo应该被下面的条件所取代应该被下面的条件所取代应该被下面的条件所取代应该被下面的条件所取代 fabs(operandOne-operandTwo)EPSI

19、LONfabs(operandOne-operandTwo)EPSILON其中其中其中其中 EPSILON EPSILON 是一个被设置为任意可接受的足够小的值是一个被设置为任意可接受的足够小的值是一个被设置为任意可接受的足够小的值是一个被设置为任意可接受的足够小的值(如(如(如(如0.00000010.0000001或其他用户选定的值)的命名常量。因此,如果或其他用户选定的值)的命名常量。因此,如果或其他用户选定的值)的命名常量。因此,如果或其他用户选定的值)的命名常量。因此,如果两个运算对象之差小于两个运算对象之差小于两个运算对象之差小于两个运算对象之差小于EPSILONEPSILON的值

20、,那么这两个运算对象被认的值,那么这两个运算对象被认的值,那么这两个运算对象被认的值,那么这两个运算对象被认为是最基本相等。为是最基本相等。为是最基本相等。为是最基本相等。数学的精度问题例:例:例:例:如果如果如果如果x x和和和和y y是浮点变量,那么条件是浮点变量,那么条件是浮点变量,那么条件是浮点变量,那么条件x/y=0.35x/y=0.35应该以下面的方式来编程:应该以下面的方式来编程:应该以下面的方式来编程:应该以下面的方式来编程:abs(x/y-0.35)0.0000001abs(x/y-0.35)98.6heat 98.6 一个人的身高小于一个人的身高小于一个人的身高小于一个人的

21、身高小于6 6英尺英尺英尺英尺height 6.0 height 6age=30&height6 语文成绩语文成绩语文成绩语文成绩8080分以上或且数学成绩分以上或且数学成绩分以上或且数学成绩分以上或且数学成绩8080分以上(含分以上(含分以上(含分以上(含8080分)分)分)分)chinese=80|math=80chinese=80|math=80 目前为目前为目前为目前为1 1月月月月1515日日日日month=1&day=15month=1&day=15 0 x100 0 x100 x=0&x=0&x5|x5|x25x*x25 年份为闰年年份为闰年年份为闰年年份为闰年(year%4=0&year%100!=0)|year%400=0(year%4=0&year%100!=0)|year%400=0 编写条件的练习(二)整数整数整数整数x x大于大于大于大于5 5x5 x5 或或或或 x=6x=6 e e不等于不等于不等于不等于0 0(不为空)(不为空)(不为空)(不为空)e!=0 e!=0 或或或或 e e e e为为为为0 0(e e为空)为空)为空)为空)e=0 e=0 或或或或 !e!e 编写条件的练习(三)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com