ImageVerifierCode 换一换
格式:PPT , 页数:40 ,大小:680.50KB ,
资源ID:12293595      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12293595.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(谭浩强C程序设计第四章.ppt)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

谭浩强C程序设计第四章.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,谭浩强 C程序设计 第四章,4,.1,概述,程序中凡涉及求阶乘、累加、排序等问题都要用循环解决,因为程序中的某一程序段要重复执行若干次。,C,语言实现循环的语句:,goto,和,if,组合,while,语句,do while,语句,for,语句,C语言程序设计,第四章 循环控制,重点,4,.2,goto,语句以及用,goto,语句构成循环,作用:无条件地转移到语句标号指向的语句去执行。,一般格式:,C语言程序设计,第四章 循环控制,goto,语句标号,;,.,标号,:,语句,;,说明:,语句标号由字母、数字

2、和下划线组成,定名规则同变量名,不能用数字开头。,goto,loop;,(,),goto,100;,(,),与循环语句配合使用时,,可从循环体内跳到循环体外,而不能从循环体外跳到循环体内,。,goto,语句转移的方向可前可后。,与,if,语句配合使用时可构成循环。,goto,语句违背结构化程序设计的原则,因此应限制使用。,C语言程序设计,第四章 循环控制,例4,.1,用,if 和goto语句构成循环,求,#include,void main(),int i,sum=0;,i=1;,loop:if(i=100),sum+=i;,i+;,goto loop;,printf(%d,sum);,sum

3、0+1,sum=1+2=3,sum=3+3=6,sum=6+4,sum=4950+100=5050,循环初值,循环终值,循环变量增值,循环条件,循环体,C语言程序设计,第四章 循环控制,例 从键盘输入一组数据,以,0结束输入,求数据和。,#include,void main(),int number,sum=0;,read_loop:,scanf(%d,if(!number)goto print_sum;,sum+=number;,goto read_loop;,print_sum:printf(The total sum is%dn,sum);,4,.3,while,语句,while,语句

4、实现,“当型”,循环结构。,一般形式:,C语言程序设计,第四章 循环控制,while(表达式),循环体语句;,没有,“,;,”,功能:,先判断表达式,若为真则执行循环体,再判断表达式,重复上述过程,直到表达式为假时退出循环。,求,sum=sum+i,i=i+1,i=1;sum=0,i100,假,真,i=1;sum=0,当,i100,sum=sum+i,i=i+1,C语言程序设计,第四章 循环控制,#include,void main(),int i,sum=0;,i=1;,while(i=100),sum=sum+i;,i+;,printf(%d,sum);,循环条件,循环体,例4,.2,用,

5、while语句构成循环,求,循环初值,循环终值,循环变量增值,关于,while,循环语句:,while,循环,先判断表达式,后执行循环体。循环体有可能一次也不执行。,循环体若包含一个以上语句,应该用,括起来。,循环体应包含有使循环趋向结束的语句;,下列情况,退出,while,循环,条件表达式不成立(为零),循环体内遇,break,goto,无限循环,while(1),循环体,;,C语言程序设计,第四章 循环控制,C语言程序设计,第四章 循环控制,例 用,while语句显示110的平方,#include,void main(),int i=1;,while(i=10),printf(%d*%d=

6、dn,i,i,i*i);,i+;,1*1=1,2*2=4,3*3=9,4*4=16,5*5=25,6*6=36,7*7=49,8*8=64,9*9=81,10*10=100,4,.4,do-while,语句,do-while,语句实现,“当型”,循环结构。,一般形式:,C语言程序设计,第四章 循环控制,功能:先执行循环体,然后判断表达式。若为真,则再次执行循环体,否则退出循环。,求,do,循环体语句;,while(表达式);,有,“,;,”,i=1,sum=0,sum=sum+i,i=i+1,i100,真,假,i=1,sum=0,sum=sum+i,i=i+1,直到,i100,C语言程序设计

7、第四章 循环控制,例4,.3,用,do-while语句构成循环,求,#include,void main(),int i,sum=0;,scanf(,%d,&i),;,do,sum+=i;,i+;,while(i=100);,printf(%d,sum);,循环条件,循环体,#include,void main(),int i,sum=0;,scanf(,%d,&i),;,while(i=100),sum+=i;,i+;,printf(%d,sum);,比较,do-while,循环,循环体至少执行一次;,while,和,do-while,可以解决同一问题,两者可以互换。,while,后的表达

