欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    C语言基础 第五章 循环结构ppt课件.ppt

    • 资源ID:1375802       资源大小:468.50KB        全文页数:48页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言基础 第五章 循环结构ppt课件.ppt

    C的基本结构程序设计,程序的基本结构:,复习提问:,顺序结构选择结构循环结构,C的基本结构程序设计,程序的基本结构:,复习提问:,顺序结构选择结构循环结构,C的基本结构程序设计,程序的基本结构:,复习提问:,顺序结构选择结构循环结构,顺序结构的特点:每一条语句按顺序执行;每一条语句只执行一遍,不重复执行;也没有语句不执行。,复习提问:,C的基本结构程序设计,复习提问:,分支结构的特点:每一条执行了的语句都只执行一遍。不重复执行;但有语句不执行。,C的基本结构程序设计,C的基本结构程序设计,循环结构程序设计,主要内容:循环的概念、循环变量的概念等。(重点)while语句do while语句for 语句(每一种语句的格式和使用都是重点)循环的嵌套(难点),scanf(%f, . 这样重复一百次,然后 输出s的值。,这样写显然非常麻烦。我们注意到程序中的 scanf(%f,两句话是一直重复的,如果能用一种语句,使这两句话能自动的重复执行一百次,就可以简化了书写的麻烦,这就是循环语句。,编程解决这样的一个问题:从键盘输入一百个学生的成绩,求总成绩。,从前面所学,有两种解决方法。1.设一百个变量,分别输入学生的成绩,然后求和。 这种方法浪费内存空间,显然不实际。2.设一个变量,每次输入一个学生成绩,累加后再输入下一个学生成绩,如下:,循环的概念,在循环条件的范围内反复执行相同的循环体,称循环程序设计。,循环结构的特点:循环体中的语句,在条件满足的情况下,可反复执行,5.2 while语句构成的循环结构,一般形式:,循环变量的初始值;while(循环条件表达式) 循环体语句;,执行流程:,循环体语句可以是一条,也可以是多条,多条的时候应用复合语句将多条语句括起来。,循环变量的调整语句,1.计算表达式,2.如果表达式的值为非零,执行语句,3. 返回第一步,重新计算表达式,4. 如果表达式的值为零,则结束循环,如果表达式的值一开始就为0,则语句一次也不会被执行。,执行流程:,while语句举例,问题: 求1-10的和。,算法分析: 1. 定义变量n存储加数,定义s=0存储累加的和。 2. 输入第一个加数n 3. 若n=10,执行第4步,否则执行第6步 4. s=s+n 5. n+ 6. 输出s.,例:求S=1+2+3+10的值,源程序:#includevoid main( ) int i , s ; i=1; while ( i=10 ) s=s+i; i=i+1; printf(please output s=%dn,s);,例,实例,用while循环语句实现求,#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);,源程序:#includevoid main( ) int i , s ,n; printf(please input n:); scanf(%d,例:求S=1+2+3+n 的值,一般形式:,循环变量的初始值;do 循环体语句;while(循环条件表达式);,执行流程:,dowhile语句,1.执行语句,3.表达式的值为非零,返回第1步,4.表达式的值为零,结束循环,语句至少被执行一次。,2.计算表达式,执行流程:,注意:分号不能丢,实例,用do-while循环语句实现求,#include main() int i,sum=0; i=1; do sum=sum+i; i=i+1; while(i=100); printf(%d,sum);,由于do-while语句至少要被执行一次,特别要注意i和sum的取值问题!,想想这样的一段循环语句的执行结果:i=1;while (i=100) putchar(*);i+;,这个循环永远不会结束,因为循环控制变量i没有在循环体内被改变,i+; 不属于循环体。,应该改为:,i=1;while (i=100) putchar(*); i+;,循环语句中一定要注意表达式的值是否能在循环执行过程中被改变,以免造成死循环。,do-while同 while语句的重要区别,例,源程序:#includevoid main( ) int sum=0,i; scanf(%d,例:while和do while循环比较,源程序:#includevoid main( ) int sum=0,i; scanf(%d,5.4 for语句,一般形式执行流程,for(expr1 ; expr2 ; expr3) 循环体语句;,for语句的一般应用形式,for(循环变量赋初值;循环条件;循环变量增值)循环体语句;,#include main() int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(%d,sum);,例 用for循环求,for语句的几点说明for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省无限循环:for( ; ;)for语句可以转换成while结构语句,i=1;for (; i=100; i+) sum=sum+i;,for (i=1; ; i+) sum=sum+i;,for (sum=0,i=1;i=100;) sum=sum+i; i+; ,i=1;for (;i=100;) sum=sum+i; i+; ,for ( ; ;) 语句相当于while(1) 语句,expr1;while(expr2)循环体语句;expr3;,解1:#include main( ) int i=0; for(i=0;i10;i+) putchar(a+i); ,运行结果:abcdefghij,解2:#include main( ) int i=0; for(;i10;i+) putchar(a+i); ,解3:#include main( ) int i=0; for(;i10;) putchar(a+(i+); ,解4:#include main( ) int i=0; for(;i10;putchar(a+i),i+) ; ,例 从a显示到j。,例: 求 ,即计算,main() int i,s,n; s=1; printf(Enter n:); scanf(%d,注意此处的分号。,;,练习1:观察以下程序运行结果并分析。,void main()int n=0;while (n3)printf(n is %dn,n);n+;printf(Thats all this prgram doesn);,在使用while时,只有位于判断条件之后的单个语句(简单语句或复合语句)才是循环的部分。,printf(n is %dn,n);,练习2:观察以下程序运行结果并分析。,void main( )int n=0;while(n+3); printf(n is %dn,n);printf(Thats all this program does.n);,循环在判断条件后的第一个简单或复合语句处就结束了。,循环体是空语句!,练习3:观察以下程序运行结果并分析。,int main(void)long num;long sum = 0l;int status;printf(Please enter an integer to be summed. );printf(Enter q to quit.n);status = scanf(%ld,分析:,这个例子改变了while的判断条件,用status=1代替了status=1。前一个表达式是一个赋值表达式,它把status赋值为1。而且表达式的值就是其左侧的值,这样status=1的值也为1。因此,实际上这个while循环就等于使用了while(1),即无限循环。,5.5 循环的嵌套,三种循环可互相嵌套,层数不限外层循环可包含两个以上内循环,但不能相互交叉嵌套循环的执行流程,(1) while() while() . ,(2) do do while( ); . while( );,(3) while() do while( ); . ,(4) for( ; ;) do while(); while() . ,main() int i,j,k; for(i=0;i2;i+) for(j=0;j2;j+) for(k=0;k2;k+) printf(%d,%d,%dn,i,j,k);,例,运行结果:,例: 循环嵌套,输出九九表,#include main() int i,j; for(i=1;i10;i+) printf(%4d,i); printf(n-n); for(i=1;i10;i+) for(j=1;j10;j+) printf(j=9)?%4dn:%4d,i*j);,for(i=1;i10;i+) for(j=1;j10;j+) printf(j=9)?%4dn:%4d,i*j);,例: 打印如图显示:,#include main( )const int ROWS=6;const int CHARS=6;int row;char ch;for( row = 0; row ROWS ;row+ )for(ch=(A+row ); ch(A+CHARS); ch+)printf(%c,ch);printf(n); ,5.6 break语句和continue语句,break语句功能:在循环语句和switch语句中,终止并跳出循环体或开关体。说明:break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中。,例 break举例:输出圆面积,面积大于100时停止。,#define PI 3.14159#include stdio.hmain() int r; float area; for(r=1;r100) break; printf(r=%d,area=%.2fn,r,area); ,例 break举例:小写字母转换成大写字母,直至输入非小写字母 。,#include main() int i,j; char c; while(1) c=getchar(); if(c=a ,continue语句功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断仅用于循环语句中,continue举例:输出100以内不能被7整除的数。,main()int n; for(n=1;n=100;n+) if (n%7= 0) continue; printf(%d,n);,5.7 应用综合举例,#include main() char c; printf(input one letter, enter for finish:n); while(c=getchar()!=n) if (c=a ,例 从终端输入一行字符,把所有的小写转换成大写。,例,#include main()int a,n,i=1; long int sn=0,tn=0; printf(please input a and n:n); scanf(%d,%d, while (i=n),例 求s=a+aa+aaa+aaaa+aaa的值,其中a是一个数字。例如:2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘输入。,例, tn=tn+a; sn=sn+tn; tn=tn*10; i+; printf(%d,sn); ,#include stdio.hmain()int i,j,k; for (i=0;i=3;i+) for (j=0;j=i;j+) putchar( ); for (k=0;k=6-2*i;k+) putchar(*); putchar(n); for(i=0;i=2;i+) for(j=0;j=2-i;j+) putchar( ); for (k=0;k=2*i+2;k+) putchar(*); putchar(n);,打印图形,*,练习:打印出以下图案:,* * * * * * * * * * * * * * * *,学生自己动笔做,* * * * * * * * * * * * * * * *,* * * * * * * * * *,练习:打印出以下图案:,* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *,学生自己动笔做,本章小结,while语句构成的循环结构do while语句构成的循环结构for 语句循环的嵌套break语句和continue语句循环结构程序设计,#include stdio.hmain() int i,j,k; for(i=0;i4;i+) for(k=0;k(3-i)*2;k+) putchar( ); for(j=0;j4;j+) printf(* ); printf(n); ,#include stdio.hmain() int i,j,k; for(i=0;i5;i+) for(k=0;k(4-i)*2;k+) putchar( ); for(j=0;j2*i+1;j+) printf(* ); printf(nn); for(i=0;i4;i+) for(k=0;k(i+1)*2;k+) putchar( ); for(j=0;j7-2*i ;j+) printf(* ); printf(nn); ,

    注意事项

    本文(C语言基础 第五章 循环结构ppt课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开