设计高级计算器.pptVIP

  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文档。上传文档
查看更多
引导问题 (1) 如何处理除数不能为0的情况? (2) 如何对高级计算器的功能进行选择,设计菜单界面? (3) 如何实现累加和功能,如何实现阶乘功能? (4) 各种循环语句有何区别,该如何选择使用? (5) break及continue语句是如何实现转移控制的? 本项目由3个任务组成。 任务1:完善除法功能,处理除数不能为0的情况; 任务2:设计高级计算器的菜单; 任务3:实现累加和及阶乘运算。 任务1 完善除法功能 任务分析 在进行除法运算时,除数是不能为0的。任务1将完善简单计算器的除法功能,处理除数为0的情况:首先判断除数是否为0,如果为0,则输出出错信息,如果除数不为0,则进行除法运算。 这需要引入新的控制结构——选择结构来实现,if-else是C语言实现选择结构的语句。 3.1.1 完善除法运算 完善简易计算器的除法功能,使用if-else语句解决除数为0的问题。 任务1 完善除法功能 结构化程序设计 基本思想:任何程序都可以用三种基本结构表示, 结构化程序:由三种基本结构反复嵌套构成的程序。 优点:结构清晰,易读,提高程序设计质量和效率。 形式1: if(表达式)语句; 任务1 完善除法功能 形式2:if(表达式)语句1;else 语句2; 问题3.3 输入两个数,要求从大到小输出这两个数。 问题3.4 输入一个年份,判断是否为闰年,是闰年输出为“×× is a leap year!”,否则输出为“×× isn’t a leap year!”。 形式3: if(表达式1)语句1; else if(表达式2)语句2; else if(表达式3)语句3; ………… else 语句n; 问题3.6 根据输入的x的值,求方程y=f(x)的值。     x+1 x0   y= x    x=0  x-1 x0 条件运算符: ? : 三目运算符 条件表达式:由条件运算符组成条件表达式 表达式1 ?表达式2 : 表达式3 条件运算符不能分开单独使用,?:配套使用 练一练 实例1、从键盘上输入一个数,如果不是0,则判断其正负和奇偶。 实例2、从键盘上输入一个字符,判断输出是数字字符、大写字符、小写字符还是其他字符。 任务2 设计高级计算器的菜单 3.2.1 任务实施 使用printf函数和switch语句,设计高级计算器的菜单界面,程序运行时,显示高级计算器的菜单,用户根据需要输入相应的功能选项,完成相应的操作。 试一试 问题3.9 输入一个数字,则输出一个英文单词。 用switch语句解题的关键是要把多种情况分成若干个有限的值。 本程序中涉及到的问题是公司对不同的路程采用了5种折扣,但实际上路程值有无数种,我们要把这无数种路程变为若干个值。通过观察可以把250公里作为一个单元,这样就是把所有路程变成13种情况,分别是0、1、2……12。而其中0享受的是没有折扣;1享受的是2%折扣;2、3享受的是5%折扣;4、5、6、7享受的是8%折扣;以此类推。 问题3.10 判断输入的两个数是大于0还是小于0。 switch语句的嵌套。 练习 任务3 实现累加和及阶乘运算 3.3.1 任务实施 实现累加和功能及阶乘功能。可分别使用for语句、while语句、do-while语句来实现。 3.3.2 for语句 任务3 统计一组学生的总分及平均分 练一练 分析以下程序代码的功能。 #include stdio.h void main() { int a=0, n; printf(\n input n: ); scanf(%d, n); for(; n0; a++, n--) printf(%d , a*2); } 问题3.12 输出1—50中所有的偶数,并计算它们的和。 分析:判断i是否为偶数的条件是i%2==0,只有满足该条件的数才能输出并计算累加和。 练习 练一练 统计从键盘输入一行字符的个数。 void main( ) { int n=0; printf(input a string:\n); while(getchar()!=\n) n++; printf(%d,n); } 试一试 案例、输入两个整数,求其最大公约数。 思路: 1、首先用大的数a除以小的数b,如果能整除,最大公约数即为小整数b; 2、如果不能整除,将b赋给a,将a%b赋给b,再检查此时a和b能否整除,如不能则继续重复前面的步骤,一直到某次a和b能整除为

文档评论(0)

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

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

版权声明书
用户编号:5101121231000003

1亿VIP精品文档

相关文档