第5章循环语句.ppt
《第5章循环语句.ppt》由会员分享,可在线阅读,更多相关《第5章循环语句.ppt(69页珍藏版)》请在三一文库上搜索。
1、第5章 循环结构的C程序设计,循环是计算机解题的一个重要特征。由于计算机运 算速度快,最适宜做重复性的工作。当我们在进行程序 设计时,总是要把复杂的不易理解的求解过程转换为容 易理解的操作的多次重复,从而降低了问题的复杂度, 同时也减少程序书写及输入的工作量。,实现循环结构的语句,break,while,for(),continue,实现循环的语句,语句功能:,5.1 if /goto 语句,语句格式:,语句标号:语句; if (表达式) goto 语句标号; ,当(表达式)的值为非零时则重复 执行“语句标号”后面的语句。,标识程序中某 个语句的位置,请用C语言实现右侧程序 流程图所描述的算法
2、: 即:sum=1+2+3+4+100,设:i 计数器:i=i+1,sum 为累加器:sum=sum+i,EXAMPLE5-1:,main( ) ,int sum=0, i=1;,sum=sum+i;,sum+=i;,i=i+1;,if (i=100),printf(“%dn”, sum);,goto aa;,aa:,i+;,语句标号:语句; if (表达式) goto 语句标号;,从键盘输入100个有符号整数,请 分别统计其中正整数和负整数的个数。,EXERCISES5-1:,Begin,num=0 sum1=0 sum2=0,num+,输出sum1 sum2,End,sum1+,F,X0,
3、T,输出 x,sum2+,num=100,F,1,1,1、设计算法,2、实现算法,main( ) ,int sum1, sum2, num, x;,scanf(“%d”, ,num+;,if (x0),printf(“%d,%dn”, sum1,sum2);,goto bb;,bb:,sum1+;,sum1=sum2=num=0;,else,sum2+;,if (num=100),语句功能:,5.2 while 语句,语句格式:,while(表达式) statements; ,当表达式的值为非零时,重复statements。,关系、逻辑 赋值表达式,body of loop,main() in
4、t n=0; while (n3) printf(“%d,”, n ); n+; printf(“%dn”, n); ,0,main( ) int n=3; while (n) printf(“%d,”, n-); n=-3; printf(“n”); while (n) printf(“%d,”, n+); ,1,2,3,3,2,1,-3,-2,-1,EXAMPLE5-2:,n,0,1,2,3,2,1,0,-3,-2,-1,0,main( ) int a=1,b=2,c=2,t=0; while (ab) t=a; a=b; b=t; c+; printf( “%d,%d,%d”,a,b,c
5、 ) ; ,EXERCISES5-2:,a,0,2,2,1,b,c,t,1,2,1,3,main() int x=0, s=0; while(!x!=0) s+=+x; printf(“%d n”, s); ,EXERCISES5-3:,x,0,s=s+(+x);,s,0,1,1,!x,从键盘输入100条整型数据,请找出 其中最大的数,并指出这个最大的数是 从键盘第几次输入的。 要求:1、用N-S图设计算法; 2、用C语言实现算法。,HOMEWORK5-1:,请分别统计在输入的字符串中 字母、数字和其它字符的个数。 要求:1、用N-S图设计算法; 2、用C语言实现算法。,HOMEWORK5-2
6、:,book12pen5%*#( ) &,字母:,7,数字:,3,字符:,8,main() int d1,d2,d3; char ch; d1=d2=d3=0; scanf(“%d”, ,语句功能:,5.3 do-while 语句,语句格式:,do statements; while(表达式);,当表达式的值为非零时,重复statements 。,body of loop,1+2+3+4+5+ +100,main() int i, sum; ,do,printf(“%dn”, sum);,sum=0; i=1;,i+;, while( );, sum+=i;, while(i=100);,EX
7、AMPLE5-3:,main( ) int x; x=-1; do x=x*x; while( !x ); ,EXERCISES5-4:,A) 是死循环 B) 循环执行三次 C) 循环执行一次 D) 有语法错误,x=0;,main() int x=3; do printf(“%d,”,x-=2); while( !(-x) ); ,EXERCISES5-5:,A) 1 B) 1,-2 C) 3,0 D) 0,x,3,1,0,-2,-3,x=x-2;,main() int s; s=7; do s=2; while(s0); printf(“s=%dn”,s); ,EXERCISES5-6:,请
8、写出 右侧程 序的运 行结果,main() int x,y; x=y=0; while(x20) y+,x+=3; printf(“y=%d x=%dn”,y,x); ,EXERCISES5-7:,写出右侧 程序段的 运行结果 以及循环 体中的语 句共执行 了几次。,为了使电文保密,往往按一定规律将其转换成 密码,收报人再按约定的规律将其译回原文。 例如,可以按以下规律将电文变成密码: 将字母A变成字母E(a变e,即将变成其后的第4 个字母)W变成字母A,X变成字母B,Y变成字母C,Z 变成字母D。 要求:字母按上述规律转换,非字母字符不变。 如,“China” 应转换为 “Glmre” 。
9、请输入一行字符,要求输出其相应的密码。,请设计一个 译密码 的程序,HOMEWORK5-3:,main( ) int x,y; x=y=0; do y+; x*=x; while(x0) ,请程序的运行结果及循环次数,HOMEWORK5-4:,语句功能:,5.4 for 语句,语句格式:,for(表达式1;表达式2;表达式3) statements; ,当表达式2的值为非零时,重复执行statements 。,for(表达式1;表达式2;表达式3) statements; ,表达式1 循环初始表达式,用于进入循环体前为循环变量赋初值 由算术、赋值、逻辑和逗号表达式构成。,表达式2 循环控制表达
10、式,用于控制循环体语句的执行次数由关 系表达式或逻辑表达式构成。,表达式3 修改循环变量表达式,即每循环一次使得表达式1的值 就要变化一次。由算术、赋值、逻辑和逗号表达式构成。,main() int n; for(n=1; n=10; n+) printf(“%d,” ,n); ,1, 2, 3, 4, 5 ,6 ,7, 8 , 9 , 10,for(表达式1;表达式2;表达式3) statements; ,EXAMPLE5-4:,main() int n, i=100; for(n=1; n=5; n+) printf(“%d,”, i); ,100, 100, 100, 100 , 100
11、,main() int n, i=100; for(n=5; n0; n-) printf(“%d,”, i); ,EXAMPLE5-5:,main() int x, y; for(x=0,y=0; x+y=50; x+,y+) printf(“%3d ”, x+y ); if (x%5=0) printf(“n”); ,EXERCISES5-8:,写出右侧 程序段的 运行结果,main( ) int sum, i ; for(sum=0,i=1; i=100; i+) sum+=i; printf(“sum=%dn”, sum ); ,main( ) int sum=0, i =1; do
12、sum+=i; i+; while( i=100 ); printf(“sum=%dn”, sum ); ,main( ) int sum=0, i =1; while( i=100 ) sum+=i; i+; printf(“sum=%dn”, sum ); ,main( ) int sum=0, i =1; label: if( i=100) sum+=i; i+; goto label; printf(“sum=%dn”, sum ); ,1+2+3+4+5+ +100,请输出26个小写的英文字母以及 每个字母所对应的ASCII码值。,HOMEWORK5-5:,设某学校新生入学时,需报选
13、体育课选修 科目。其科目包括有:篮球、排球、体操、乒 乓球、网球。请为某班级(30人)统计报选各 科目的人数。,请设计报选体育科目统计程序,HOMEWORK5-6:,5.5 嵌套循环,嵌套循环是循环中的循环。嵌套 循环的深度可达两层、三层、四层, 甚至更多。实际层数可根据应用程序 的需要而定,但超过三层的嵌套循环 不为多见。, for(i=1; i=9; i+) for(j=1; j=9; j+) ,内层循环,外层循环,双重循环,请设计求解下列问题的C语言程序: s=1!+2!+3!+ +20!,1!= 1,2!= 1*2,3!= 1*2*3,4!= 1*2*3*4,5!= 1*2*3*4*5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 语句
链接地址:https://www.31doc.com/p-2909939.html