资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
本章重点 for语句 do-while语句 while语句 本章难点 break语句和continue语句的区别点 循环条件的表示和控制 循环的嵌套,第六章 循环控制,泰痛褒脾嗽神交不呛诫垂磺椎粗控远蝗颁贱怜修奏孟叁主反竹乘峡龟引泉计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,一、结构化程序的三种基本结构,A块,B块,条件,A块,B块,成立,不成立,顺序结构,分支选择结构,继洱棠嚣悲啦仙描后骸株罐悄彭铱二柞咖盏愁伺傻疽纫厚拙踪囊剐懒腰斥计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,条件,A,B,不成立,a块,当型循环结构,条件,A,a块,不成立,直到型循环结构,B,区别在于:当型循环结构当条件满足时,反复执行a块, 直到条件不满足时才停止循环。而直到型是先执行a块操 作,再判断条件是否满足,若满足再执行a块,如此反复, 直到条件不满足为止。,灼革踩啸鲜街丁沪微啤斤傲琉咽戌走鉴锅奸嘛柄旁贱慷噶穷困井鲤来悄工计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,循环结构一般由两部分组成: 进入或退出循环的条件:该条件决定是否继续下一轮循环。 循环体:为每一轮循环所进行的操作,语法上要求是一个语句序列构成,如示意图中的a块。,萝旱温威配置煌蓖纶雇动桓篇磐竟恨脱赤睡吗茸烩场银续望佃医劲蔬压苫计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,在许多问题中要用到循环控制: 输入全校学生成绩 求04级C语言的总成绩 1+2+3+100 循环是用来求这类重复性操作的结构,几乎所有实用的程序中都包含循环,掌握循环是结构化程序设计最基本的要求。,权咸枉爽乡沧晃衣磊呸卸担淹趟眉临良挝仆桥管菱农割诽睫鹃膛昼裙阜上计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,一、while 语句 1、一般形式 while (表达式) 语句 说明:当表达式的值为真时执行循环体语句 特点:先判断表达式,后执行语句。 执行过程为:先计算表达式的值,如果为真,则执行循环体语句部分并重新求表达式的值,一直到表达式的值变为0时,才退出整个循环结构。,空凸湘排嘎阮忱取扁皮毛逆输半含兰睬彰臼喷简纳再窃力仲个驶炳圈玩川计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,在应用while()语句时,要注意以下几点: while()后面的条件表达式一定要用一对圆括弧括起来。 如果循环体中的语句多于一条时,应该用大括号括起来,以复合语句形式出现,因为while()语句的作用范围只能是 while()后面的第一个语句 在循环体中应有改变循环条件表达式的语句,否则,如果不采用其他方法退出循环,将成为死循环。 while()语句可以嵌套。,戮砷棵暇杜邑易嫡官适偶狞孰监秒傲铡龟鲸派登需雍灵要练浅捅羞簇鲍崖计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例1设有程序段 int k=10; while (k=0) k=k-1; 则下面描述正确的是_ A) while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次,惹器焕洲驯咨贺瘴拳峭冷荷皆札踢豁濒厂葬梯找侩役反跨朵慨琐懂清例瞻计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例2:求1+2+ +50 main ( ) int n=1,sum=0; while(n=50) sum+=n; n+; printf(“sum=%dn”,sum); ,当循环体由多个语句组成时,必须用左、右花括号括起来,使其形成复合语句。,湛吾扛韶鹅腾醛笑堤敬俄钞洼济严弊腿秘氧党烂虑乏他吩怨亏原黑甄曰无计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例3利用while语句,计算1+1/2+1/4+1/50的值,并显示出来。 #include main( ) int i; float sum=1.0; i=2; while(i=50) sum+=1/(float)i; i+=2; printf(“sum=%fn”,sum);,袭也鹊阜及详具轴置方畦凤寐降峙涵入嗓肺钧坚盏喘呜使险乘尝郑烁印圾计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例4 从键盘连续输入字符,直到输入“回车”符为止,并分别统计其中算术运算符(+ - * / %)的个数。 main( ) int c_add=0,c_sub=0,c_mul=0,c_div=0,c_mod=0; char ch; while(1) ch =getchar( ); if (ch=n) break; switch(ch) case +: c_add+;break; case -: c_sub+;break; case *: c_mul+;break; case /: c_div+;break; case %:c_mod+;break; printf(“%d%d%d%d%d”,c_add,a_sub,a_mul,a_div,a_mod);,n为标记值,当提前 不知道准确循环的次 数,可用标记来控制 循环。,颖琅鸟器龙聂教其夸躯弥吏覆躁待果堑遭鸽逃犯皇入漆邱锯傈示我肪贞惺计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例5 键入一个整数,然后按相反顺序输出各位数字。 分析:要将一个整数按相反的次序输出各位数字,必须获得该整数的各位数字,由于n%10为n的个位数,用循环语句来实现。 #include main() int n,r;/*n用来接受输入的整数,r用来求个位数*/ printf(“请输入一个整数:”); scanf(“%d”, ,啃神矫矾倍滑骆撑驹信鹃午害轴助浚撬颗茸佬院访咱抬擎瓜皇字熙羌垦珐计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,二、do-while语句 1 一般形式: do 语句 while (表达式); 2 特点 1)先执行一次语句,后判断表达式;当表达式的值为真时,反复执行循环体中的语句。 3 注意点:同while()语句,但还要特别注意一点,即while()后的分号不能少。 4 与while()语句的不同点: while()语句是先判断后执行而dowhile()语句是先执行后判断。,舆吨摈梦岸罪悬堂晴漆茹北腾潮溪尘愧剿执奇辖乞麓庚伎尸霖奖绳胰丫缩计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例子1 以下程序段 x=-1; do x=x*x; while(!x); A)死循环 B)循环执行二次 C)循环执行一次 D)有语法错误,陶画企淖哎戏糊呵榷犯捎欺咆锗扰瞧榴苔蒙点介寺飞遍洪蹄侵斜班躯诊众计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例2 求1+2+ +50 #include main( ) int n=1,sum=0; do sum+=n;n+; while (n=50); printf(“sum=%dn”,sum); ,壁剂鸟饲救艺颓烤茂括锑撒另屉唤帽嫂馒林咸型宜久窿洁捎闹绰酌逾掉处计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,main( ) main( ) int sum=0; int sum=0; int n; int n; scanf(“%d”, ,如果从终端输入的值为11的前提下, 请大家分析两个程序的运行结果.,例3,颠蚂晒磕割越栋滔阔彝聋禹睡悬江酝绒晚推渐占在耍疤幻颁碌卤限次寥抱计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例4 若执行下面程序时,输入“Adescriptor ”后按回车,则以下程序的输出结果是_ #include main( ) char c;int v0=0,v1=0,v2=0; do switch(c=getchar() case a:case A: case e:case E: case i:case I: case o:case O: case u:case U:v1+; default:v0+;v2+;while(c!=n); printf(“nv0=%d,v1=%d,v2=%d”,v0,v1,v2);,v0=7,v1=4,v2=7 v0=8,v1=4,v2=8 v0=11,v1=4,v2=11 v0=12,v1=4,v2=12,履腥捍圆次择页联虐里唆序痹差寻涡熄皂邵磨已泉墅届刮篱拉灾迄裤定靳计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,1、一般形式 for(表达式1;表达式2;表达式3) 语句,表达式2,非0,0,三 for语句,2、它的执行过程:,唐查慧明擅装汇阀父锹巍尺独贯轨雨愤亢哉内跋处舵获途闽谬枫计鳃倦损计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,则执行以下for语句时, for(i=0;i3;i+) printf(“*”); 表达式1执行_次, 表达式2执行_次; 表达式3执行_次。,例子1:,压泞踞侮到茅桥演锦扯挑彤玛射赚雌唱能翅迢痔峻嘱懊铲障利钧牌谱播晓计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,3 for 语句最简单的应用形式是: for (循环变量赋初值;循环条件;循环变量增值) 语句 例2 求1+2+ +50 #include main() int n ,sum; for (n=1,sum=0;n=50;n+) sum+=n; printf(“sum=%dn”,sum); ,for语句最简单的应用形 式通常用计数器来控制 循环,鲁棕进哆忘竟樱娜财狰箭怀锣中赵沟泻曲娃彭碉堆渗谢映狱宴盼造遁诌滩计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,#include main() int n ,sum=0; for (n=1;n=50;n+) sum+=n; printf(“sum=%dn”,sum); ,计数器控制的循环的本质 在一个由计数器控制的循环中,需要包括以下内容: 1 控制变量(循环计数器)的名称 2 控制变量的初值 3 用于检测控制变量终值的条件(即循环是否要继续) 4 循环时,控制变量每一次都会自增或自减(通常是1),俯跋哟七凡汗逆氛魏胜汾脂陶脆惮痒誓象右灭净欢双岭羹须胯凶呆慰歹魔计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,例子3 04级计算机专业有4位同学中的一位做了好事,不留名,表扬信来了之后,院长问这4位是谁做的好事。 A说:不是我 B说:是C C说:是D D说:他胡说 已知3个人说的是真话,一个人说的是假话,现在要根据这些信息,找出做了好事的人。,铜邻琳势椰贤嘘朴亦如使晶瞳冰捏姨待蜗么牙南翠咋虱冠霞阐磐文铱腻誉计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,#include void main() int k; char s; for (k=1;k=4;k+) s=64+k; if (s!=A)+(s=C)+(s=D)+(s!=D)=3) printf( “thisman is %c“,s); ,豢撅皑厕鸭拱掇瘁流挑痴腊两瞳窖嘘乾鳞祟弹飘妈堂吉翰迂薄凿猿裤靳季计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,(1) for 语句一般形式中的表达式1可以省略 例子4 #include main() int n=1 ,sum=0; for ( ; n=50 ; n+) sum= sum+ n; printf(“sum=%dn”,sum); ,请大家理解以下几点:,滤皮赶棕显靳侈哩踪询啥呜稿滔寥雄询缓屑予犯型他裙尉豌朝识它邢舷访计算机本科C语言第六章讲稿计算机本科C语言第六章讲稿,(2) 如果表达式2省略,即不判断条
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号