c语言大学教材循环结构程序设计.ppt
《c语言大学教材循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《c语言大学教材循环结构程序设计.ppt(42页珍藏版)》请在课桌文档上搜索。
1、,第5章循环结构程序设计,本章教学内容,引例for循环while循环do-while循环break语句和continue语句循环语句的嵌套*用循环实现通讯录实例的部分功能,教学目标、重点和难点,教学目标了解三种循环形式的异同和应用场合掌握用循环实现常见问题的求解熟悉break、continue语句在循环中的作用掌握循环的嵌套(2层)进一步熟悉单步执行、断点跟踪等程序调试方法教学重点For、while、do-while循环的使用;涉及循环的常用算法教学难点循环的嵌套;经典算法,引例1,输出一行10个星号“*”语句是?,printf(“*n”);,输出两行10个星号“*”语句是?,输出100行10
2、个星号“*”语句是?,重复语句,for(i=1;i=100;i+)printf(“*”);,用循环结构解决,引例2:从键盘依次输入若干个圆的半径值,分别输出对应的圆面积。,#include#define PI 3.1416main()float r,area;scanf(“%f”,重复语句,如果对不定个数的多个圆求其面积该如何处理?,scanf(“%f”,用循环结构解决,C 语言中的各种循环,while,do-while,for,需要多次重复执行一个或多个任务的问题考虑使用循环来解决,for(表达式1;表达式2;表达式3)循环体;,for 循环的一般语法:,1、for 循环,counter=0
3、;inum=100;i=1;,counter=10;inum 25;i=100,counter+;inum=inum+1;i+;,分号用于分隔 for 循环的三个表达式,1、计算表达式1的值,通常为循环变量赋初值;2、计算表达式2的值,即判断循环条件是否为真,若值为真则执行循环体一次,否则跳出循环;3、计算表达式3的值,这里通常写更新循环变量的赋值表达式,然后转回第2步重复执行;,工作原理,1,2,3,4,P120,表达式2,处理表达式1,执行循环体,非0,0,处理表达式3,流程示意,for(i=1;i=100;i+),sum=sum+2;,sum=sum+1;,sum=0;,不确定,sum,
4、0,1,3,sum=sum+3;,6,sum=sum+100;,5050,sum=sum+i;,规律是:,表示为:,是for语句!,计算并输出1+2+3+100的值sum,P120,#include main()int i=0,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(1+2+3+.+100=%dn,sum);,运行结果:1+2+3+.+100=5050,循环体,完整代码:,求任意输入的一个整数n的阶乘 n!,#include void main()int n,i,fac=1;printf(n 请输入任意一个正整数:);scanf(%d,请输入任意一个正整
5、数:5,5,1,1,2,120,6,循环执行五次,5的阶乘=120,注意阶乘变量fac的值的溢出问题,键盘输入10个学生的成绩,输出各成绩及平均成绩。,哪些语句重复执行,执行多少次循环体,输入10个,重复10次,P114,printf(n);ave=(float)sum/10;printf(ave=%fn,ave);,用复合语句,for(i=1;i=10;i+)scanf(%d,循环体是3条语句,main()int i,score,sum=0;float ave=0;printf(Input score:n);,不必放在循环体内,#include main()int a=0,max=0,i=0
6、;printf(nmax=%dn,max);,scanf(%d,printf(Input data:);,输入第一个数并输出,max=a;,第一个数存入max,输入后九个数并输出,for(i=1;i=9;i+)scanf(%d,if(maxa),max=a;,思考:100个数中求最大,如何修改?,例题 从键盘输入10个数,求其中最大值,for(i=1;i=100;i+)sum=sum+(float)1/i;,先思考:如何求,求,再思考:如何解决正负相间的问题,for(i=1;i=100;i+)sum=sum+(float)1/i;,sign=1;,sign=-sign;,sign,sign=1
7、,sum=sum+1/1,i=1,sign=-1,sum=sum-1/2,i=2,sign=1,sum=sum+1/3,i=3,符号翻转,完整程序,for(i=1;i=100;i+)sum=sum+(float)sign/i;sign=-sign;,printf(sum=%fn,sum);,#include main()int i=0,sign=1;float sum=0.0;,关于for 循环的几点说明:,for循环用于循环次数已知或循环次数确定的情况(否则通常常用while 或do-while循环结构)for 循环中有三个表达式for 语句中的各个表达式都可以省略(不提倡!)分号分隔符不能
8、省略,for(;);,可省略,不能省略,2、while 循环,while(表达式)循环体;,while 循环的一般语法:,while(index 100).index+;,计算表达式的值,当值为真(非0)时,执行循环体语句,一旦条件为假,就停止执行循环体。如果条件在开始时就为假,那么不执行循环体语句直接退出循环。,工作原理,示例,表达式,循环体,非0,0,P97,流程示意,#include main()int a,sum=0;printf(Input data:n);scanf(%d,进入循环前先输入一个数,当a为非0时,执行循环体,while,关键字,循环体内再输入一个数,从键盘输入若干个非
9、0数据,求它们的和,用0结束循环的执行。,P97,用while循环求 1+2+3+100,#include main()int,sum=0;printf(sum=%dn,sum);,while(i=100)sum=sum+i;,i=1,i+;,不同循环语句之间可以相互转换,while(i=100)sum=sum+i;,i+;,P99,关于while 循环 的几点说明:,规则1:,while(循环条件),循环条件中使用的变量需要经过初始化,规则2:,while(index 100).index+;,while 循环主体中的语句必须修改循环条件的值,否则会形成死循环,while(1),3、do-w
10、hile 循环,do 语句;while(表达式);,while 循环的一般语法:,do.scanf(“%c”,先执行循环体中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。,工作原理,示例,流程示意,非0,表达式,循环体,0,P100,问题描述:猜数游戏。要求猜一个介于110之间的数字,根据用户猜测的数与标准值进行对比,并给出提示,以便下次猜测能接近标准值,直到猜中为止。,用do-while 循环实现猜数,int number=5,guess;printf(猜一个介于 1 与 10 之间的数n);do printf(请输入您猜测的数:);scanf(%d,猜一个介于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 大学 教材 循环 结构 程序设计
链接地址:https://www.desk33.com/p-241827.html