C语言(第5章循环控制).ppt
《C语言(第5章循环控制).ppt》由会员分享,可在线阅读,更多相关《C语言(第5章循环控制).ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计安徽农业大学安徽农业大学信息与计算机学院信息与计算机学院循环结构:有规律地重复某些相同的操作。循环结构:有规律地重复某些相同的操作。循环语句:循环语句:1)while语句语句2)do while 语句语句3)for语句语句第第5章章 循环结构程序设计循环结构程序设计5.1.1 一般形式一般形式 while(表达式表达式)循环体语句块循环体语句块;功能:功能:先计算表达式的值,先计算表达式的值,若表达式值为真(值非若表达式值为真(值非0),继续执行循环;),继续执行循环;若表达式的值假(值为若表达式的值假(值为0),循环结束。),循环结束。转向执行转向执行whilewh
2、ile语句之后的语句。语句之后的语句。5.1.1 While语句(语句(“当型当型”循环)循环)有规律重复执有规律重复执行的操作行的操作【例例5.25.2】编写一个程序,用户从键盘输入编写一个程序,用户从键盘输入2020个数,求个数,求它们的和并输出结果。它们的和并输出结果。程序设计分析:程序设计分析:使用循环结构,每次输入一个数x,将它累加到变量sum上,重复执行20次这样的操作,便得到最后的结果。floatfloat x,sum=0;x,sum=0;/*/*定义并初始化变量定义并初始化变量*/intint i=1;i=1;/*/*定义并初始化循环控制变量定义并初始化循环控制变量*/prin
3、tfprintf(“(“请输入数据请输入数据:n”);:n”);whilewhile(i(i=20)=20)/*/*循环条件循环条件*/scanf(“%fscanf(“%f”,&x);”,&x);sum+=x;sum+=x;/*/*累加到变量累加到变量sumsum中中*/i+;i+;/*/*循环控制变量进行更新自增循环控制变量进行更新自增1*/1*/【例例5.1】编写一个程序,用户从键盘输入整数编写一个程序,用户从键盘输入整数n,计算计算s2+4+6+8+2n并输出计算结果并输出计算结果s。假如输入假如输入7,s=2+4+6+8+10+12+147,s=2+4+6+8+10+12+14 s=s
4、=2*12*1+2*22*2+2*32*3+2*42*4+2*52*5+2*62*6+2*72*7利用循环进行以下操作利用循环进行以下操作(1)(1)求出第求出第i i项项(2)(2)累加到总和累加到总和;intint i=1,x,n,s=0;i=1,x,n,s=0;/*/*定义并初始化变量定义并初始化变量*/scanf(“%d”,&nscanf(“%d”,&n););/*/*输入输入n n的值的值*/while(i=n)while(i0)x+;3、在进入循环之前应做好有关变量的初始化赋值操、在进入循环之前应做好有关变量的初始化赋值操作。如上例中,累加变量作。如上例中,累加变量s初始化为初始化
5、为0,i变量初始变量初始化为化为1。5.1.3 do-while语句(语句(”直到型直到型”循环)循环)一般形式一般形式:dodo 循环体语句块;循环体语句块;whilewhile(表达式表达式););功能:功能:先执行循环体语句,然后计算表达式的值。先执行循环体语句,然后计算表达式的值。若表达式值为真(值非若表达式值为真(值非0 0),继续执行循环;),继续执行循环;若表达式的值假(值为若表达式的值假(值为0 0),循环结束。),循环结束。floatfloat x,sum=0;x,sum=0;intint i=1;i=1;printfprintf(“(“请输入数据请输入数据:n”);:n”)
6、;whilewhile(i(i=20)=20)scanf(“%fscanf(“%f”,&x);”,&x);sum+=x;sum+=x;i+;i+;floatfloat x,sum=0;x,sum=0;intint i=1;i=1;printfprintf(“(“请输入数据请输入数据:n”);:n”);dodo scanf(“%fscanf(“%f”,&x);”,&x);sum+=x;sum+=x;i+;i+;whilewhile(i(i=20)=20)【例例5.4】用用do-while语句完成语句完成【例例5.2】的要求,用户从键的要求,用户从键盘输入盘输入20个数,求它们的和并输出结果。个数
7、,求它们的和并输出结果。#include void main()float x,sum=0;int i=1;/*定义并初始化循环控制变量定义并初始化循环控制变量*/printf(“请输入数据请输入数据:”);do scanf(“%f”,&x);sum+=x;/*累加累加*/i+;/*i自增自增1*/while(i=20);printf(“%fn”,sum);【例例5.3】用用do-while语句完成语句完成【例例5.1】的要求;计算的要求;计算s2+4+6+8+2n并输出计算结果并输出计算结果s。void main()int i=1,x,n,s=0;printf(“请输入请输入n的值的值:”)
8、;scanf(“%d”,&n);do x=2*i;/*计算累加第计算累加第i项项*/s+=x;/*累加累加*/i+;;/*i自增自增1*/while(i=n);/*注意分号不能遗漏注意分号不能遗漏*/printf(“s=%dn”,s);5.1.4 do-while语句使用说明语句使用说明 1 1、do-whiledo-while语句与语句与whilewhile语句的使用方法相同,语句的使用方法相同,都由循环继续条件来决定循环体语句是否继续被都由循环继续条件来决定循环体语句是否继续被重复执行。重复执行。2 2、与、与whilewhile循循环环一一样样,为为使循使循环环能正常能正常结结束,也束,
9、也应应保保证证每次每次执执行循行循环环体后,表达式的体后,表达式的值值会有一种会有一种向向“假假”变变化的化的趋势趋势,防止不要出,防止不要出现现死循死循环环。5.2 for 循环结构和循环的嵌套循环结构和循环的嵌套 一般形式一般形式:for(表达式表达式1;表达式;表达式2;表达式;表达式3)循环体语句循环体语句;功能:功能:先执行表达式1语句,然后判断表达式2的值是否为真(值非0);如果为真,则执行循环体语句,接着执行表达式3,再判断表达式2的值;如此重复执行,直到表达式2的值为0终止循环,跳转到循环体之后的语句执行。for(循环变量赋初值循环变量赋初值;循环继续条件循环继续条件;循环变量
10、更新;循环变量更新)循环体语句循环体语句【例例5.6】使用使用for循环语句实现例循环语句实现例【5.2】的要求,用户从键盘的要求,用户从键盘输入输入20个数,求它们的和并输出结果。个数,求它们的和并输出结果。#include void main()void main()float x,sum=0;float x,sum=0;/*/*定义并初始化变量定义并初始化变量*/intint i;i;/*/*定义并初始化循环控制变量定义并初始化循环控制变量*/printfprintf(“(“请输入数据请输入数据:”);:”);for(i=1;i=20;i+)for(i=1;i=20;i+)scanf(“
11、%fscanf(“%f,&x);,&x);/*/*输入一个数输入一个数*/sum+=x;sum+=x;/*/*累加到变量累加到变量sumsum中中*/printfprintf(“(“总和为:总和为:%fn”,sum);%fn”,sum);【例例5.55.5】用用forfor语句完成语句完成【例例5.15.1】的要求,计算的要求,计算s s2+4+6+8+2n2+4+6+8+2n并输出计算结果并输出计算结果s s。#include#include void mainvoid main intint i,x,n,s=0;i,x,n,s=0;/*/*定义并初始化变量定义并初始化变量*/printfp
12、rintf(“(“请输入请输入n n的值的值:”);:”);scanfscanf(“%d”,&n);(“%d”,&n);/*/*输入输入n n的值的值*/forfor(i=1;i=n;i+)(i=1;i=n;i+)x=2*;x=2*;/*/*计算要累加的数据项计算要累加的数据项*/s+=x;s+=x;/*/*累加到累加到s s变量中变量中*/printfprintf(“s=%dn”,s);(“s=%dn”,s);5.2.2 for循环语句使用说明循环语句使用说明 1、for语语句句可可以以取取代代while语语句句或或do-while语语句句,尤尤其其对对于于确确定定循循环环次次数数的的循循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 控制
限制150内