C课件第06讲(05级).ppt

上传人:hyn****60 文档编号:71366857 上传时间:2023-02-03 格式:PPT 页数:30 大小:462KB
返回 下载 相关 举报
C课件第06讲(05级).ppt_第1页
第1页 / 共30页
C课件第06讲(05级).ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《C课件第06讲(05级).ppt》由会员分享,可在线阅读,更多相关《C课件第06讲(05级).ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1/22/20231 Program Design in C LanguagePage用用while语句实现循环结构语句实现循环结构用用do-while语句实现循环结构语句实现循环结构用用for语句实现循环结构语句实现循环结构 第六讲第六讲第五章第五章 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计 1/22/20232 Program Design in C LanguagePage循环结构循环结构也称重复结构:程序中反复执行的一也称重复结构:程序中反复执行的一组指令或程序段。组指令或程序段。循环体循环体:被反复执行的程序段。被反复执行的程序段。循环变量循环变量:用来控制循

2、环是否继续进行的变量。用来控制循环是否继续进行的变量。循环结构有两种类型即循环结构有两种类型即当型循环当型循环和和 直到型循环。直到型循环。5.1用while语句实现循环结构1/22/20233 Program Design in C LanguagePage方框图及执行过程方框图及执行过程:非0(真)0(假)表达式 语 句 当型循环当型循环 非 0(真)0(假)语句A 表达式 直到型循环直到型循环5.1用while语句实现循环结构1/22/20234 Program Design in C LanguagePage格式格式:while ()语句语句A;非 0(真)0(假)语句 A 表达式 流

3、程图流程图:若表达式(条若表达式(条件件)的值为真,则的值为真,则执行内嵌语句执行内嵌语句A,再判断表达式(条再判断表达式(条件)件),当表,当表达式的值为假时,达式的值为假时,执行执行while后面的语后面的语句句。5.1用while语句实现循环结构while 语句语句1/22/20235 Program Design in C LanguagePagewhile语句的语句的说明:说明:(1)while语句属语句属当型循环当型循环,即先判,即先判断条件(表达式),再执行循环体。断条件(表达式),再执行循环体。(2)表达式为一条件,用于控制循环表达式为一条件,用于控制循环是否可继续执行,故称控

4、制表达式。是否可继续执行,故称控制表达式。(3)(3)语句语句A A为内嵌式语句,是循环结为内嵌式语句,是循环结构的循环体。它可以是单语句也可以构的循环体。它可以是单语句也可以是复合语句,且该语句中必须包含有是复合语句,且该语句中必须包含有对循环条件进行修改的语句。对循环条件进行修改的语句。非0(真)0(假)语句A 表达式 5.1用while语句实现循环结构1/22/20236 Program Design in C LanguagePage例例 求求 1+2+100分析:分析:求和的过程为:求和的过程为:1)S=1 S1 =S0+1 2)S=1+2 S2 =S1+2 3)S=1+2+3 S3

5、 =S2+3 100)S=1+2+100 S100=S99+100S0 =0求和表达式:求和表达式:S=S+i初值:初值:S=0循环次数循环次数 i:11005.1用while语句实现循环结构1/22/20237 Program Design in C LanguagePage流程图:流程图:程序:程序:main()int s,i;s=0,i=1;while(i =100)s+=i;i+;printf(s=%ldn,s);循环条件控制语句循环条件控制语句循环条件改变语句循环条件改变语句5.1用while语句实现循环结构1/22/20238 Program Design in C Languag

6、ePage注意:注意:如果循环体中包含一个以上的语句,应该用花括弧如果循环体中包含一个以上的语句,应该用花括弧括起来,以复合语句的形式出现。如果不加花括弧,则括起来,以复合语句的形式出现。如果不加花括弧,则while语句的范围只到语句的范围只到while后的第一个分号处。后的第一个分号处。在循环体中应该有使循环趋向结束的语句,否则会导在循环体中应该有使循环趋向结束的语句,否则会导致死循环。致死循环。如上例中的语句改写如上例中的语句改写成如下形式:成如下形式:i=1;while(i =100)s+=i;i+;则则while语句的循环体语句为:语句的循环体语句为:s+=i;循环变量循环变量i的值没

