收藏 分享(赏)

C语言全国计算机二级等级考试教程第五章循环结构(章节带习题).ppt

上传人:精品资料 文档编号:10389386 上传时间:2019-11-06 格式:PPT 页数:18 大小:332KB
下载 相关 举报
C语言全国计算机二级等级考试教程第五章循环结构(章节带习题).ppt_第1页
第1页 / 共18页
C语言全国计算机二级等级考试教程第五章循环结构(章节带习题).ppt_第2页
第2页 / 共18页
C语言全国计算机二级等级考试教程第五章循环结构(章节带习题).ppt_第3页
第3页 / 共18页
C语言全国计算机二级等级考试教程第五章循环结构(章节带习题).ppt_第4页
第4页 / 共18页
C语言全国计算机二级等级考试教程第五章循环结构(章节带习题).ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、第5章 循环结构,5.1 while语句和用while语句构成的循环结构 5.2 do-while语句和用do-while语句构成的循环结构 5.3 for语句和用for语句构成的循环结构 5.4 循环结构的嵌套 5.5 break和continue语句在循环体中的作用 5.6 程序举例,5.1 while语句和用while语句构成的循环结构,5.5.1 while循环的一般形式,while(表达式) 循环体,关键字,当型循环,图,表达式,循环体,满足,不满足,例如:k=0;while(k10)printf(“*”);k+;,*,5.1 while语句和用while语句构成的循环结构,5.5.

2、1 while循环的一般形式,利用while循环编写程序,求1+2+3+100的值。,分析: 1+2+3+4+5,s,s=0 s=s+1 s=s+2 s=s+3 s=s+4 s=s+5,s,s=1+2+3+4+5,n,s = s + n,0,保存到,1,3,9,13,18,初值,#include main() int s=0,n;n=1;while(n=5)s=s+n;n+;printf(“%dn”,s); ,18,while(n=100),问:循环体共执行了几次?,5.2 do-while语句和用do-while语句构成的循 环结构,5.2.1 do-while语句构成的循环结构,do-wh

3、ile循环结构的一般形式:,do循环体while(表达式);,关键字,直到循环,不要忘了分号,图,循环体,表达式,不满足,满足,例如:s=0;i=0;doi+;s+=i;while(i10);,5.2 do-while语句和用do-while语句构成的循 环结构,5.2.1 do-while循环的执行过程,例5.4 计算Fibonacci数列,直到某项大于1000为止,并输出该项的值。,程序分析:,f1,f2,f,0,1, f=f1+f2,1, f1=f2, f2=f,1,1,2,直到f2大于1000为止,#include main() int f1,f2,f;f1=0;f2=1;dof=f1

4、+f2;f1=f2;f2=f;while(f2=1000);printf(“F=%dn“,f); ,F=1597,上机练习:请用while循环编写此程序。,5.3 for语句和用for语句构成的循环结构,5.3.1 for语句构成的循环结构,for循环的一般形式如下:,for(表达式1;表达式2;表达式3) 循环体,关键字,for循环的执行过程:,首先计算表达式1。 然后计算机表达式2,进行条件判断。若条件为真,则执行循环体;否则,退出循环。 当条件为真时,循环体执行一次后,转回执行表达式3。然后执行表达式2,继续进行条件判断,例如:for(k=0;k10;k+) printf(“*”);,*

5、,说明,1. for语句中的表达式可以部分或全部省略,但两个“;”不可省略。例如:,for(;i=10;i+),for(sum=0,i=1;i=100;sum=sum+i,i+) ;,2. for后一对圆括号中的表达式可以是任意有效的C语言表达式。例如:,for( ; ; ) printf(“*”);,5.3 for语句和用for语句构成的循环结构,5.3.1 for语句构成的循环结构,例5.5 用for语句编写程序,求1+2+3+100。,#include main() int s=0,n;n=1;while(n=100)s=s+n;n+;printf(“%dn”,s); ,while结构,

6、#include main() int s,n;s=0;for(n=1;n=100;n+) s+=n;printf(“s=%dn“,s); ,for结构,s=5050,思考与上机练习,1. 编写程序,求1*2*3*100,2. 自由练习例5.6,5.5 break和continue语句在循环体中的作用,break语句在循环结构中起跳出循环体,即终止本层循环。,图,表达式,语句1 break 语句2,满足,不满足,例5.9 计算s=1+2+3+i,直到累加到s大于5000为止,并给出s和i的值。,#include main() int i,s;s=0;for(i=1;s=5000;i+) s=s

