- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计 授课教案
PAGE 1
PAGE 16
学时安排:4
授课题目:循环结构程序设计
目标要求:
理解算法的特征及结构化程序设计的思想,掌握顺序、分枝、循环三种基本的程序设计技术,能够熟练运用它们来进行程序设计。
授课类型: 理论课 授课场地: 教室
教学方式:讲授、演示、提问、讨论 教辅设备: 投影仪
授课内容:
第五章 循环结构程序设计
许多问题的求解归结为重复执行的操作,比如数值计算中的方程迭代求根,非数值计算中的对象遍历。重复执行就是循环。重复工作是计算机特别擅长工作之一。
重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。
重复的动作是受控制的,比如满足一定条件继续做,一直做直到某个条件满足,做多少次结束。也就是说重复工作需要进行控制-循环控制。C语言提供了三种循环控制语句(不考虑goto/if构成的循环),构成了三种基本的循环结构:
while语句构成的循环结构(“当型循环”)
do-while语句构成的循环结构(“直到型循环”)
for语句构成的循环结构(“当型循环”)
编写程序计算1+2+3+…+100。
算法1:直接写出算式
S1: result<=1+2+3+4+5+…+100
很简单。但是写都写得累死了。
算法2:
考虑到1+2+3+…+100可以改写为:(((1+2)+3)+…+100),
S1:p1<=1+2
S2: p2<=p1+3
S3: p3<=p2+4
…
S99: p99<=p98+100 结果在p100里。
此算法也一样麻烦,要写99步,同时要使用99个变量。本算法同样不适合编程。
但是可以从本算法看出一个规律。即:每一步都是两个数相加,加数总是比上一步加数增加1后参与本次加法运算,被加数总是上一步加法运算的和。可以考虑用一个变量i存放加数,一个变量p存放上一步的和。那么每一步都可以写成:p+i,然后让p+i的和存入p,即:每一步都是p<=p+i。也就是说p既代表被加数又代表和。这样可以得到算法3。执行完步骤S99后,结果在p中。
算法3:
S0: p<=0,i<=1
S1: p<=p+i, i<=i+1
S2: p<=p+i, i<=i+1
S3: p<=p+i, i<=i+1
…
S99: p<=p+i, i<=i+1
从算法3表面上看与算法2差不多,同样要写99步。但是从算法3可以看出S1-S99步骤实际上是一样的,也就是说S1-S99同样的操作重复做了99次。计算机对同样的操作可以用循环完成,循环是计算机工作的强项(计算机高速度运算)。
5、1 while语句(当型循环)
while(表达式)
while(表达式)语句;
或:
while(表达式)
{
语句序列;
}
循环体
循环体
循环条件
循环条件
其中:表达式称为“循环条件”,语句称为“循环体”。 为便于初学者理解,可以读做“当条件(循环条件)成立(为真),循环执行语句(循环体)”
执行过程是:
先计算while后面的表达式的值,如果其值为“真”则执行循环体,
在执行完循环体后,再次计算while后面的表达式的值,如果其值为“真”则继续执行循环体,如果表达式的值为假,退出此循环结构。
while循环的执行流程:
使用while语句需要注意以下几点:
while语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。因此,如果表达式的值一开始就为“假”,那么循环体一次也不执行。
当循环体为多个语句组成,必须用{}括起来,形成复合语句。
在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。
编写程序计算1+2+3+…+100。
S0: p<=0,i<=1(循环初值)
S1: p<=p+i, i<=i+1(循环体)
S2: 如果i小于或等于100,返回重新执行步骤S1及S2;否则,算法结束(循环控制)。
p中的值就是1+2+…+100的值。
从算法4可以看出这是一个典型的循环结构程序,流程图:
i<=1,sum<=1
i<=1,sum<=1
当i≤100
sum<=sum+I
i<=i+1
打印sum
main()
{
int i=1,sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
printf(sum);
}
结论:编制循环程序要注
文档评论(0)