7、有改变,循的值没有改变,循环不能终止,陷入死循环环不能终止,陷入死循环5.1用while语句实现循环结构1/22/20239 Program Design in C LanguagePagedo-while 语句语句格式:格式:do while(););流程图:流程图:非 0(真)0(假)语句A 表达式 5.2用do-while语句实现循环结构1/22/202310 Program Design in C LanguagePage 执行内嵌语句执行内嵌语句A,在判断表达式(条件)若为真,则在判断表达式(条件)若为真,则继续执行内嵌语句继续执行内嵌语句A,再判断表达式(条件)再判断表达式(条件)

8、,直,直到表达式的值为假时,执行到表达式的值为假时,执行do-while后面的语句。后面的语句。执行过程:执行过程:与与while语句的不同:语句的不同:do-while语句语句至少执行循环体一次,但至少执行循环体一次,但while语句语句当当条件为假时不执行循环体语句。条件为假时不执行循环体语句。5.2用do-while语句实现循环结构1/22/202311 Program Design in C LanguagePage例:例:while与与do-while区别区别include main()int i=65;doputchar(i);i+;while(iA);include main()

9、int i=65;while(iA)putchar(i);i+;无输出无输出输出输出A5.2用do-while语句实现循环结构1/22/202312 Program Design in C LanguagePage5.2用do-while语句实现循环结构例例 求求 1+2+100程序:程序:#include“stdio.h”void main()int s,i;s=0;i=1;do s+=i;i+;while(i =100)printf(s=%ldn,s);1/22/202313 Program Design in C LanguagePagefor 语句语句各部分的作用:各部分的作用:表达式

10、表达式1:循环变量赋初值。循环变量赋初值。表达式表达式2:判断循环条件,若省略,则认为循环条件恒为判断循环条件,若省略,则认为循环条件恒为“真真”。表达式表达式3:修改循环变量的值。修改循环变量的值。语语 句句 :循环体循环体格式:格式:for(表达式表达式 1;表达式;表达式2;表达式表达式3)语语 句;句;5.3用for语句实现循环结构1/22/202314 Program Design in C LanguagePage 表达式表达式2 2 语句语句假假 表达式表达式3 3ForFor循环的循环的 下一语句下一语句真真表达式表达式1 1流程图:流程图:5.3用for语句实现循环结构1/2

11、2/202315 Program Design in C LanguagePage说明:说明:for语句的一般形式中的语句的一般形式中的“表达式表达式1”可以省略。此可以省略。此时应该在时应该在for语句之前给循环变量赋初值。语句之前给循环变量赋初值。如果表达式如果表达式2省略,即不判断循环条件(认为表达省略,即不判断循环条件(认为表达式始终为真),循环会无终止的运行下去。式始终为真),循环会无终止的运行下去。表达式表达式3省略时,应另外设置条件保证循环能正常省略时,应另外设置条件保证循环能正常结束。如在循环体内修改循环变量。结束。如在循环体内修改循环变量。表达式表达式1和表达式和表达式3可以

12、是简单的表达式,也可以可以是简单的表达式,也可以是一个逗号表达式;它可以与循环变量有关,也可以与是一个逗号表达式;它可以与循环变量有关,也可以与循环变量无关。循环变量无关。5.3用for语句实现循环结构1/22/202316 Program Design in C LanguagePage如:如:for(i=1;i+)sum=sum+i;它相当于:它相当于:i=1;while(1)sum=sum+i;i+;该循环是死循环该循环是死循环如:如:for(i=1;i100;)sum=sum+i;i+;在循环体内修改循环变在循环体内修改循环变量,循环可以正常终止量,循环可以正常终止相当于:相当于:wh

13、ile(i100)sum=sum+i;i+;如:如:for(;i100;)sum=sum+i;i+;(1)在循环语句前给循环变)在循环语句前给循环变量赋初值量赋初值(2)循环体内修改循环变量)循环体内修改循环变量5.3用for语句实现循环结构1/22/202317 Program Design in C LanguagePage例例:for(y=20,x=1;x-y;x+=x)printf(%d,%dn,x,y););循环变量赋初值循环变量赋初值循环条件循环条件循环变量增值循环变量增值该语句输出如下:该语句输出如下:1,192,184,178,165.3用for语句实现循环结构1/22/202

