网站大量收购闲置独家精品文档,联系QQ:2885784924

第五章选择控制结构.ppt

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

switch语句和else-if语句的比较 else-if比switch的条件控制更强大一些 else-if可以依照各种逻辑运算的结果进行流程控制 switch只能进行==判断,并且只能是整数判断 csae后面的常量表达式不能用一个区间表示,也不 能出现任何运算符。 例: csae 90=score=100:语句; case 90~100:语句; switch比else-if更清晰 两者都要尽量避免用得过多、过长,尤其不要嵌套得太多,否则,会大大增加程序的分支,使逻辑关系显得混乱,不易维护,易出错。 复合表达式(Compound Expression)的值 在逻辑表达式的求值过程中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的值时,才执行该运算符。 ① a b c 只有a为真时,才需要判别b的值,只有a和b的值都为真时才需要判别c的值。 如:int i=10;则表达式i (i=0) (++i)的值为?变量i的值为? 0(假),该表达式运算结束后,变量i的值为0,而不是1。 ② a || b||c 只要a为真,就不必须判断b和c;只有a为假,才判别b;a和b 都为假才判别c。 如:int i=1,j; 则表达式i++||i++||i++的值为?变量i的值为? 1(真),运算结束后,变量i的值为2,而不是4。 复合表达式(Compound Expression)的值 对于数学上的表示多个数据间进行比较的表达式,在C中要拆写成多个条件并用逻辑运算符连接形成一个逻辑表达式。 如:在数学上,要表示一个变量a的值处于-1和-9之间时,可以用-9a-1。 但在C语言中必须写成a-9 a-1,而不能写成-9a-1。 因为,假设变量a当前的值为-5,它的值确实处在-1和-9之间,但在C++语言中求-9a-1时,从左向右进行计算,先计算-9a,得1 (真),此时该表达式可简化为1-1,结果为0(假)。因此必须写成 a-9 a-1的形式。 Example: switch (month) { case 1: printf(January\n); break; case 2: printf(February\n); break; case 3: printf(March\n); break; default: printf(Others\n); break; } printf(End); Assume month = 1, so … …this step will be executed. Later … …case is terminated here. Jump to … January _ January End _ 5.8用于多路选择的switch语句 Example: switch (month) { case 1: printf(January\n); break; case 2: printf(February\n); break; case 3: printf(March\n); break; default: printf(Others\n); break; } printf(End); …this step will be executed. Later … March _ March End _ Assume month = 3, so … …case is terminated here. Jump to … 5.8用于多路选择的switch语句 Example: switch (month) { case 1: printf(January\n); break; case 2: printf(February\n); break; case 3: printf(March\n); break; default: printf(Others\n); break; } printf(End); Now…what will happen if this break is taken out from the program? 5.8用于多路选择的switch语句 Example: switch (month) { case 1: printf(Janu

文档评论(0)

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

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

1亿VIP精品文档

相关文档