7、+i;printf(“s=%d,i=%dn“,s,i-1); ,#include main() int i,s;s=0;for(i=1;i+)s=s+i;if(s5000) break; printf(“s=%d,i=%dn“,s,i); ,s=5050,i=100,5.5 break和continue语句在循环体中的作用,continue语句为结束本次循环,即跳过循环体中下面尚未执行的语句,接着转向 循环条件进行判断。,图,表达式,语句1 continue 语句2,满足,不满足,例5.10 在循环体中continue语句执行示例。,#include main() int k=0,s=0,i;

8、for(i=1;i5)printf(“*i=%d,s=%d,k=%dn“,i,s,k);continue;k=k+s;printf(“i=%d,s=%d,k=%dn“,i,s,k); ,习题,一.选择题 5.1 有以下程序段: int k,j,s; for(k=2;k6;k+,k+) s=1;for(j=k;j6;j+) s+=j; printf(“%dn“,s); 程序段的输出结果是 A 9 B 1 C 11 D 10 5.2 有以下程序段: int i,j,m=0; for(i=1;i=15;i+=4)for(j=3;j=19;j+=4) m+; printf(“%dn“,m); 程序段的

9、输出结果是 A 12 B 15 C 20 D 25,D,C,习题,5.3 有以下程序段: int n=10; while(n7)n-;printf(“%dn“,n); 程序段的输出结果是 A 10 B 9 C 10 D 99 8 9 88 7 8 77 6 5.4 有以下程序段: int x=3; doprintf(“%3d“,x-=2); while(!(-x); 程序段的输出结果是 A 1 B 3 0 C 1 -2 D 死循环,B,C,习题,5.5 有以下程序: #include main() int i,sum;for(i=1;i main() int y=10;for( ; y0;y-

10、)if(y%3=0)printf(“%d“,-y);continue; 程序的输出结果是 A 741 B 852 C 963 D 875421,C,B,习题,5.7 有以下程序段 int x; for(x=3;x main() int i;for(i=1;i=5;i+)if(i%2) printf(“*“);else continue;printf(“#“);printf(“$n“); 程序的输出结果是 A *# *# *#$ B #* #* #*$ C *#*#$ D #*#*$,D,A,习题,5.10 有以下程序: #include main() int x,i;for(i=1;i=100

11、;i+)x=i;if(+x%2=0)if(+x%3=0) if(+x%7=0) printf(“%d“,x); printf(“n“); A 28 70 B 42 84 C 26 68 D 39 81,5.9 以下叙述中正确的是 A do while语句构成的循环不能用其他语句构成的循环来代替 B do while语句构成的循环只能用break语句退出 C 用do while语句构成循环时,只有在while后的表达式为非零时结束循环 D 用do while语句构成循环时,只有在while后的表达式为零时结束循环,D,A,习题,二.填空题 5.11 当执行以下程序段后,i的值是_.j的值是_.k

12、的值是_. int a,b,c,d,i,j,k; a=10;b=c=d=5;i=j=k=0; for( ;ab;+b) i+; while(a+c) j+; do k+; while(ad+); 5.12 以下程序段的输出结果是_. int k,n,m; n=10;m=1;k=1; while(k+ main() int x=2;while(x-);printf(“%dn“,x); ,5 4 6,1024,-1,习题,5.14 以下程序段的输出结果是_. int i=0,sum=1; dosum+=i+;while(i5); printf(“%dn“,sum); 5.15 有以下程序段: s=

13、1.0;n=10; for(k=1;k=n;k+) s=s+1.0/(k*(k+1); printf(“%fn“,s); 请填空,使下面的程序段的功能完全与之等同. s=0.0;n=10; _; k=0; do s=s+d; _;d=1.0/(k*(k+1); while(_); printf(“%fn“,s);,11,d=1.0,k+,k=n,习题,5.16 以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低 成绩,当输入负数时结束输入.请填空. #include main() float x,amax,amin;scanf(“%f“, ,x=0,xamin,第6章 字符型数据,6.1 字符型常量 6.2 字符变量 6.3 字符的输入和输出 6.4 程序举例,

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

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

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


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

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

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