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

第03章 选择结构.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
问题描述:将键盘输入的百分制成绩转换成五级计分制成绩输出。五级计分制成绩用字母A、B、C、D和E分别表示100~90、89~80、79~70、69~60、59~0。 问题分析: 确定数据结构。 整型变量score——存输入的百分制成绩 字符变量grade——存五级计分制成绩 确定数据处理流程。先从键盘输入一个百分制成绩,再将输入的百分制成绩转换成五级计分制成绩,最后输出五级计分制成绩。 程序实现: #includestdio.h int main(void) { int score; /*保存输入的百分制成绩*/ char grade; /*保存五级计分制成绩*/ printf(输入一个成绩:); scanf(%d,score); if(score100 || score0) /*对输入的成绩作有效性判断*/ { printf(输入百分制成绩无效\n); return 1; } if(score=90) grade=A; /*L1*/ else if(score=80) grade=B; else if(score=70) grade=C; else if(score=60) grade=D; else grade=E; /*L2*/ printf(%d分,等级为%c\n, score,grade); return 0; } 程序说明: 程序的L1行~L2行:使用嵌套的if语句对所列条件按递减顺序判断,可以简化后续条件的表达。讨论参见教材P62。 grade变量:不是必要的,但有了它,可简化程序,提高程序的可读性。 演示例3. 6 嵌套的条件语句,else如何与if配对: 为避免二义性,C语言规定,else总是与其前面最近的还没有配对的if进行配对。 语句 if(e1) if(e2) S1 else S2 上述嵌套的条件语句中else与第二个if配对。 可用一对花括号改变else与第二个if配对: if(e1){ if(e2) S1} else S2 if语句的嵌套:if语句的内嵌语句又是if语句。 演示例3. 7 问题描述:求方程ax2+bx+c=0的根,其中系数a、b、c从键盘上输入,a不为0。 问题分析: 定义浮点变量a、b、c、delta,分别保存一元二次方程的系数和判别式。 当输入系数a、b、c的值后, 若b2-4ac0,则方程无实根; 若b2-4ac0,则方程有两个不同的实根; 若b2-4ac=0,则方程有两个相等的实根。 程序实现: #includestdio.h #includemath.h int main(void) { float a,b,c,delta; printf(输入三个系数:); scanf(%f%f%f,a,b,c); if(a==0) { /*使用复合语句*/ printf(这不是一元二次方程!\n); return 1; } 当if语句的条件成立时,若要执行一系列语句,则应将这一系列语句用一对花括号括起来变成一个复合语句。 delta=b*b-4*a*c; if(delta=0) { /*使用复合语句*/ delta=sqrt(delta); if(delta) printf(方程有两个不同的实根:%f,%f\n, (-b+delta)/2/a,(-b-delta)/2/a); else printf(方程有两个相等的实根:%f\n, -b/2/a); }else printf(方程没有实根!\n); return 0; } 格式: switch(表达式) { case 常量表达式1:[语句序列1]; [break;] case 常量表达式2:[语句序列2]; [break;] … case 常量表达式n:[语句序列n]; [break;] [default:语句序列] } 值只能是字符型或整型 可选项 default分支可放在开关语句中的任何位置,通常为开关语句的最后一个分支。

文档评论(0)

光光文挡 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档