- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch-循环
第四讲
循 环
1
本讲主要内容
2
思考
① 计算1到100相加之和;
② 计算多项式1+2+3-4+5+… +99+100 的值;
③ 输入某班50名学生C语言考试的成绩,求平均分。
对于重复操作问题,程序设计者必须考虑这些问题的规律并加以总结,从程序功能结构层面上实现循环。
循环结构:方法是通过控制程序执行的顺序,确保某些语句被反复执行,直到规定的次数或满足某种条件为止。
一、循环的基本要素
循环有四个基本要素
循环变量初始化
循环的条件
循环体
循环变量的递增或递减
4
5
二、while循环
while语句的格式为:
循环变量初始化;
while(循环条件)
{
循环体语句;
循环变量递增/递减;
}
执行过程为:首先计算描述循环条件的表达式的值,当值为“真”(即非0)时,执行循环体语句,然后再回到循环条件进行判断;当值为“真”时,再次执行循环体语句,如此重复,直到循环条件不成立为止。
6
while循环举例--1
【例】分析阅读下面的程序,写出程序执行后的结果。
void main()
{
int n=0;
while(n=2)
{
n++;
printf(%d ,n);
}
}
注意变量n的变化!
程序的运行结果为:
1 2 3
7
while循环举例--2
【例】 用while语句求s=1+2+3+…+100的值。
问题分析:要累加的数从1到100是有规律的,后一个数比前一个数大1。因此,可在循环中使用一个整型变量n,开始的初值是1,每累加一次使n增1,直到n的值大于100为止。
#include stdio.h
void main()
{
int n=1,sum=0;
while(n=100)
{
sum=sum+n;
n++;
}
printf(sum=%d\n,sum);
}
8
while循环举例--3
【例5-13】 统计从键盘输入一行字符的个数(输入完一行字符后以回车键结束)。
/* 统计一行字符个数 */
#include stdio.h
void main()
{
int n=0;
printf(input a string:\n);
while(getchar()!=\n)
{
n++;
}
printf(%d,n);
}
是否循环问题,如何控制结束?
三、do-while循环
do-while语句的一般形式为:
循环变量初始化;
do
{
要重复的语句块;
循环变量递增/递减;
}while(表达式);
其中“要重复的语句块”是
循环体,表达式是循环条件。
9
此处分号不可少
do-while语句举例
控制输出的偶数个数
在本例中,循环条件改为--n,否则将多执行一次循环。这是由于先执行后判断而造成的。
10
do-while语句还应注意以下几点:
在if语句,while语句中,条件表达式后面都不能加分号, 而在 do-while语句的条件表达式后面则必须加分号。
do-while语句也可以组成多重循环,而且也可以和while语句相互嵌套。
在do和while之间的循环体由多个语句组成时,也必须用{ }括起来组成一个复合语句。
do-while和while语句相互替换时,要注意修改循环控制条件。
11
while和do-while循环的区别
12
while有可能一次循环体都不执行
do-while至少执行一次循环体
四、for循环
for循环是C语言所提供的功能很强,使用很广泛的一种循环语句。其一般形式为:
for(表达式1;表达式2;表达3)
{
要重复执行的代码块;
}
13
理解for语句
for(表达式1;表达式2;表达3)
{
要重复执行的代码块;
}
表达式1:通常用来给循环变量赋初值,一般是赋值表达式。也允许在for语句外给循环变量赋初值,此时可以省略该表达式。
表达式2:通常是循环条件,一般为关系表达式或逻辑表达式。:
表达式3:通常可用来修改循环变量的值,一般是复合赋值语句。
这三个表达式都可以是逗号表达式,即每个表达式都可由多个表达式组成。三个表达式都是任选项,都可以省略。
14
for语句的流程
首先计算表达式1的值。
再计算表达式2的值,若值为真(非0)则执行循环体一次, 否则跳出循环。
然后再计算表达式3的值,转回第②步重复执行。在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次。循环体可能多次执行,也可能一次都不执行。
15
f
文档评论(0)