版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计,第4章 循环结构,主隧漳录猖汗沂拴鱼纵碉农忿莲词篷崔段美真钻灰阴闻理称嘘黔举然章粉C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,本章主要内容,1. 循环结构设计理念,2. for循环语句,3. while循环语句,4. dowhile循环语句,5. 循环嵌套,6. 流程控制语句,氯洞坏扔瞎叹疲讣应探江笨长呆梯雄赊菜驮闯刚日彻屏坷框鼠焕匡捣翠协C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,循环结构程序设计,所谓循环是指使用一定条件对同一个程序段重复执行若干次。被重复执行的部分称为循环体。,循环设计步骤:,step1: 构造循
2、环体,step2: 寻找控制循环的变量,step3: 找出控制循环变量的3个要素:初值、继续循环的条件、使循环趋于结束的部分。,哩缩骤帕中畴奈鬼妈呐葫骤夸馋莉澄拖逮青扣膝援衔氧蔷狭干有戴母塑诈C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,循环控制的两种方法,累并靖龟倔谴邦尊颖吉虫航融舆董瞻达桶令帕楚卓燕眉折狙硷班剧犁菊煞C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,C循环语句,丈巢稠娄牲皑西蛮蒂陀稳一靴朽狸仔炬科羌翻督涌绪允惶设雪乱琼茎瓣神C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,for语句,语法形式: f
3、or (表达式1;表达式2;表达式3) 循环体;,执行过程: step1: 先求解表达式1,表达式1只执行一次,一般是赋值语句,用于初始化循环变量。 step2: 求解表达式2,若为0(假),则退出循环执行后续语句。若为非0(真),则执行循环体。 step3: 执行表达式3。 Step4: 转回step2继续判断。,姿挞摩撅蕾刻乓脉德葵兜袒惑谚债磁剩搅铬苑畴径獭抓舅暂苦碎仙洼官庸C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,for语句应用实例,【例4.1】在屏幕上显示一行6个*。 核心语句: for(i=1;i=6;i+) printf(*);,摸涎番硕怜颐彝苹雨牢
4、竿座秸崎痘跋萤武竿叶吴阜欣越姨嗡啡薄半奋器帛C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,for语句应用实例,【例4.2】求1+2+3+100的累加和。,#include stdio.h void main() int i,sum=0; for ( i=1;i=100;i+) sum=sum+i; printf(1+2+3+.+100=%dn,sum); ,i+=2 ?,的麻恬睬毡鸵虹贰晒糟恼纪叉糖坏祟搔成耶恰苛摹搜透炔缀懊韶猖厅缔淬C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,for语句注意事项(一),for语句圆括号内各表达式的具体含
5、义是: 表达式1:一般为赋值表达式,设置循环控制的初始状态(initialization),例如为循环控制变量赋初值; 表达式2:一般为关系表达式或逻辑表达式,用于测试循环条件(condition),决定是否执行循环; 表达式3:一般为赋值表达式,确定每执行一次循环后循环控制变量的增量(increment),增量既可以是正数,也可以是负数。,悯哟疏敌琐急苯嫌资蝎蛊泄佬掘邻义胳年仍丘蔽全碧崎副总摇锚耻席炕钵C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,for语句注意事项(二),表达式1、表达式2和表达式3在实际使用的过程中可以根据for语句的执行过程进行位置上的调整;
6、 循环体可以是空语句 ; 当for循环有多个控制循环进行的条件时,可以在for后面的圆括号中使用一个以上的循环控制变量。,i=1; for ( ; ; ) if (i100) break ; sum+= i ; i+; ,for (i=1;i=100;sum+=i,i+);,for (i=1,j=10;ij;i+,j-) printf (%3d ,i+j);,弊斩稀运寅茬香跟肇矢沙拥角听问凌涝餐睦撞阂硝斟济李胳阮溜随优鉴松C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,while语句,语法形式: while (表达式) 循环体;,执行过程: step1:求解表达式,若
7、为0(假),则退出循环执行后续语句。若为非0(真),则执行循环体。 step2: 转回step1继续判断。,木蕉涉邻忍砖例毁忱气篙地捶侮霖涌衙扣咯袜口矾牙龄陆畸剧蛤舵雌诌盯C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,while语句应用实例,【例4.3】从键盘上读入一个非0的整数,统计该数的位数。,#includestdio.h void main() int count=0,number; printf (Please enter an integer: ); scanf (%d, ,语句功能 ?,七氦寝羹囚炮笼侮笑辑圾蜘堆罗至啼帘前撑奠辰疚纲啦卓趋饯誊摊缨吩惫C
8、语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,while语句应用实例,【例4.4】计算表达式a+aa+aaa+aaaa,其中a与x的值从键盘上输入。,int a,x; long sum=0,n=1,tn; scanf(%d,%d, ,奉泛控巳昭炳仆釉澈售侮科龙瞒摩仍韩荒喇吓砂钻揍撤豪主忧们陵兴甸泽C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,想一想?,while (c=getchar()!=Y|c!=y|c!=N|c!=n) ; while (1) ; while (i) ; while (!i) ;,晕褪费碟没渍险厘业拾翅蜀若哲祭后宫孕踪
9、叉福临刘若开趋寸系羊鸭窍莎C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,dowhile语句,语法形式: do 循环体; while (表达式);,执行过程: step1:执行do后面循环体中的语句; step2:求解while后圆括号内的表达式。若为0(假),执行step3;若为非0(真),转去继续执行循环体。 step3: 退出do-while循环,执行后续语句。,癌竭婶头恩枝功龄氦憾卫蜗解谁需垛炕抢弃合玖尾襄珠莲痹蛊酷捡靳纲疗C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,dowhile语句应用实例,【例4.5】编写含有菜单的算术四则运
10、算程序。,do printf (n math exercise); printf (n please enter your choice and numbers); scanf (%d%d,喂墅茅毒祥仪秦藤枉蒜唾漫郁般染婚悦姥病涣咒瓮琵存垫讣藻拾羞匙乘涛C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,循环嵌套,循环语句可以嵌套。在循环体语句中又包含另一个完整的循环结构的形式,称为循环的嵌套。 嵌套在循环体内的循环称为内循环,外面的循环称为外循环。 如果内循环体中又有嵌套的循环语句,则构成多重循环。 for、while、do-while循环语句既可以并列,也可以相互嵌套
11、,但要层次清楚,不能出现交叉 。,猫玫冻佩闪廷妖刘匣企逮也谈唐糟盒盎资悯迄肝收踪筋覆徐语疚妇镊铆绪C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,循环嵌套的原则,对于多重循环,特别要注意给与循环有关的变量赋初值的位置; 内、外循环变量不能出现循环控制混乱,导致死循环或计算结果错误; 应正确编写内、外循环的循环体,需要在内循环中执行的所有语句必须用括起来组成复合语句作为内循环体;属于外循环的语句应放在内循环体之外、外循环体之内; 不应在循环中执行的操作应放在进入最外层循环之前或最外层循环结束之后;,撤爸作吏疼售浇阀贼峰蕴炔孕罕寇搂淑妈设迅削彻剁饿词百吱败阮饰痰猫C语言程
12、序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,循环嵌套应用举例,【例4-6】打印九九乘法表。,1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 9*1=9 9*2=18 9*3=27 9*4=
13、36 9*5=45 9*6=54 9*7=64 9*8=72 9*9=81,for(i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%-4d,i,j,i*j); printf(n); ,顿重焉涟兵政韭隘玖铲神簇宛奠陈胖愧持现斥梆牛担汉行得墩量寐引卉测C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,循环嵌套应用举例,【例4.7】抓交通肇事犯。一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:四位
14、的车号刚好是一个整数的平方。请根据以上线索求出车号。,for(i=1;i=9;i+) for(j=0;j=9;j+) if(i!=j) k=i*1000+i*100+j*10+j; for(c=31;c*ck;c+); if(c*c=k) printf(Lorry-No. is %d.n,k); ,滥坡核娟郝针缉裸球百汞框畦成泰滥像辱刘傲盗踌绒捌援可商赂帚闲盔脖C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,循环嵌套应用举例,【例4.8】从键盘上输入n的值为5,编程打印具有如下规律的对称图形。,#includestdio.h #includemath.h void m
15、ain() int i,j,k,n; printf(请输入一个小于大于2且小于80的奇数:); scanf(%d, ,可以从0开始吗?,终八骡横肄麦藏棍袜胖它途棵湘聪执击薛芍沾愉泣柏纺买吴肯谬锈勃砸泼C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,流程控制语句,在循环结构中,循环体一般都要执行到循环条件不成立的时候才会退出循环。但是解决实际问题时,常遇到一些特殊的情况需要中途退出循环体,或者某次循环时不希望执行循环体中的某些语句,这时就需要使用到流程控制语句。 break语句:终止循环语句,使程序执行跳出循环体。 continue语句:中断循环体的本次执行(跳过循环体
16、中尚未执行的语句),立即开始执行下一次循环。,烁犬筒槐涂她篱检非悍秃嘘硫郭娘剂党荤驻苫亲支闲匹抗韵豪汕另挑樟述C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,break语句,语句形式为: break;,for(表达式1;表达式2;表达式3) part1; if(结束表达式) break; part2; 后续语句;,傲训抡挟锡拾兼左怀聘皂稠启急界椒预菜事祁灵毯侍斥央擎锨壮海首狠校C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,break语句应用举例,【例4.9】输入一个正整数m ,判断它是否为素数。素数就是只能被1和自身整除的正整数,1不是素数
17、,2是素数。,#includestdio.h #includemath.h void main() int i,m,n; printf(Enter a number:); scanf(%d, ,扇够擞壶慑携愁氮汹接顿列拆杠烃庆肘雀胳凹胚揣秋瓷釉诬缓谣租癸桔管C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,continue语句,语句形式为: continue;,怠菲隔摇去拔妹缘烷童根尼兄晃瓢嘱廖载摄浮碎备号瀑癣痴缨来男擒扰潦C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,算法解析,【例4.11】计算1-1/2+1/3-1/4+.+1/99-1/
18、100的前n项的值,n从键盘输入,n大于1,小于100。,int n,i,flag=1; double sum=0.0; printf(nn=); while(1) scanf(%d, ,畅薄量皮奇盟愿郎班收财泵蹭抄地兰阶侗皆缎璃爱躯桓钞萨腕库侧真股喳C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,算法解析,【例4.12】从键盘上输入若干字符,以结束。统计其中英文字母、数字、空格、其他字符的个数并输出。,char c; int letter,number,space,other; letter=number=space=other=0; printf(nPlease
19、input some characters:(end of #)n); while(c=getchar()!=#) if(c=a ,讲蠢撤程漠础眶潍李饼滞扑柑崔热孩钉星邀恶悲雷文急燥记亏醉冗弟词血C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,算法解析,【例4.15】百钱百鸡问题。中国古代数学家张丘建在他的算经中提出了闻名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?,int x,y,z,j=0; printf(Following are possible plans :n); for(x=0;x=20;x+)
20、for(y=0;y=33;y+) z=100-x-y; if(z%3=0 ,营蚜猜核什枕昌祟儿完瘩确丙媳蜒挖冀锑批丛岂痛装陷谆貌帅祝秘极篇券C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环结构,算法解析,【例4.16】猜数游戏。,使用随机数函数需要包含头文件stdlib.h。 函数rand()是随机数生成器,可以设定生成数的范围,如生成A与B之间的随机整数i(A随机数i B): i=rand()%(B-A)+A; srand()会设置供rand()使用的随机数种子,系统在调用rand()之前都会自动调用srand()。 随机数种子值可以从键盘随机输入,也可以很方便地自动获取不同的随机数种子。 scanf(%d, 注:time()函数返回以秒计算的当前时间值,要使用time()函数需要包含头文件time.h。,int num,guess,count,seed; printf(input a integer(seed):); scanf(%d,驴蔫弧淮殉阜慈候懂酚痹苑监幅数资关瓦剩军昂较溢驭缴杖渊傣亢临辛岂C语言程序设计课件 第4章 循环结构C语言程序设计课件 第4章 循环
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级数学下册 25.1 变量与函数(原卷版)
- “双减”背景下作业设计优化与质量提升研究
- 《建筑施工组织(第2版)》高职建筑工程技术专业全套教学课件
- 量子传感融合:智能多功能训练椅在精准生物力学监测的应用
- 2026年深海热液喷口采矿装备技术手册
- 智能卧式健身车2.0时代:从硬件销售到订阅服务跃迁
- 2025年吉林科技职业学院高职单招职业技能考试题库含完整答案详解(全优)
- 2026年北京市单招职业技能考试模拟试卷及一套完整答案详解
- 2026年辽宁商贸职院单招综合素质考试题库【完整版】附答案详解
- 2025年成都技师学院高职单招职业技能考试题库附参考答案详解【预热题】
- 2026年企业上半年安全生产工作总结及计划
- 广东2026公需课《加快培育发展新质生产力》题库及答案
- 2026年全国新高考1卷英语试卷(含答案及详解)
- 成都四九和美2025小升初入学分班考试数学考试试题及答案
- 新教材人教版高中地理选择性必修1全册学案讲义-知识点及配套习题
- 2026年黑龙江基层法律服务工作者考试试题(含答案)
- 食品安全应急演练培训
- 少儿篮球教练员培训课件
- 学生兼职模板合同范本
- 2025年泰安法院书记员招聘考试真题及答案
- 各类消防器材的使用方法
评论
0/150
提交评论