8、式一开始就为假时,两种循环结果不同。,输入:,1,输出:,5050 5050,输入:,101,输出:,101 0,4,.5,for,语句,for,语句是,C,语言中,最为灵活,,,使用最广泛,的循环语句,可完全替代,while,,,do-while,语句。,一般形式,C语言,程序设计,第四章 循环控制,for(表达式1;表达式2;表达式3),循环体语句;,常用形式,for(循环变量赋初值;循环条件;循环变量增值),循环体语句;,C语言程序设计,第四章 循环控制,#include,void main(),int i,sum=0;,for(,i=1,;,i=100,;,i+,),sum+=i;,p

9、rintf(%d,sum);,i,100,sum=sum+i,N,Y,i=1,i+,for循环下面的语句,循环步长,例 用,for语句构成循环,求,几点说明:,for,语句中表达式,1,、,2,、,3,类型任意,都可省略,但分号“,;,”不能省。,无限循环:,for(;),不断执行循环体,循环不终止。,For,语句可以转换成,while,结构,C语言程序设计,第四章 循环控制,表达式,1;,while(表达式2),循环体语句;,表达式3;,几种形式:,C语言程序设计,第四章 循环控制,省略表达式,1,:应在,for,之前为变量赋初值。,/*正常形式*/,main(),int i,sum=0;,

10、for(i=1;i=100;i+),sum=sum+i;,printf(%d,sum);,/*省略表达式1*/,main(),int i,sum=0;,i=1;,for(;i=100;i+),sum=sum+i,printf(%d,sum);,省略表达式,2,:循环条件始终为“真”,循环不终止。,省略表达式,3,:应另外设法使程序能够结束。,/*省略表达式3*/,main(),int i,sum=0;,for(i=1;i=100;),sum=sum+i,i+;,printf(%d,sum);,省略表达式,1,、,3,:完全等同于,while,语句。,/*省略表达式1、3*/,main(),in

11、t i,sum=0;,i=1;,for(;i=100;),sum=sum+i,i+;,printf(%d,sum);,三个表达式都省略:,无初值,不判断条件,循环变量,不增值,死循环。,C语言程序设计,第四章 循环控制,表达式,1,、,3,可以是与循环无关的表达式,也可以是逗号表达式。,for(s=0,i=1;i=100;i+)s=,s+i,;,/*表达式是逗号表达式*/,main(),int i,j,k;,for(,i=0,j=100;,i=j,;i+,j-,),k=i+j;,printf(%d+%d=%dn,i,j,k);,表达式,2,可以是关系、逻辑、算术、字符表达式,非,0,时,执行循

12、环体,为,0,时退出循环。,#include,main(),char c;,for(;,(c=getchar()!=n;,),printf(%c,c);,#include,main(),int i,c;,for(i=0;,(c=getchar()!=n,;i+=c),printf(%d,i+c);,4,.6,循环的嵌套,定义:一个循环体内又包含了另一个,完整,的循环结构,称为循环的嵌套。,三种循环可以互相嵌套,层数不限。,嵌套循环的执行流程。,C语言程序设计,第四章 循环控制,(1)while(),while(),.,(2)do,do,while();,.,while();,(3)for(;)

13、for(;),(4)while(),do,while();,.,C语言程序设计,第四章 循环控制,(5),for(;),while(),.,(7),for(;),do,while();,while(),.,(6),do,for(;),.,while();,循环可以互相嵌套,但不能相互交叉。,for,for,.,.,for,for,.,.,C语言程序设计,第四章 循环控制,例 计算,3组14累加的和,#include,void main(),int i,j,s=0;,for(i=1;i=3;i+),for(j=1;j=4;j+),s=s+j;,printf(“s=%dn,s);,结果:,s=3

14、0,1 2 3,i j s=0,1 1 1,1 3 6,2 1 11,2 2 13,2 4 20,3 1 21,3 2 23,3 3 26,3 4 30,2 3 16,1 4 10,C语言程序设计,第四章 循环控制,例 循环嵌套,输出九九乘法表,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,2,4,6,8,10,12,14,16,18,3,6,9,12,15,18,21,24,27,9,18,27,36,45,54,63,72,81,.,i,j,void main(),int i,j;,for(i=1;i10;i+),printf(%4d,i);,printf(n-n

15、);,for(i=1;i10;i+),for(j=1;j10;j+),printf(j=9)?%4dn:%4d,i*j);,条件运算符:,j9,输出i*j,再回车换行。,j9,只输出i*j。,九九乘法表逻辑框图,C语言程序设计,第四章 循环控制,i10,printf,N,Y,i=1,j+,j=1,j10,Y,N,i+,for(i=1;i10;i+),for(j=1;j10;j+),printf(j=9)?%4dn:%4d,i*j);,外循环,内循环,4,.7,几种循环的比较,C语言程序设计,第四章 循环控制,语 句,适用范围,说 明,while,只知道结束条件,而,无法确定执行,次数,的情况下

