C语言循环结构程序设计课件.ppt
循环结构程序设计循环结构程序设计C程序设计程序设计程序控制结构的流程图程序控制结构的流程图AB顺序结构顺序结构回顾知识回顾知识回顾知识回顾知识选择结构选择结构程序控制结构的流程图程序控制结构的流程图A AP PB B假假真真引入循环引入循环周而复始、往复循环周而复始、往复循环 第二种方法:累加求和第二种方法:累加求和 s=0;s=s+1;s=s+2;s=s+3;s=s+100;重重复复语语句句 第一种方法:高斯算法第一种方法:高斯算法 1100,299,398,50个个101 得到结果:得到结果:5050例:求自然数例:求自然数例:求自然数例:求自然数1-1001-1001-1001-100之和之和之和之和引入循环引入循环 第三种方法:循环结构第三种方法:循环结构 第一步第一步:s=0;第二步第二步:sn=sn-1+n;第三步第三步:若若n100,则输出结果则输出结果。例:求自然数例:求自然数例:求自然数例:求自然数1-1001-1001-1001-100之和之和之和之和 循环结构用来解决重复执行某段算法的问题,这是程循环结构用来解决重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。序设计中最能发挥计算机特长的程序结构。引入循环引入循环教 学 安 排教教教教学学学学目目目目标标标标掌握三种掌握三种掌握三种掌握三种循环语句循环语句循环语句循环语句的使用的使用的使用的使用教教教教学学学学重重重重点点点点掌握三掌握三掌握三掌握三种循环语种循环语种循环语种循环语句的格式句的格式句的格式句的格式和执行流和执行流和执行流和执行流程程程程教教教教学学学学难难难难点点点点循环结循环结循环结循环结构中循环构中循环构中循环构中循环条件与循条件与循条件与循条件与循环体的确环体的确环体的确环体的确定定定定 三种基本循环语句三种基本循环语句三种基本循环语句三种基本循环语句5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.2 while5.2 while循环语句循环语句循环语句循环语句5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计 while(表达式表达式)语句语句;while 循环的一般语法:循环的一般语法:工作流程图工作流程图语句语句表达式表达式假假真真真真例:求自然数例:求自然数1-1001-100之和之和在循环体中是反复要做的事情即做加法,除此之外,循环体中一定要在循环体中是反复要做的事情即做加法,除此之外,循环体中一定要在循环体中是反复要做的事情即做加法,除此之外,循环体中一定要在循环体中是反复要做的事情即做加法,除此之外,循环体中一定要有改变循环变量的语句,保证循环在重复执行若干次之后跳出循环。有改变循环变量的语句,保证循环在重复执行若干次之后跳出循环。有改变循环变量的语句,保证循环在重复执行若干次之后跳出循环。有改变循环变量的语句,保证循环在重复执行若干次之后跳出循环。分析分析1.1.1.1.变量及初始值变量及初始值:用一个不断加用一个不断加用一个不断加用一个不断加1 1 1 1的变量的变量的变量的变量i i i i反映加数的变化,赋初值为反映加数的变化,赋初值为反映加数的变化,赋初值为反映加数的变化,赋初值为1 1 1 1;另外还需要用一;另外还需要用一;另外还需要用一;另外还需要用一个变量个变量个变量个变量sumsumsumsum来存放累加的结果,初始值为来存放累加的结果,初始值为来存放累加的结果,初始值为来存放累加的结果,初始值为0 0 0 0;2.2.2.2.循环条件循环条件:3.3.3.3.循环体循环体:反复要做加法一直做到什么时候停止下来呢?做到加数超过反复要做加法一直做到什么时候停止下来呢?做到加数超过反复要做加法一直做到什么时候停止下来呢?做到加数超过反复要做加法一直做到什么时候停止下来呢?做到加数超过100100100100时停止,时停止,时停止,时停止,所以循环条件为:所以循环条件为:所以循环条件为:所以循环条件为:i=100i=100i=100i=1005 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.2 while5.2 while循环语句循环语句循环语句循环语句#include int main()int i=1,sum=0;while(i =100)sum=sum+i;i+;printf(“%dn”,sum);return 0;循环条件循环条件循环变量增值循环变量增值循环体循环体变量赋初值变量赋初值例:求自然数例:求自然数1-1001-100之和之和5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.2 while5.2 while循环语句循环语句循环语句循环语句 do 语句语句;while(表达式表达式);dowhile 循环的一般语法:循环的一般语法:工作流程图工作流程图假假真真语句语句语句语句表达式表达式注意注意注意注意:此处的此处的此处的此处的”;”;”不要忘写不要忘写不要忘写不要忘写5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.3 do5.3 dowhilewhile循环语句循环语句循环语句循环语句#include int main()int i=1,sum=0;do sum=sum+i;i+;while(i =100);printf(“%dn”,sum);return 0;循环条件循环条件循环变量增值循环变量增值循环体循环体例:求自然数例:求自然数1-1001-100之和之和变量赋初值变量赋初值5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.3 do5.3 dowhilewhile循环语句循环语句循环语句循环语句while(循环条件循环条件)循环体;循环体;do 循环体;循环体;while(循环条件循环条件);do-while 循环是先执行循环是先执行后判断,所以,即使开后判断,所以,即使开始条件为假,循环体也始条件为假,循环体也至少会被执行一次至少会被执行一次。while循环是先判断循环是先判断后执行,所以,如果后执行,所以,如果条件为假,则循环体条件为假,则循环体一次也不会被执行一次也不会被执行。比较比较while和和do-while循环循环循环条件循环条件循环体循环体循环体循环体循环体循环体循环体循环体循环条件循环条件5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计for(表表达达式式1 ;表表达达式式2 ;表表达达式式3 )循环体语句;循环体语句;for for 循环的一般语法:循环的一般语法:1 1234工作流程图工作流程图表达式表达式1 1表达式表达式2 2假假真真循环体循环体下一条语句下一条语句1 123表达式表达式3 34for(循环变量赋初值循环变量赋初值;循环条件循环条件;循环变量增值循环变量增值)循环体语句循环体语句;1 1234for(i=1;i=100;i+)sum=sum+i;5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.4 for5.4 for循环语句循环语句循环语句循环语句for(i=1;i=100;i+)sum=sum+i;变体变体1 1:省略表达式:省略表达式1 1 相当于省去了为循环变量赋初值,此时应在相当于省去了为循环变量赋初值,此时应在相当于省去了为循环变量赋初值,此时应在相当于省去了为循环变量赋初值,此时应在forforforfor语句之前语句之前语句之前语句之前给循环变量赋初值给循环变量赋初值给循环变量赋初值给循环变量赋初值int i=1;for(;i=100;i+)sum=sum+i;5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.4 for5.4 for循环语句循环语句循环语句循环语句for(i=1;i100)break;sum=sum+i;变体变体2 2:省略表达式:省略表达式2 25 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.4 for5.4 for循环语句循环语句循环语句循环语句for(i=1;i=100;i+)sum=sum+i;即省去修改循环变量的值,但此时应在循环体内修改即省去修改循环变量的值,但此时应在循环体内修改即省去修改循环变量的值,但此时应在循环体内修改即省去修改循环变量的值,但此时应在循环体内修改循环变量的值循环变量的值循环变量的值循环变量的值,达到结束循环的目的。达到结束循环的目的。达到结束循环的目的。达到结束循环的目的。for(i=1;i=100;)sum=sum+i;i+;变体变体3 3:省略表达式:省略表达式3 35 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.4 for5.4 for循环语句循环语句循环语句循环语句for(i=1;i100)break;sum=sum+i;i+;不能省略不能省略变体变体4 4:省略:省略3 3个表达式个表达式5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.4 for5.4 for循环语句循环语句循环语句循环语句 三种循环的比较三种循环的比较也可在循环体内也可在循环体内也可在循环体内也可在循环体内修改循环条件修改循环条件循环控制条件循环控制条件循环控制条件循环控制条件循环变量初始化循环变量初始化循环变量初始化循环变量初始化while(表达式表达式)语句;语句;do 语句;语句;while(表达式表达式);forfor(表达式表达式表达式表达式1 1 1 1;表达式;表达式;表达式;表达式2 2 2 2;表达式;表达式;表达式;表达式3)3)3)3)语句;语句;语句;语句;也可在也可在也可在也可在f f f foror语句之前语句之前语句之前语句之前5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计古老的印度传说:舍罕王打算奖赏国际象棋的古老的印度传说:舍罕王打算奖赏国际象棋的古老的印度传说:舍罕王打算奖赏国际象棋的古老的印度传说:舍罕王打算奖赏国际象棋的发明人发明人发明人发明人宰相。国王问他想要什么,他对国王宰相。国王问他想要什么,他对国王宰相。国王问他想要什么,他对国王宰相。国王问他想要什么,他对国王说:说:说:说:“陛下,请您在这张棋盘的第陛下,请您在这张棋盘的第陛下,请您在这张棋盘的第陛下,请您在这张棋盘的第1 1 1 1个格子里,个格子里,个格子里,个格子里,赏给我一粒麦子,在第赏给我一粒麦子,在第赏给我一粒麦子,在第赏给我一粒麦子,在第2 2 2 2个格子里给个格子里给个格子里给个格子里给2 2 2 2粒,第粒,第粒,第粒,第3 3 3 3个个个个小格给我小格给我小格给我小格给我4 4 4 4粒,也就是说每一个小格都比前一小粒,也就是说每一个小格都比前一小粒,也就是说每一个小格都比前一小粒,也就是说每一个小格都比前一小格加一倍。请您把棋盘上所有格加一倍。请您把棋盘上所有格加一倍。请您把棋盘上所有格加一倍。请您把棋盘上所有64646464格的麦粒都赏格的麦粒都赏格的麦粒都赏格的麦粒都赏给您的仆人吧!给您的仆人吧!给您的仆人吧!给您的仆人吧!”国王觉得这个要求太容易满国王觉得这个要求太容易满国王觉得这个要求太容易满国王觉得这个要求太容易满足了,就命令给他这些麦粒。但是当人们把一足了,就命令给他这些麦粒。但是当人们把一足了,就命令给他这些麦粒。但是当人们把一足了,就命令给他这些麦粒。但是当人们把一袋袋的麦子都搬来计数时,国王才发现:就是袋袋的麦子都搬来计数时,国王才发现:就是袋袋的麦子都搬来计数时,国王才发现:就是袋袋的麦子都搬来计数时,国王才发现:就是把印度所有的麦粒全拿来,也满足不了宰相的把印度所有的麦粒全拿来,也满足不了宰相的把印度所有的麦粒全拿来,也满足不了宰相的把印度所有的麦粒全拿来,也满足不了宰相的要求。那么宰相要求得到的麦粒到底有多少呢要求。那么宰相要求得到的麦粒到底有多少呢要求。那么宰相要求得到的麦粒到底有多少呢要求。那么宰相要求得到的麦粒到底有多少呢?5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.5 5.5 举例举例举例举例分析循环结构分析循环结构 变量和初值变量和初值:i=1;s=1;z=0;循循 环环 体体:z=z+s;s=2*s;i+;循环条件:循环条件:ii1=s0=zizi+1=i输出输出z结束结束2*s=sN NN NY YY Y18446744073709552000Press any key to continue#include int main()float i,z,s;z=0;s=1;for(i=1;i=64;i+)z=z+s;s=2*s;printf(“z=%.0fn”,z);return 0;5 5 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计5.5 5.5 举例举例举例举例whilewhile循环语句循环语句循环语句循环语句dowhiledowhile循环语句循环语句循环语句循环语句forfor循环语句循环语句循环语句循环语句课程总结课程总结课程总结课程总结重点内容重点内容重点内容重点内容课后作业课后作业课后作业课后作业三种循环语句的格式和执行流程三种循环语句的格式和执行流程三种循环语句的格式和执行流程三种循环语句的格式和执行流程用其他循环语句改写用其他循环语句改写用其他循环语句改写用其他循环语句改写“印度传说印度传说印度传说印度传说”的的的的例子。例子。例子。例子。体会三种循环语句的使用方法。体会三种循环语句的使用方法。体会三种循环语句的使用方法。体会三种循环语句的使用方法。Thank you!Thank you!Thank you!Thank you!