14、318 Program Design in C LanguagePage例例:求:求 n!分析:分析:求阶乘的过程为:求阶乘的过程为:1)S=1 S1 =S0 1 2)S=12 S2 =S1 2 3)S=123 S3 =S2 3 n)S=12 n Sn=Sn-1100 S0 =1求阶乘表达式:求阶乘表达式:S=S i初值:初值:S=1循环次数循环次数 i:1n5.3用for语句实现循环结构1/22/202319 Program Design in C LanguagePage定义符号常量定义符号常量 N定义变量定义变量 i,ss=1;i=1iNs*=ii+输出输出 sYN流程图:流程图:程序:

15、程序:#define N 10main()int ,i;long int s=1;for(i=1;i=N;i+)s*=i;printf(s=%ldn,s);1/22/202320 Program Design in C LanguagePage1.三种循环可以互相代替。三种循环可以互相代替。2.for、while属当型循环,属当型循环,dowhile循环属直到型循环。循环属直到型循环。3.在在for循环的循环体中无须对循环变量进行修改,其它两种循环的循环体中无须对循环变量进行修改,其它两种循环则必须在循环体中对循环变量进行修改循环则必须在循环体中对循环变量进行修改。4.for循环的初始条件可在

16、表达式循环的初始条件可在表达式1中进行设置,其它两种循中进行设置,其它两种循环则必须在进入循环之前进行设置。环则必须在进入循环之前进行设置。5.循环变量的值在循环体中可以被使用,但决不允许被修改。循环变量的值在循环体中可以被使用,但决不允许被修改。例如例如 while (i=100)s+=i;i+;合法的合法的 while (i=100)i+=s;i+;不合法的不合法的三种循环几点说明:三种循环几点说明:三种循环结构实例1/22/202321 Program Design in C LanguagePage例例:求:求 水仙花数,即这个数等于它的百位、十位水仙花数,即这个数等于它的百位、十位和

17、个位数的立方和。和个位数的立方和。如如153是一个水仙花数,因为是一个水仙花数,因为153分别用三种循环语句编写该程序。分别用三种循环语句编写该程序。三种循环结构实例1/22/202322 Program Design in C LanguagePage#include void main()int n=100,i,j,k;/*i、j、k用来放这个数的百位、十位和个位用来放这个数的百位、十位和个位*/printf(“水仙花数是:水仙花数是:”););while(n1000)i=n/100;j=(n/10)%10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%6d,

18、n);n=n+1;三种循环结构实例1/22/202323 Program Design in C LanguagePage#include void main()int n=100,i,j,k;printf(“水仙花数是:水仙花数是:”););do i=n/100;j=(n/10)%10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%6d,n);n=n+1;while(n1000);三种循环结构实例1/22/202324 Program Design in C LanguagePage#include void main()int n=100,i,j,k;prin

19、tf(“水仙花数是:水仙花数是:”););for(n=100;n1000;n+)i=n/100;j=(n/10)%10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%6d,n);三种循环结构实例1/22/202325 Program Design in C LanguagePage例例 编程编程:求:求 。直到最后一项的绝对值小于直到最后一项的绝对值小于1010-7-7分析:分析:三种循环结构实例1/22/202326 Program Design in C LanguagePage求和:求和:停止求和:停止求和:定义变量定义变量 n,sn=0,s=0;n+;输出

20、输出 4*s1/(2*n-1)10-712)1(1-+=nnssYN三种循环结构实例1/22/202327 Program Design in C LanguagePage#include main()()double n=0;double s=0;do n+=1;s+=pow(-1,n+1)/(2*n-1);while(1./(2*n-1)=1e-7););printf(“PI=%.6fn,4*s););程序:程序:三种循环结构实例1/22/202328 Program Design in C LanguagePage例例 编程:求展开项的和。编程:求展开项的和。分析:分析:1.X 的单位应

21、为弧度,即:的单位应为弧度,即:2.当当 n=1 时,时,S=X当当 n 2 时,时,Sn-1初值为初值为 x,Sn的值为的值为:三种循环结构实例1/22/202329 Program Design in C LanguagePagemain()float x,s,t;int n=1;scanf(%f,&x););x=2*3.1415926*x/360;s=x;t=x;while(t 1e-6)n=n+1;t=t*(-1)*x*x/(2*n-2)*(2n-1);s=s+t;printf(sin(%f)=%.3f n,x,s);三种循环结构实例1/22/202330 Program Design in C LanguagePage上机实验内容:上机实验内容:熟悉熟悉 while,do-while,for语句语句;实验教程实验教程第第5 5章章 循环结构程序设计循环结构程序设计:第第5 5章实验章实验1(1)1(1)、实验、实验1(4)1(4)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com