收藏 分享(赏)

C课件第06讲.ppt

上传人:fmgc7290 文档编号:7249054 上传时间:2019-05-10 格式:PPT 页数:29 大小:510.50KB
下载 相关 举报
C课件第06讲.ppt_第1页
第1页 / 共29页
C课件第06讲.ppt_第2页
第2页 / 共29页
C课件第06讲.ppt_第3页
第3页 / 共29页
C课件第06讲.ppt_第4页
第4页 / 共29页
C课件第06讲.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、用while语句实现循环结构 用do-while语句实现循环结构 用for语句实现循环结构,第六讲,Begin:,第五章 循环结构程序设计,循环结构也称重复结构:程序中反复执行的一组指令或程序段。,循环体:被反复执行的程序段。,循环变量:用来控制循环是否继续进行的变量。循环结构有两种类型即当型循环和直到型循环。,5.1用while语句实现循环结构,方框图及执行过程 :,5.1用while语句实现循环结构,格式:while () 语句A;,流程图:,若表达式(条件)的值为真,则执行内嵌语句A,再判断表达式(条件),当表达式的值为假时,执行while后面的语句。,5.1用while语句实现循环结构

2、,while 语句,while语句的说明:,(1) while语句属当型循环,即先判断条件(表达式),再执行循环体。,(2) 表达式为一条件,用于控制循环是否可继续执行,故称控制表达式。,(3) 语句A为内嵌式语句,是循环结构的循环体。它可以是单语句也可以是复合语句,且该语句中必须包含有对循环条件进行修改的语句。,5.1用while语句实现循环结构,例 求 1 + 2 + + 100,分析:求和的过程为:,1) S=1 S1 = S0 + 12) S=1+2 S2 = S1 + 23) S=1+2+3 S3 = S2 + 3 100) S=1+2+ +100 S100 = S99+100,S0

3、 = 0,求和表达式:,S = S + i,初值:,S = 0,循环次数 i :,1100,5.1用while语句实现循环结构,流程图:,程序:,main ( ) int s, i;s = 0,i = 1;while ( i = 100 ) s+=i;i+;printf(“s=%ldn“, s); ,5.1用while语句实现循环结构,注意:,如果循环体中包含一个以上的语句,应该用花括弧括起来,以复合语句的形式出现。如果不加花括弧,则while语句的范围只到while后的第一个分号处。,在循环体中应该有使循环趋向结束的语句,否则会导致死循环。,如上例中的语句改写 成如下形式:i=1;while

4、 ( i = 100 )s+=i;i+;,则while语句的循环体语句为:s+=i; 循环变量i的值没有改变,循环不能终止,陷入死循环,5.1用while语句实现循环结构,do-while 语句,格式: do while ( );,流程图:,5.2用do-while语句实现循环结构,执行内嵌语句A,在判断表达式(条件)若为真,则继续执行内嵌语句A,再判断表达式(条件),直到表达式的值为假时,执行do-while后面的语句。,执行过程:,与while语句的不同:,do-while语句至少执行循环体一次,但while语句当条件为假时不执行循环体语句。,5.2用do-while语句实现循环结构,例:

5、while与do-while区别,include main( ) int i=65;doputchar(i); i+;while(iA); ,include main( ) int i=65;while(iA)putchar(i); i+; ,无输出,输出A,5.2用do-while语句实现循环结构,5.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); ,fo

6、r 语句,各部分的作用: 表达式1 :循环变量赋初值。 表达式2 :判断循环条件,若省略,则认为循环条件恒为“真”。 表达式3 :修改循环变量的值。 语 句 :循环体,格式: for ( 表达式 1 ;表达式2 ; 表达式3)语 句;,5.3用for语句实现循环结构,流程图:,5.3用for语句实现循环结构,说明:for语句的一般形式中的“表达式1”可以省略。此时应该在for语句之前给循环变量赋初值。如果表达式2省略,即不判断循环条件(认为表达式始终为真),循环会无终止的运行下去。表达式3省略时,应另外设置条件保证循环能正常结束。如在循环体内修改循环变量。表达式1和表达式3可以是简单的表达式,

7、也可以是一个逗号表达式;它可以与循环变量有关,也可以与循环变量无关。,5.3用for语句实现循环结构,如:for (i=1; ;i+) sum=sum+i;,它相当于:i=1;while (1) sum=sum+i;i+;,该循环是死循环,如:for (i=1; i100; ) sum=sum+i; i+;,在循环体内修改循环变量,循环可以正常终止,相当于: while (i100) sum=sum+i;i+;,如:for ( ; i100; ) sum=sum+i; i+;,(1)在循环语句前给循环变量赋初值 (2)循环体内修改循环变量,5.3用for语句实现循环结构,例:for( y=20

8、,x=1 ;x-y ;x+=x )printf(“%d,%dn“,x,y);,该语句输出如下:,1, 19 2, 18 4, 17 8, 16,5.3用for语句实现循环结构,例:求 n!,分析:求阶乘的过程为:,1) S=1 S1 = S0 12) S=12 S2 = S1 23) S=123 S3 = S2 3 n) S=12 n Sn = Sn-1100,S0 = 1,求阶乘表达式:,S = S i,初值:,S = 1,循环次数 i :,1n,5.3用for语句实现循环结构,流程图:,程序:,#define N 10 main ( ) int i;long int s=1;for ( i

9、=1; i=N; i+ )s *= i;printf(“s=%ldn“, s); ,1. 三种循环可以互相代替。 2. for、while属当型循环,dowhile循环属直到型循环。 3. 在for循环的循环体中无须对循环变量进行修改,其它两种循环则必须在循环体中对循环变量进行修改 。 4. for循环的初始条件可在表达式1中进行设置,其它两种循环则必须在进入循环之前进行设置。,三种循环几点说明:,三种循环结构实例,例:求 水仙花数,即这个数等于它的百位、十位和个位数的立方和。 如153是一个水仙花数,因为153,分别用三种循环语句编写该程序。,三种循环结构实例,#include void m

10、ain( ) 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“,n);n=n+1; ,三种循环结构实例,#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

11、(n1000);,三种循环结构实例,#include void main( ) int n=100,i,j,k;printf(“水仙花数是:”);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); ,三种循环结构实例,例 编程 :求 。直到最后一项的绝对值小于10-7,分析:,三种循环结构实例,求和:,停止求和:,三种循环结构实例,#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. X 的单位应为弧度,即:,2. 当 n = 1 时,S = X,当 n 2 时,Sn-1初值为 x , Sn的值为 :,三种循环结构实例,main( ) float x, s, t; int n = 1;scanf(“%f“,,三种循环结构实例,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报