第四课 选择结构程序设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四课 选择结构程序设计

第四课 选择结构程序设计 计算机科学与技术学院 C培训讲义 钟良骥 关系表达式和逻辑表达式的复习 运算符的功能 运算符的优先级 运算符的正确使用 语句 表达式 假(0) 真(非0) 单分支if语句的执行过程 if控制语句的常见形式 单分支选择结构:if (表达式) 语句 如果表达式的值为真,则执行其后的语句, 否则不执行该语句。 【例】 输入一个数如果该数大于等于0,则输出它的平方根,如果小于0,则不做任何处理。 双分支选择结构:if(表达式) 语句1; else语句2; 语句1 表达式 假(0) 真(非0) 图4.2 双分支if语句的执行过程 语句2 如果表达式的值为真,则执行语句1,否则执行语句2 【例】输入一个数,如果该数大于等于0,则输出它的平方根,如果小于0,则输出数据出错信息“data error”。 多分支选择结构 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 … else if(表达式m) 语句m else 语句n 首先判断表达式1的值,当为真时,则执行对应的语句1。然后跳到整个if语句之外继续执行程序。 如果表达式1的值为假,则继续判断表达式2的值,依次类推。若所有的表达式都不为真,则执行语句n,然后继续执行后续程序。 【例】 从键盘上输入一个百分制成绩,输出相应的等级。90分以上为“A”,80~90分为“B”,60~79分为“C”,60分以下为“D”。 if语句的嵌套 在上述3种结构中,当if(表达式)或else后面的语句本身又是一个if语句时,就形成了if语句的嵌套。 if(表达式) if(表达式1) 语句1_1 else 语句1_2 如:假 真 if(score=80) score=80 if(score=90) printf(A); 假 真 真 假 else score=90 score=60 2 printf(B); 假 else if(score=60) D B C A printf(C); else printf(D); 使用if 语句的嵌套时要注意以下几点: 在嵌套内的if语句可以是前面讲的三种if语句形式。 if语句的嵌套可以是两层甚至是多层,这时要特别注意if与else配对的规则。 switch语句 根据一个表达式的值,选择多个分支,因此也称为分情况语句或开关语句。 其一般形式为: switch(表达式) { case 常量表达式1:语句组;[break;] case 常量表达式2:语句组;[break;] ...... case 常量表达式n:语句组;[break;] [default:语句组;[break;]] } 其中:表达式的值可以是整型或字符型;常量表达式必须是常量,不能是变量,仅代表入口地址,表示当表达式的值等于常量表达式,所执行其后的语句组。 如果没有任何一个case后面的“常量表达式”的值与“表达式”的值相同,则执行default 后面的语句(组)。若default在最后,就跳出switch语句。若default语句在中间,则直到最后遇到break语句时,才跳出switch语句。 使用switch语句时应注意以下几点: 表达式的值可以是整型或字符型。 default可以省略,也可以放在任何位置,但是建议一般放在最后面。若default放在中间时,执行完default语句组后,并不一定跳出switch语句,必须遇到break语句时,才跳出switch语句。 每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。 case后面的“常量表达式”仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,直到遇到break语句,就跳出switch语句。 各case先后次序,不影响程序执行结果。 多个case子句,可共用同一语句(组)。 多分支if结构和switch结构都可以用来实现多条分支,多分支if结构用来实现两条、三条分支情况比较方便,若包括有三条以上分支情况时,使用switch结构较为方便。但是,有些问题只能使用多分支if结构来实现,例如要判断一个值是否处在某个区间的情况。 程序举例 【例】编制程序要求输入整数a和b,若a2 + b2大于100,则输出a2 + b2百位及以上的数字,否则输出两数的和。 【例】试编程

文档评论(0)

cbf96793 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档