选择分支结构C语言程序设计(谭浩强第三)剖析.ppt

选择分支结构C语言程序设计(谭浩强第三)剖析.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
注意: 条件运算符优先于赋值运算符。 例如: max=(ab? a:b) 可去掉( ) 条件运算符低于关系运算符和算术运算符。 例如: max=ab? a:b+1?max= ab? a:(b+1) 而不是 max=(ab? a:b)+1 条件运算符结合性为从右至左。 例如: ab? a:cd ? c:d 相当于 ab? a:(cd? c:d) 条件表达式不能取代一般的if语句,只有当if 的两 个分支为给同一变量赋值时才可替代if. 例如:求 y=a+|b| printf(“y=%d\n”,b0?a+b:a-b); 表达式1、表达式2、表达式3的类型可以不同。 例如: xy? 1 : 1.5 3、条件运算符 5.3 if语句 3、条件运算符 例8 输入一个字符,判别它是否大写字母。 如果是,将它转换成小写字母; 如果不是,不转换。 然后输出最后得到的字符。 main ( ) { char ch; scanf (%c, ch); ch=(ch=A ch=Z ? (ch+32):ch; printf(%c, ch) } 5.3 if语句 switch语句是多分支选择语句,也叫开关语句 一般形式: switch (表达式) { case常量表达式1:语句 1 [break;] case常量表达式2: 语句 2 [break;] … case常量表达式n:语句 n [break;] default: 语句 n+1 } 5.4 switch语句 switch 表达式 语句1 语句2 语句n 语句n+1 … 式 1 式2 式n default case 执行过程:当表达式的值与某一个 case 后面的常量表达式的值相等时,就执行此 case 后面的语句。若所有的 case 中的常量表达式的值都没有与表达式的值匹配,则执行 default 后面的语句。 例9 根据成绩等级,打印出成绩范围。 5.4 switch语句 main( ) { char grade; printf(Enter your grade\n); scanf(%c,grade); switch(grade) { case A: printf(“90~100\n); break; case B: printf(“80~89\n); break; case C: printf(“70~79\n); break; case D: printf(60~69 \n); break; case ‘E: printf(60\n); break; default: printf(error\n); } } 没有break将是错误的。 例如输入B,打印出: 80~89 70~79 60~69 60 error 注意:case常量表达式只起语句标号作用; 必须用break语句终止多个case连续执行,否则只要有一个case满足后,以下的语句全部无条件执行。除非遇到“}”或break语句来终止switch语句的执行。 例10 根据成绩范围,打印出成绩等级。 5.4 switch语句 main( ) { int score,num; char grade; scanf(%d,score); num=score/10; switch(num) { case 10: case 9 : grade=A; break; case 8 : grade=B‘; break; case 7 : grade=C; break; case 6 : grade=D; break; default : grade=E; } printf(%d %c,score,grade); } 鉴于上述原因, 2个或多个case可以共用一组执行语句 1. 表达式的类型和常量表达式的类型必须一致;switch后面的表达式一般情况下是整型或字符型。 2. 每一个 case 的常量表达式的值必须互不相同。 3. 多个case和default的出现次序不影响执行结果。 4. case常量表达式只起语句标号作用; 必须用break语句终止多个case连续执行,

文档评论(0)

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

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

1亿VIP精品文档

相关文档