计算机本科c措辞第六章讲稿[优质课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机本科c措辞第六章讲稿[优质课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 本科 措辞 第六 讲稿 优质 课件
- 资源描述:
-
1、本章重点 forfor语句语句 do-whiledo-while语句语句 while语句语句本章难点 break语句和continue语句的区别点 循环条件的表示和控制 循环的嵌套 第六章 循环控制第1页,共55页。一、结构化程序的三种基本结构A块B块条件A块B块成立不成立顺序结构分支选择结构第2页,共55页。条件AB不成立a块当型循环结构条件Aa块不成立直到型循环结构B区别在于:当型循环结构当条件满足时,反复执行a块,直到条件不满足时才停止循环。而直到型是先执行a块操作,再判断条件是否满足,若满足再执行a块,如此反复,直到条件不满足为止。第3页,共55页。循环结构一般由两部分组成:进入或退出
2、循环的条件:该条件决定是否继续下一轮循环。循环体:为每一轮循环所进行的操作,语法上要求是一个语句序列构成,如示意图中的a块。第4页,共55页。在许多问题中要用到循环控制:输入全校学生成绩 求04级C语言的总成绩 1+2+3+100 循环是用来求这类重复性操作的结构,几乎所有实用的程序中都包含循环,掌握循环是结构化程序设计最基本的要求。第5页,共55页。一、while 语句1、一般形式 while (表达式)语句 说明:当表达式的值为真时执行循环体语句特点:先判断表达式,后执行语句。执行过程为:先计算表达式的值,如果为真,则执行循环体语句部分并重新求表达式的值,一直到表达式的值变为0时,才退出整
3、个循环结构。第6页,共55页。在应用while()语句时,要注意以下几点:while()后面的条件表达式一定要用一对圆括弧括起来。如果循环体中的语句多于一条时,应该用大括号括起来,以复合语句形式出现,因为while()语句的作用范围只能是 while()后面的第一个语句在循环体中应有改变循环条件表达式的语句,否则,如果不采用其他方法退出循环,将成为死循环。while()语句可以嵌套。第7页,共55页。例1设有程序段 int k=10;while(k=0)k=k-1;则下面描述正确的是_A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次第8页,共55页
4、。例2:求1+2+50main()int n=1,sum=0;while(n=50)sum+=n;n+;printf(“sum=%dn”,sum);当循环体由多个语句组成时,必须用左、右花括号括起来,使其形成复合语句。第9页,共55页。例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);第10页,共55页。例4 从键盘连续输入字符,直到输入“回车”符为止,并分别统计其中算术运算符(+-*/
5、%)的个数。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为标记值,当提前不知道准确循环的次数,可用标记来控制循环。第11页,共55页。例5 键入
6、一个整数,然后按相反顺序输出各位数字。分析:要将一个整数按相反的次序输出各位数字,必须获得该整数的各位数字,由于n%10为n的个位数,用循环语句来实现。#include main()int n,r;/*n用来接受输入的整数,r用来求个位数*/printf(“请输入一个整数:”);scanf(“%d”,&n);putchar(n);while(n!=0)r=n%10;printf(“%d”,r);n/=10;第12页,共55页。二、do-while语句1 一般形式:do 语句 while (表达式);2 特点 1)先执行一次语句,后判断表达式;当表达式的值为真时,反复执行循环体中的语句。3 注意
7、点:同while()语句,但还要特别注意一点,即while()后的分号不能少。4 与while()语句的不同点:while()语句是先判断后执行而dowhile()语句是先执行后判断。第13页,共55页。例子1 以下程序段x=-1;do x=x*x;while(!x);A)死循环B)循环执行二次C)循环执行一次D)有语法错误 第14页,共55页。例例2 求求1+2+50#include main()int n=1,sum=0;do sum+=n;n+;while(n=50);printf(“sum=%dn”,sum);第15页,共55页。main()main()int sum=0;int su
8、m=0;int n;int n;scanf(“%d”,&n);scanf(“%d”,&n);while(n=10)do sum+=n;sum+=n;n+;n+;while(n=10);printf(“sum=%dn”,sum);printf(“sum=%dn”,sum);如果从终端输入的值为11的前提下,请大家分析两个程序的运行结果.例3第16页,共55页。例4 若执行下面程序时,输入“Adescriptor”后按回车,则以下程序的输出结果是_#include main()char c;int v0=0,v1=0,v2=0;do switch(c=getchar()case a:case A:
9、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=7v0=8,v1=4,v2=8v0=11,v1=4,v2=11v0=12,v1=4,v2=12第17页,共55页。1、一般形式 for(表达式1;表达式2;表达式3)语句表达式2非00求解表达式1语句表达式3三 for语句2、它的执行过程:第18页,共55页。则执行以下for语句时,for(i=0;i3;i+)print
10、f(“*”);表达式1执行_次,表达式2执行_次;表达式3执行_次。例子1:第19页,共55页。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语句最简单的应用形式通常用计数器来控制循环第20页,共55页。#include main()int n,sum=0;for(n=1;n=50;n+)sum+=n;printf(“sum=%dn”,sum);计数器控制的循环的本质在一个由计
11、数器控制的循环中,需要包括以下内容:1 控制变量(循环计数器)的名称2 控制变量的初值3 用于检测控制变量终值的条件(即循环是否要继续)4 循环时,控制变量每一次都会自增或自减(通常是1)第21页,共55页。例子304级计算机专业有4位同学中的一位做了好事,不留名,表扬信来了之后,院长问这4位是谁做的好事。A说:不是我B说:是CC说:是DD说:他胡说 已知3个人说的是真话,一个人说的是假话,现在要根据这些信息,找出做了好事的人。第22页,共55页。#include void main()int k;char s;for(k=1;k=4;k+)s=64+k;if(s!=A)+(s=C)+(s=D
12、)+(s!=D)=3)printf(thisman is%c“,s);第23页,共55页。(1)for 语句一般形式中的表达式语句一般形式中的表达式1可以省略可以省略例子例子4#include main()int n=1,sum=0;for(;n=50;n+)sum=sum+n;printf(“sum=%dn”,sum);请大家理解以下几点:第24页,共55页。(2)如果表达式2省略,即不判断条件,循环无终止地进行下去。此时必须在循环体中有一个ifbreak语句使循环终止。例子5#include main()int n,sum;for(n=1,sum=0;n+)sum+=n;if(n=50)b
13、reak;printf(“sum=%dn”,sum);第25页,共55页。(3)表达式3也可以省略,但此时应在循环体中设法使循环变量的值发生改变,从而使循环条件趋于0。例子6#include main()int n,sum;for(n=1,sum=0;n=50;)sum+=n;n+;printf(“sum=%dn”,sum);第26页,共55页。(4)表达式1、表达式2、表达式3也可同时省略。例子7 /*该程序功能求150的总和*/#include main()int n,sum=0;_;for(;)sum+=n;_;_;printf(“sum=%dn”,sum);第27页,共55页。4 fo
展开阅读全文