- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第06章 循环构程序设计
本章重点: ● while语句
● do-while语句
● for语句
● break和continue语句
第六章 循环结构程序设计
§6.1 while语句
一、格式
while (表达式)
{
//循环体
}
二、举例
最简单的例子( 输出5行星号,输出1~10十个数或它们的平方)
需分析的例子( 累加,累乘,类除,同时累加累乘)
稍复杂的例子( 循环嵌套,如:输出小于100的所有质数,求两个
数的最大公倍数或最小公约数等)
复杂算法例子( 涉及到数组等的例子,如杨辉三角等)
1. 求s=1 + 2 + 3 + … + 100的程序
main()
{
int i,s;
s=0;
i=1
While (i=100)
{
s=s+i;
i=i+1
}
printf(“s=%d”,s);
getch();
}
2. 读下面的程序,说出结果
main()
{
int i,j,s;
i=1; j=100;
s=0;
While (ij) ;
{
s=s+i+j;
i=i+1;
j=j-1;
}
printf(“s=%d”,s);
getch();
} 3. 思考下面的程序会怎么样?
main()
{
int i,s;
s=0;
i=1
While (i=100) ;
{
s=s+i;
i=i+1
}
printf(“s=%d”,s);
getch();
} 三、说明
1. 循环体一定要括起来,否则只为第一句。
2. 循环体中应有使循环趋于结束的语句,否则可能是死循环
§6.2 do-while语句
一、格式
do
{
//循环体
} while (表达式) ;
二、举例
例. 求s=1 * 2 * 3 * … * 10的程序
main()
{
int i,m;
m=1;
i=1
do
{
m=m*i;
i=i+1
} While (i=10) ;
printf(“m=%d”,m);
getch();
}
三、说明
1. while(表达式)的后面有“;”
2. 一般使用while和for循环较多,do-while循环很少使用
§6.3 for语句
一、格式
for (表达式1 ; 表达式2 ; 表达式3)
{
//循环体
} 表达式1:一般为赋值表达式,给循环变量赋初值;
表达式2:一般为关系表达式或逻辑表达式,循环条件;
表达式3:一般为赋值表达式,给循环变量增量或减量。
上述格式通常又可以写为以下格式
for (循环变赋初值 ; 循环条件 ; 循环变量增加)
{
//循环体
}
执行过程:首先计算表达式1,然后计算表达式2,若表达式2为真,则执行循环体;否则,退出f o r循环,执行f o r循环后的语句。如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计算表达式2,依此循环,直至表达式2的值为假,退出循环。
二、举例
1. 求s=1! + 2! + 3! + … + 10!的程序
main()
{
int i,m,s;
m=1; s=0;
for (i=1; i=10; i++)
{
m=m*i;
s=s+i;
}
printf(“s=%d”,s);
getch();
}
2. 从键盘输入一个整数,判断它是否为质数。
main()
{
int i,x;
printf(please input x: );
scanf(%d , x);
for (i=2; i=x-1; i++)
{
if (x%i==0)
{
printf(“no”);
exit(0);
}
}
printf(“Yes”);
getch();
} 三、说明
1. “变量赋初值”、“循环控制条件”和“循环变量增值”部分均可缺省,
甚至全部缺省,但其间的分号不能省略。
2. “循环变量赋初值”表达式,既可以是给循环变量赋初值的赋值表
达式,也可以是与此无关的其它表达式(如逗号表达式)。
3. “循环继续条件”部分是一个逻辑量,除一般的关系(或逻辑)表
达式外,也允许是数值(或字符)表达式。
例: 省略部分或全部的例子 main()
{
int i,s;
s=0; i=1;
for ( ; ; )
{
s=s+i;
i++;
if (i100)
{
exit(0);
}
}
printf(“s=%d”,s);
getch();
} 例: “循环变量赋初值”表达式的各种变化 main()
{
int i,j,s;
for (i=1,j=10,s=0; i=j; i++,j--)
{
s=s+i+j;
}
printf(“Yes”);
您可能关注的文档
- 立体几何二轮复材料.doc
- 立体几何初步空几何体.doc
- 立体几何第一章末检测.doc
- 立体图形与平面形(文本式).doc
- 立体表面元素及本体的投影.doc
- 立信专升本国贸业单选.doc
- 立宪派在辛亥革中的作用.doc
- 立足生态旅游特 强势推进现代农业.doc
- 站桩是中国传统术的基本.doc
- 竞赛专题:奇数偶数及奇偶分析.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)