16、循环变量初始化在循环体之前,循环体中应包含使循环结束的语句,可以用,break 和continue 语句控制,do-while,至少执行一次时,ifgoto,无条件循环,该循环,不能用,break 和continue 语句控制,for,已知执行次数,或,者已知初值,终,值,步长时。,使用比较灵活,4,.8,break,语句和,continue,语句,Break,语句,功能:,在循环语句和,switch,语句中,终止并跳出循环体或开关体,。,说明:,break,只能终止并跳出,最近一层,的结构。,break,不能用于循环语句和,switch,语句之外的任何其它语句之中。,一般形式:,brea

17、k,;,C语言程序设计,第四章 循环控制,流程形式:,C语言程序设计,第四章 循环控制,表达式,break;,假,(0),真,(非0),while,do,break;,.,表达式,假,(0),真,(非0),while,表达式,2,break;,.,假,(0),真,(非0),for,表达式,1,表达式,3,C语言程序设计,第四章 循环控制,switch,表达式,语句组,1,break;,语句组,2,break;,语句组,n,break;,语句组,break;,.,const 1,const 2,const n,default,case,C语言程序设计,第四章 循环控制,例,break举例:输出圆

18、面积,面积大于100时停止,#include,#define PI 3.14159,void main(),int r;,float area;,for(r=1;r100),break;,printf(r=%d,area=%f,r,area);,r,10,area=3.14*r*r,N,Y,r=1,i+,for循环下面的语句,area,100,N,Y,使用,break跳出整个循环,输出:,r=1,area=3.14,r=2,area=12.57,r=3,area=28.27,r=4,area=50.27,r=5,area=78.85,/*当 r=6时,,area=113.10,故此值没有被,输

19、出,*,/,C语言程序设计,第四章 循环控制,例,break举例:小写字母转换成大写字母,直至输入非字母字符,#include,void main(),char c;,while(1),c=getchar();,if(c=a,else,if(c=A,else break;,break 使无限循环结束,Continue,语句,功能:,结束本次循环,,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。,continue,语句,仅用于循环语句中。,C语言程序设计,第四章 循环控制,break,和,continue,语句,的区别,continue,语句只结束本次循环,,break,语句则是结

20、束整个循环。,continue,语句只用于,while,do-while,for,循环语句中,,break,语句还可以用于,switch,语句中。,流程形式:,C语言程序设计,第四章 循环控制,表达式,continue;,假,(0),真,(非0),while,真,(非0),do,continue;,.,表达式,假,(0),while,表达式,2,continue;,.,假,(0),真,(非0),for,表达式,1,表达式,3,C语言程序设计,第四章 循环控制,例4,.5 把100200之间不能被3整除的数输出,#include,void main(),int i;,for(i=100;i=20

21、0;i+),if(i%3=0),continue;,printf(“%d”,n);,使用,continue 结束本次循环,i,200,N,Y,i=100,i+,for循环下面的语句,i%3=0,Y,printf,N,运行结果:,100,101,,103,104,,106,107,,109,110,,112,113,,115,116,,118,119,,C语言程序设计,第四章 循环控制,例,求输入的十个整数中正数的个数及其平均值,#include,void main(),int i,num=0,a;,float sum=0;,for(i=0;i10;i+),scanf(%d,if(a=0)con

22、tinue;,num+;,sum+=a;,printf(%d plus integers sum:%6.0fn,num,sum);,printf(Mean value:%6.2fn,sum/num);,4,.9,程序举例,C语言程序设计,第四章 循环控制,t=1,pi=0,n=1.0,s=1,当,|t|,1e-6,pi=pi+t,n=n+2,s=-s,t=s/n,pi=pi*4,输出,pi,分子:,1,-1,1,-1,分母:1,3,5,7,.,#include,#include,void main(),int s;,float n,t,pi;,t=1;pi=0;n=1.0;s=1;,while

