- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 C程序的流程设计
【计划课时】授课6课时+上机6课时(预习内容:教材第三~五章)
?
一、程序设计方法简述
?
程序设计的难点在哪里——写程序?否。
1、计算机处理问题的过程
【例一】让某学生解方程 ax2+bx+c=0
求解过程:①分析问题 这是一个一元二次方程(代数问题,须中学代数知识)
②确定处理方案 用求根公式
③确定解题步骤
确定a、b、c的值
求出b2-4ac的值
如果 b2-4ac0(双实根)
X1=……
X2=……
如果 b2-4ac=0(单实根)
X1=X2=……
如果 b2-4ac0(双复根)
X1=……
X2=……
④根据上述步骤计算
⑤写出答案,整理、分析结果
?
?
?
?
?
?
?
N Y
?
N Y
?
?
?
?
?
?
?
?
?
(此图保留以便与N-S流程图对比)
对于计算机
?
?
?
?
?
?
?
?
?
?
?
2、编程要诀——自上而下,逐步细化 “先大纲,后文章”
如同写文章:分几部分——每部分几个问题——每个问题几点……
优点:不易顾此失彼;易于检查;减少后期修改工作量
对于面向过程的程序设计语言:
程序=数据结构+算法(做什么,如何做)
对比:文章=材料+构思
?
二、算法与流程图
?
算法——解题思路(解题步骤等) 写作提纲(越详细文章越好写)
流程图——用图示方式表示算法 编程依据(便于检查)
使用流程图的优点:不易出错/便于编程/便于别人阅读和检查程序
?
1、传统流程图 (上页例题图)
特点:直观形象;使用流线。
缺点:占面积大,使用流线任意转移,易出现“乱麻”现象,造成编程与阅读程序困难。
?
2、N-S结构化流程图
77年美学者I.Nassi和B.Scheiderman提出。
a、特点: ①取消流线
③规定三种基本结构的流程图单元,由这些基本结构象搭积木似的组成各种算法(结构化设计)
b、三种基本结构 P33
①顺序结构 a块、b块顺序执行(每块代表一个或一组操作) 见图3.2
②选择结构 条件p成立时执行a块,否则执行b块 见图3.3
③循环结构 分当型和直到型两类
当型 先判断,只要条件为真就反复执行A块,为假则结束循环 见图3.4
直到型 先执行A块,再判断条件是否为真,为真则继续执行循环体,为假则结束循环 见图3.5(图中改为“直到条件为假”)。
c、优点:算法清晰,流程不会无规律乱转移
【例二】将例一的传统流程图改画为N-S流程图。
输入a、b、c值 求D= b2-4ac D0?
Y N X1= D=0?
Y N X2= X1=X2= X1=…… X2=…… 输出结果 输出结果 输出结果 ?
?
三、选择结构程序设计
?
1、if语句 P52
三种形式: · if(表达式)语句; (图4.5a)
·if(表达式)语句1;else 语句2; (图4.5b)
·if(表达式1)语句1; (图4.6)
else if(表达式2)语句2;
……
else if(表达式n)语句n;
else 语句n+1;
e1?e2:e3是if … else 语句在特定情况下的变体。
?
【例一】将小写字母转换为大写字母
main(){
char c;
printf(“Input :”);
scanf(“%c”,c);
if (c=’a’ c=’z’) /* 这两句亦可写作:c=(c=’a’ c=’z’)?c-32:c; */
c=c-32;
else c=c;
printf(“%c”,c);
}
?
【例二】上节一元二次方程求解
几点注意:①条件:if (a-2) …; a≠2时执行
文档评论(0)