- 1、本文档共29页,可阅读全部内容。
- 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第5章教学zpew修订
第五章 循环结构程序设计
5.1循环结构的程序设计思想
5.2 实现循环结构的语句
while语句 (P57)
for语句 (P58)
三、do~while语句(P60)
5.3 循环嵌套的概念及实现(P61)
5.4 循环结构程序设计举例
5.5 其他语句
一、break语句(间断语句)(P70)
二、continue(接续语句)(P71)
三、goto(转向语句)(P72)
第五章 循环结构程序设计
5.1循环结构的程序设计思想
例5.1 从键盘上输入10个整数,求其累加和。
问题分析:
这是一个重复累加的问题。从键盘上输入一个整数,进行一次累加,再输入一个整数,再进行一次累加……直至10个整数全部输入并累加完毕。这里循环的继续条件是:10个数未输入累加完毕,而每次重复的工作为:输入数据、进行累加。
设:x为欲累加的数据;
sum为累加和变量,用于累加求和;
i为循环控制变量,用于控制循环的次数(即构成循环继续的条件)。
其算法表示如下图所示:
循环结构程序设计要考虑两个方面的问题:
①循环继续的条件。
②循环体。
循环结构程序的设计就是要:正确描述循环继续的条件并针对问题分析出其规律,利用循环控制语句进行处理。
5.2 实现循环结构的语句
一、while语句
while语句用于构成“当型”循环结构。其流程如下图所示:
程序形式:
while (表达式)
{
循环体语句
}
while循环结构的执行过程是:首先计算表达式(循环继续的条件)的值,当结果为:真“(非0)”,则执行循环体语句;然后再计算表达式的值,重复上述过程,直到表达式的值为“假(0)”时结束循环,流程控制转到循环结构的下一语句。
利用while语句对例5.1实现编程。
例5.1程序如下:
#includestdio.h
void main()
{ int i,sum,x;
i=0;sum=0; //循环控制变量i、累加变量sum赋初值
while (i10) //循环继续的条件
{
printf(Enter a data:);
scanf(%d,x); //输入累加的数据
i++; //循环控制变量递增
sum=sum+x; //进行累加求和
}
printf(sum=%d\n,sum); //输出计算结果
}
使用while循环结构应注意以下几点:
①while循环结构的特点是“先判断,后执行“。如果表达式的值一开始就为“假”则循环体一次也不执行。
②循环体中,如果包含一个以上的语句,则应用花括号括起来。
③循环体内一定要有改变循环继续条件的语句,使得循环趋向于结束,否则循环将无休止地进行下去,即形成“循环”如上例中的语句:i++。
④为使循环能够正确开始运行,还要做好循环前的准备工作。如上例中的语句i=1和sum=0 ,分别给循环控制变量初始化和对累加求和单元清零。
例5.2 将4.3改为从键盘上输入30名学生的成绩,对其进行处理。如果成绩及格,则输出“Passed”;否则输出“Failed”。
问题分析:
每个学生成绩的处理流程都是一样的,30名学生成绩的处理无非是对每个学生成绩处理流程进行30次的重复,而每次只需输入不同的学生成绩即可。
因此,该问题的求解算法是:只需在例4.3的基础上加一个循环处理。设一个变量n用来累计已处理完的学生成绩的个数,当处理完30个成绩后,程序结束。
#include stdio.h
void main()
{ float score;
int n=0;
while (n30)
{ n=n+1;
printf(Enter a score:);
scanf(%f,score);
if (score=60.0)
printf(\nPassed\n);
else
printf(\nFailed\n);
}
}
二、for语句
程序形式:
for (表达式1;表达式2;表达式3)
循环体语句
for循环结构的执行过程如图:
例5.3 用for循环实现例5.1
#includestdio.h
void main()
{ int i,sum,x;
for(i=0,sum=0;i10;i++)
{
printf(Enter a data:);
scanf(%d,x);
sum=sum+x;
}
pr
文档评论(0)