23、fabs(t)=1e-6),pi=pi+t;,n=n+2;,s=-s;,t=s/n;,pi=pi*4;,printf(pi=%10.6fn,pi);,运行结果:,pi=3.141594,C语言程序设计,第四章 循环控制,例4,.7,求,Fibonacci数列:1、1、2、3、5、8前40个数。,Fibonacci数列可以用一个有趣的古典数学问题来描述:有一对兔子,出生三个月后每个月都生一对兔子。小兔子长到三个月后每个月又生一对兔子。假设所有的兔子都不死,问每个月的兔子总数是多少对?,月数,小兔,中兔,老兔,总数,1,1,1,1,1,1,1,1,1,1,1,2,3,4,5,0,2,0,0,0,

24、0,2,3,5,2,C语言程序设计,第四章 循环控制,f1=1,f2=1,for i=1 to 20,输出,f1,f2,f1=f1+f2,f2=f2+f1,#include,#include,void main(),long int f1,f2;,int i;,f1=1;f2=1;,for(i=1;i=20;i+),printf(%12ld%12ld ,f1,f2);,if(i%2=0)printf(n);,f1=f1+f2;,f2=f2+f1;,1,5,34,233,1597,10946,75025,514229,3524578,24157817,1,8,55,377,2584,17711,

25、121393,832040,5702887,39088169,2,13,89,610,4181,28657,196418,1346269,9227465,63245986,3,21,144,987,6765,46368,317811,2178309,14930352,102334155,C语言程序设计,第四章 循环控制,例4,.8 判断m是否素数。,#include,#include,void main(),int m,i,k;,scanf(%d,k=sqrt(m);,for(i=2;ik)printf(%d is a prime numbern,m);,else printf(%d is n

26、ot a prime numbern,m);,读入,m,k=,i=2,当,i,k,m被i整除,真,假,用,break,结束循环,i=i+1,i,k+1,真,假,输出”是素数”,输出”不是素数”,19,19,is a prime number,C语言程序设计,第四章 循环控制,例4,.9 求100200间的全部素数。,由于不是求一个数是否素数,因此需要使用双循环嵌套。外层第一个循环,用于在100200间提取一个数,然后内层第二个循环进行判断。,#include,#include,void main(),int m,k,i,n=0;,for(m=101;m=200;m=m+2),k=sqrt(m)

27、for(i=2;i=k+1)printf(%d,m);n=n+1;,if(n%10=0)printf(n);,printf(n);,运行结果:,101 103 107 109 113 127 131 137 139 149,157 163 167 173 179 181 191 193 197,199,C语言程序设计,第四章 循环控制,例4,.10 译密码。,按一定规律将电文变成密码:,将字母,A变为E、将字母a变为e,即变成其后的第四个字母,W将变成A。字母按上述规律转换,非字母字符不变。输入一行字符,输出相应密码。,分析:,由于字符和整数之间可以通用,所以,A,-,E,对应,A,-,A

28、4,可以定义一个字符型变量c,c接受输入,并c-c+4。,特殊之处是,W,-,Z,和,w,-,z,之间时,它们需要对应为,A,-,D,和,a,-,d,怎么办?,一种是用书上的办法,再减回去,即用c-c-26来解决。,ABCDEFGHIJKLMNOPQRSTUVWXYZ,C语言程序设计,第四章 循环控制,#include,void main(),char c;,while(c=getchar()!=n),if(c=a&c=A&c Z,printf(%c,c);,printf(“n);,Hello,world!,Lipps,asvph!,本章小结:,问题求解的过程和步骤叫算法,如求,值的算法、

29、验证素数的算法。算法分析是程序设计的第一步,也是最重要的步骤。用某种编程程序语言来表达算法是程序设计的目的。,用编程语言实现结构化算法就是结构化程序设计。,结构化算法中只包含顺序、分支和循环三种控制结构。,在,C,语言中实现上述三种结构的控制语句分别是顺序语句,分支语句和循环语句。,if/if else,语句在使用时应注意,else,和最近一个没有被,else,匹配的,if,匹配。,?,运算符相当于根据不同情况对同一变量赋值的,if/else,语句的简写形式。,C语言程序设计,第四章 循环控制,switch,语句实现多路选择,应用时应注意其条件表达式值为整型或字符型,且每个分支应用,break,语句结束。,while,和,do while,语句在应用时要注意后者,至少执行一次,循环体。,for,循环应用时要注意其控制结构中各个表达式的作用及执行次序。,for(,表达式,1,;,表达式,2;,表达式,3),表达式,1,是初始执行,仅执行一次;表达式,2,接下来执行,以判断是否退出循环,如果执行了循环,接下来执行表达式,3,,对循环条件进行某中改变,然后再到表达式,2,进行判断,注意,break,和,continue,的区别,,break,是,结束本层循环,,,continue,是,结束本次循环,。,C语言程序设计,第四章 循环控制,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服