第5章20选择结构程序设计.ppt

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章20选择结构程序设计

第5章 选择结构程序设计 5.1 选择结构的概念 到目前为止,所介绍的程序都属于顺序结构,顺序结构 程序中的所有语句都将被按照书写的顺序执行一次。但是在 实际应用中,常常需要根据不同情况选择不同的执行语句, 这时需要设计分支结构。 例如:在第4章例4.11中,我们介绍了用海伦公式求三条边 长a、b、c分别为3、4、5的三角形的面积s。这个程序的局限 性很大,它不能判别三边长度是否满足构成三角形的条件。 为此,将该问题的算法用流程图和N-S图描述如图5.1所示。 5.1 选择结构的概念 5.1 选择结构的概念 基于图5.1编写的程序如下: #include stdio.h #include math.h void main() { float a,b,c,p,s; printf(input a,b,c=); /*输出提示字符串input a,b,c= */ scanf(%f,%f,%f,a,b,c); /* 通过键盘输入三角形的三边a,b,c的值 */ if(a0||b0||c0||(a+bc)||(b+ca)||(c+ab)) /* 判断构成三角形的条件 */ printf(data error!!\n); /* 不满足构成三角形的条件,输出出错信息 */ else /* 满足构成三角形的条件,由以下复合语句计算面积,并输出其值 */ { p=0.5*(a+b+c); s=sqrt(p*(p-a)*(p-b)*(p-c)); printf(s=%6.2f\n,s); } } 5.1 选择结构的概念 程序运行结果: input a,b,c=3,4,5↙ s= 6.00 input a,b,c=0,2,3↙ data error!! input a,b,c=9,2,4↙ data error!! 5.1 选择结构的概念 此程序在执行时,由用户键入三角形的三边长度,通过程 序第7行“if()”判断输入数据是否满足构成三角形的条件:所有 的边长大于0,并且所有两边之和均要大于第三边。若满足, 则计算并输出结果;反之,只要其中有一个条件不满足,就不 能构成三角形,程序输出“data error!!”出错信息。 在图5.1和上述程序中包含有分支结构。在C语言中,当需 要根据选择条件来确定程序的执行流程,选择某一个分支来执 行,这样的程序结构被称为选择结构(分支结构)。C语言提 供了两种控制语句来实现这种选择结构:if条件语句和switch开 关语句。 5.2 关系运算符和关系表达式 在选择结构中,需要根据选择条件进行判断,然后执行 不同的分支。而选择条件在C语言中一般是由关系表达式组 成的。所谓“关系运算”实际上是“比较运算”,那么比较两个 量的运算符称为关系运算符,由关系运算符组成的式子称为 关系表达式。 关系表达式有且只有两个值:“真”或“假”。由于C语言 中没有逻辑型数据,因此用数值1代表逻辑真,用数值0代表 逻辑假。 5.2 关系运算符和关系表达式 5.2.1 关系运算符及其优先次序 C语言提供了以下6种关系运算符,这些关系运算符分成两 个优先级。 (大于) = (大于等于) (小于) = (小于等于) = = (等于) != (不等于) 关系运算符都是双目运算符,其结合性均为从左向右结合。在6种关系 运算符中: ① 前四种关系运算符的优先级别相同(,=,,=)。 ② 后两种关系运算符的优先级别相同(==,!=)。 ③ 前四种关系运算符的优先级高于后两种关系运算符。 ④ 关系运算符的优先级低于算术运算符。 ⑤ 关系运算符的优先级高于赋值运算符。 5.2 关系运算符和关系表达式 算术运算符、关系运算符和赋值运算符的运算次序为: 算术运 算符→关系运算符→赋值运算符 例如: xa+b 等价于 x(a+b) x=a==b 等价于 x=(a==b) x==yz 等价于 x==(yz) x=y=z 等价于 x=(y=z) 对于表达式853,在C语言中,先计算85的结果为1,也 就是为真,接着再来计算13的结果为0,也就

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档