第08讲 条件运算符与条件表达式、switch语句、选择结构程序设计幻灯片.pptVIP

第08讲 条件运算符与条件表达式、switch语句、选择结构程序设计幻灯片.ppt

  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文档。上传文档
查看更多
第8讲 条件运算符与条件表达式 switch语句、选择结构程序设计 4.3 条件运算符和条件表达式 若“表达式2”与“表达式3”的数据类型不一致,则系统自动地将其中的一个精度低的表达式转化为精度较高的表达式的数据类型。如:x0?5:1.5的结果为实型数5.0或1.5。 说明:1.条件运算符的优先级高于赋值运算符,但低于逻辑运算、关系运算和算术运算。 2.条件运算符具有自右向左的结合性。 如:max=a(bc? b: c)?a: b c? b : c 相当于:max=a(bc? b: c )?a:(bc? b : c) 4.4 switch语句 例4.5 例4.6 用switch语句改写例4.3 4.4.2 switch语句体中的break语句 4.5 选择结构程序举例 第四章 作业 * * 条件运算符: ? : 条件表达式的一般形式为:表达式1?表达式2:表达式3 条件表达式的求解过程:先求“表达式1”的值,当“表达式1”的值为非零时,以“表达式2”的值作为整个条件表达式的值;当“表达式1”的值为零时,以“表达式3”的值作为整个条件表达式的值。 使用switch语句实现多分支选择结构,可以使程序的结构显得更加清晰。 1. switch语句的一般形式与执行过程 switch语句形式如下: switch (表达式) {case 常量表达式1: [语句1] case 常量表达式2: [语句2] : case 常量表达式n: [语句n] [default:语句n+1] } 表达式只能是整型、字符型或枚举型 case和常量表达式之间一定要有空格 多条语句可以不必用{ }括起来 default标号也可以放在其它位置 方括号中的内容可以省略 执行过程: 先计算表达式的值,然后寻找与该值吻合的case标号,并执行该标号开始的所有语句,直到switch语句体结束。如果没有与该值相等的标号,则从default标号后的语句开始执行,直到switch语句体结束。 main() {int y , m, d, dd=0; printf(Enter yyyy/mm/dd:); scanf(%d/%d/%d, y, m, d); printf(%d/%d/%d, y, m, d); switch (m-1) {case 11: dd=dd+30;/*11月的天数*/ case 10: dd=dd+31; /*10月的天数*/ …… case 2: dd=dd+28; /*2月的天数*/ case 1: dd=dd+31; /*1月的天数*/ case 0: dd=dd+d; /*当月已过的天数*/ } if((m2)(y%4==0y%100!=0||y%400==0)) dd=dd+1; /*闰年的2月有29天*/ printf( %d\n,dd); } 编写程序,输入能代表一个日期的三个整数,计算该日是该年的第几天。 case 9: dd=dd+30; case 8: dd=dd+31; case 7: dd=dd+31; case 6: dd=dd+30; case 5: dd=dd+31; case 4: dd=dd+30; case 3: dd=dd+31; 程序运行情况如下: Enter yyyy/mm/dd:2003/2/15CR 2003/2/15 46 Enter yyyy/mm/dd:2003/12/31CR 2003/12/31 365 main() {int g ; printf(Enter a mark: ); scanf(%d,g); printf(g=%d: ,g); switch (g/10) {case 10: case 9: printf(A\n); case 8: printf(B\n); case 7: printf(C\n); case 6: printf(D\n); default: printf(E\n); } } 程序运行情况如下: Enter a mark:78CR g=78: C D E 程序在输出了与78分相关的

文档评论(0)

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

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

1亿VIP精品文档

相关文档