C语言程序设计课件第4章循环结构.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计课件第4章循环结构.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件 循环 结构
- 资源描述:
-
1、C语语言程序言程序设计设计第第4章章 循环结构循环结构2本章主要本章主要内内容容 1.循循环结构设计环结构设计理念理念 2.for循循环语环语句句 3.while循循环语环语句句 4.dowhile循循环语环语句句 5.循循环环嵌套嵌套 6.流程控制流程控制语语句句3循循环结构环结构程序程序设计设计所谓循环是指使用一定条件对同一个程序段重复执行所谓循环是指使用一定条件对同一个程序段重复执行若干次。被重复执行的部分称为循环体。若干次。被重复执行的部分称为循环体。循环设计步骤循环设计步骤:step1:构造循环体构造循环体step2:寻找控制循环的变量寻找控制循环的变量step3:找出控制循环变量的
2、找出控制循环变量的3个要素:初值、继个要素:初值、继续循环的条件、使循环趋于结束的部分。续循环的条件、使循环趋于结束的部分。4循循环环控制控制的的两种两种方法方法标志法标志法 主要用在循环次数不确定的情况下。基本思主要用在循环次数不确定的情况下。基本思想是:设置一个标志变量,标志变量的值随想是:设置一个标志变量,标志变量的值随着循环发生变化。每循环一次,就测试一次着循环发生变化。每循环一次,就测试一次标志变量的值,当标志变量的值满足指定条标志变量的值,当标志变量的值满足指定条件时,结束循环件时,结束循环。计数法计数法 主要用在循环次数确定的情况下。基本思想主要用在循环次数确定的情况下。基本思想
3、是是:设置一计数变量,称为计数器。循环开设置一计数变量,称为计数器。循环开始前给出初始值,每循环一次,计数变量增始前给出初始值,每循环一次,计数变量增1(即计一次数),直到计数变量的值到达(即计一次数),直到计数变量的值到达指定次数。指定次数。5C循循环环语语句句for语句while语句do-while语句6for语句语句语法形式:语法形式:for(表达式表达式1;表达式;表达式2;表达式;表达式3)循环体;循环体;执行过程:执行过程:step1:先求解表达式先求解表达式1,表达,表达式式1只执行一次,一般是赋值只执行一次,一般是赋值语句,用于初始化循环变量。语句,用于初始化循环变量。step
4、2:求解表达式求解表达式2,若为,若为0(假),则退出循环执行后续语假),则退出循环执行后续语句。若为非句。若为非0(真),则执行(真),则执行循环体。循环体。step3:执行表达式执行表达式3。Step4:转回转回step2继续判断。继续判断。7for语句应用实例语句应用实例【例例4.1】在屏幕上显示一行在屏幕上显示一行6个个*。核心语句:核心语句:for(i=1;i=6;i+)printf(*);执行次数执行次数循环变量循环变量i值值循环条件循环条件i=6循环体执行循环体执行表达式表达式3第第1次循环次循环i=1真真*i=2第第2次循环次循环i=2真真*i=3第第3次循环次循环i=3真真*
5、i=4第第4次循环次循环i=4真真*i=5第第5次循环次循环i=5真真*i=6第第6次循环次循环i=6真真*i=7第第7次循环次循环i=7假假循环结束循环结束8for语句应用实例语句应用实例【例例4.2】求求1+2+3+100的累加和。的累加和。#include stdio.h#include stdio.hvoid main()void main()int i,sum=0;int i,sum=0;for(i=1;i=100;i+)for(i=1;i100)if(i100)break;break;sum+=i;sum+=i;i+;i+;for(i=1;i=100;sum+=i,i+);for(
6、i=1,j=10;ij;i+,j-)printf(%3d,i+j);11while语句语句语法形式:语法形式:while(while(表达式表达式)循环体;循环体;执行过程:执行过程:step1:求解表达式,若求解表达式,若为为0(假),则退出循(假),则退出循环执行后续语句。若环执行后续语句。若为非为非0(真),则执行(真),则执行循环体。循环体。step2:转回转回step1继续继续判断。判断。表达式?表达式?循环体循环体非非0(0(真真)0(0(假假)后续语句后续语句12while语句应用实例语句应用实例【例例4.3】从键盘上读入一个非从键盘上读入一个非0的整数,统计该数的的整数,统计该
7、数的位数。位数。#includestdio.h#includestdio.hvoid main()void main()int count=0,number;int count=0,number;printf(Please enter an integer:);printf(Please enter an integer:);scanf(%d,&number);scanf(%d,&number);if(number0)number=-number;if(number0)number=-number;while(number!=0)while(number!=0)count+;count+;nu
8、mber=number/10;number=number/10;printf(It contains%d digits.n,count);printf(It contains%d digits.n,count);语句功能语句功能?13while语句应用实例语句应用实例【例例4.4】计算表达式计算表达式a+aa+aaa+aaaa,其中,其中a与与x的值从的值从键盘上输入。键盘上输入。int a,x;int a,x;long sum=0,n=1,tn;long sum=0,n=1,tn;scanf(%d,%d,&a,&x);scanf(%d,%d,&a,&x);tn=a;tn=a;while(n=
9、x)while(n=x)sum+=tn;sum+=tn;tn=tntn=tn*10+a;10+a;n+;n+;循环次数循环次数循环条件循环条件sumsum值值tntn值值n n值值第第1 1次次1=41=4为真为真0+20+22 2*10+210+22 2第第2 2次次2=42=4为真为真2+222+222222*10+210+23 3第第3 3次次3=43=4为真为真24+22224+222222222*10+210+24 4第第4 4次次4=44=4为真为真246+2222246+222222222222*10+210+25 5第第5 5次次5=45=4为假为假14想一想?想一想?whil
10、e(c=getchar()!=Y|c!=y|c!=N|c!=n);while(1);while(i);while(!i);15dowhile语句语句语法形式:语法形式:do 循环体;循环体;while(表达式表达式);执行过程:执行过程:step1:step1:执行执行dodo后面循环体后面循环体中的语句;中的语句;step2:step2:求解求解whilewhile后圆括后圆括号内的表达式。若为号内的表达式。若为0 0(假),执行假),执行step3step3;若为;若为非非0 0(真),转去继续执(真),转去继续执行循环体。行循环体。step3:step3:退出退出do-whiledo-w
11、hile循循环,执行后续语句。环,执行后续语句。表达式?表达式?循环体循环体非非0(0(真真)0(0(假假)后续语句后续语句16dowhile语句应用实例语句应用实例【例例4.5】编写含有菜单的算术四则运算程序。编写含有菜单的算术四则运算程序。dodo printf(n math exercise);printf(n math exercise);printf(n please enter your choice and numbers);printf(n please enter your choice and numbers);scanf(%d%dscanf(%d%d,&x,&y);,&x
12、,&y);op=getchar();op=getchar();getchar();getchar();switch(op)switch(op)case 1:printf(n add is%d,x+y);break;case 1:printf(n add is%d,x+y);break;default:printf(n error.choice again n);break;default:printf(n error.choice again n);break;while(op!=5);while(op!=5);17循环嵌套循环嵌套 循环语句可以嵌套。在循环体语句中又包含另一循环语句可以嵌套。
13、在循环体语句中又包含另一个完整的循环结构的形式,称为循环的嵌套。个完整的循环结构的形式,称为循环的嵌套。嵌套在循环体内的循环称为内循环,外面的循环嵌套在循环体内的循环称为内循环,外面的循环称为外循环。称为外循环。如果内循环体中又有嵌套的循环语句,则构成多如果内循环体中又有嵌套的循环语句,则构成多重循环。重循环。for、while、do-while循环语句既可以并列,也循环语句既可以并列,也可以相互嵌套,但要层次清楚,不能出现交叉可以相互嵌套,但要层次清楚,不能出现交叉 。18循环嵌套的原则循环嵌套的原则对于多重循环,特别要注意给与循环有关的变量赋对于多重循环,特别要注意给与循环有关的变量赋初值
14、的位置;初值的位置;内、外循环变量不能出现循环控制混乱,导致死循内、外循环变量不能出现循环控制混乱,导致死循环或计算结果错误;环或计算结果错误;应正确编写内、外循环的循环体,需要在内循环中应正确编写内、外循环的循环体,需要在内循环中执行的所有语句必须用执行的所有语句必须用括起来组成复合语句作为括起来组成复合语句作为内循环体;属于外循环的语句应放在内循环体之外内循环体;属于外循环的语句应放在内循环体之外、外循环体之内;、外循环体之内;不应在循环中执行的操作应放在进入最外层循环之不应在循环中执行的操作应放在进入最外层循环之前或最外层循环结束之后;前或最外层循环结束之后;19循环嵌套应用举例循环嵌套
15、应用举例【例例4-6】打印九九乘法表。打印九九乘法表。1 1*1=11=12 2*1=2 21=2 2*2=42=43 3*1=3 31=3 3*2=6 32=6 3*3=93=94 4*1=4 41=4 4*2=8 42=8 4*3=12 43=12 4*4=164=165 5*1=5 51=5 5*2=10 52=10 5*3=15 53=15 5*4=20 54=20 5*5=255=256 6*1=6 61=6 6*2=12 62=12 6*3=18 63=18 6*4=24 64=24 6*5=305=307 7*1=7 71=7 7*2=14 72=14 7*3=21 73=21
16、7*4=28 74=28 7*5=35 75=35 7*6=426=428 8*1=8 81=8 8*2=16 82=16 8*3=24 83=24 8*4=32 84=32 8*5=40 85=40 8*6=48 86=48 8*7=567=569 9*1=9 91=9 9*2=18 92=18 9*3=27 93=27 9*4=36 94=36 9*5=45 95=45 9*6=54 96=54 9*7=64 97=64 9*8=72 98=72 9*9=819=81for(i=1;i=9;i+)for(i=1;i=9;i+)for(j=1;j=i;j+)for(j=1;j=i;j+)pr
展开阅读全文