研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构

上传人:E**** 文档编号:89480606 上传时间:2019-05-25 格式:PPT 页数:24 大小:316KB
返回 下载 相关 举报
研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构_第1页
第1页 / 共24页
研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构_第2页
第2页 / 共24页
研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构_第3页
第3页 / 共24页
研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构_第4页
第4页 / 共24页
研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构》由会员分享,可在线阅读,更多相关《研究式学习——C语言程序设计(第二版) 教学课件 ppt 作者 方娇莉 李向阳_ 3第三章循环结构(24页珍藏版)》请在金锄头文库上搜索。

1、C 程 序 设 计 | 第 三 章,循环结构,第三章,C 程 序 设 计 | 第 三 章,什么是循环结构? 循环语句 练习和综合设计,本讲主要内容,C 程 序 设 计 | 第 三 章,循环结构是通过对条件的判断来重复执行某些程序语句或程序段,C语言中是用for语句或while语句或dowhile语句来构成循环结构的。循环结构的主要功能是重复执行某些语句或某段程序。,循环结构,C 程 序 设 计 | 第 三 章,问题:在唱歌等大奖赛评分时,一般要有若干名评委,记分规则为:去掉一个最高分,去掉一个最低分,再算平均分。设按百分制计分,试设计一个算分程序。,用循环来累计总得分,引例,程序,C 程 序

2、设 计 | 第 三 章,语句形式: for(表达式1;表达式2;表达式3) 语句;,for语句,C 程 序 设 计 | 第 三 章,例 从键盘上输入张三同学五门课程的成绩67、92、78、83、75,计算出平均成绩并输出。 #include main() int i,sum,score; sum=0; for(i=1; i=5; i+) scanf(“%d“, ,第i次循环 i=5 的值 sum的值 1 真 0+67 2 真 67+92 3 真 159+78 4 真 237+83 5 真 320+75 6 假 结束循环,for语句举例,C 程 序 设 计 | 第 三 章,例 从键盘上输入一个大

3、于2的整数n,判断n是不是素数。 只能被1和它本身整除的整数称为素数。在数学中,要判断n是否为素数,通常让n除以2到n的平方根之间的每一个整数,如果n能被2到n的平方根之间的某个整数整除,则说明n不是素数,否则n一定是素数。,for语句举例,程序,C 程 序 设 计 | 第 三 章,省略表达式1 i=1; for( ;i=10;i+) sum=sum+i;,for语句的任何一个表达式都可以省,但不能省略分号。例如:,省略表达式3 for( i=1;i=10;) sum=sum+i; i+; ,省略表达式2时,循环将变成死循环,for语句中可应用逗号表达式,使两个或多个控制变量同时控制循环 fo

4、r(i=0,j=10;i=3000) count=100 ; 在循环体外的语句不受循环的控制,在循环体内的语句受循环的控制。,使用for语句应注意的问题,C 程 序 设 计 | 第 三 章,语句形式:while(表达式) 语句;,执行过程:先计算表达式的值,当表达式的值为非 0 时执行语句;为 0 时执行循环的后继,while语句,C 程 序 设 计 | 第 三 章,例 从键盘上输入张三同学五门课程的成绩67、92、78、83、75,计算出平均成绩并输出。 对下面的程序进行修改,用while代替for #include /*例3.1的程序*/ main() int i,sum,score; s

5、um=0; for(i=1; i=5; i+) scanf(“%d“, ,while语句举例,C 程 序 设 计 | 第 三 章,例 计算1至20之间的奇数之和及偶数之和。 说明: 判断一个数n是否为偶数的常用方法为: n%2=0。 判断一个数n是否为某个数的倍数的常用方法为:n%某个数=0,如 n%5=0 可用于判断n是否为5的倍数。,程序,while语句举例,C 程 序 设 计 | 第 三 章,例:求n的值 main() int n,sum=0; n=1; while(n=10) sum=sum+n; n+; printf(“1-10的累加和为%d“,sum);,问题: 1.语句 n=1;

6、能放在循环体内吗? 2.语句 n=10 中的等号能去掉吗? 3.语句 n+ 能去掉或放在循环外吗? 4.如要求 1到 10 的累乘 应怎样修改 程序?,如何修改程序可求2+4+6+ +10的值,先判断后执行循环体,使用while语句应注意的问题,C 程 序 设 计 | 第 三 章,语句形式:do 语句; while(表达式);,执行过程:先执行语句,后判断条件。 表达式的值为非0时,继续执行语句;表达式的值为0时,执行循环的后继。,Do-while语句,C 程 序 设 计 | 第 三 章,例 求1!+2!+3!+4!+ +20!的值。 main() float n=1,sum=0,t=1; d

7、ot=t*n; sum=sum+t; n+; while(n=20); printf(“1!+2!+3!+ + 20!=%e n “, sum); ,第n次循环 t的值 sum的值 n=20的值 1 1! 0+1! 真(n=2) 2 2! 1+2! 真(n=3) 3 3! 3+3! 真(n=4) 4 4! 9+4! 真(n=5) 5 5! 33+5! 真(n=6) 20 20! 假(n=21) 结束循环,Do-while语句举例,C 程 序 设 计 | 第 三 章,在循环体内又包含另一个完整的循环结构称为循环嵌套。内层循环中再包含其它循环结构,称为多重循环嵌套。,C语言中的三种循环语句(for

8、、while、dowhile)可以互相嵌套,构成所需的多重循环结构,循环嵌套时,内层循环必须被完全包含于外层循环内,不允许循环结构交叉。,循环嵌套,C 程 序 设 计 | 第 三 章,例3.10 打印由星号组成的5行5列的矩形 * * * * * * * * * * * * * * * * * * * * * * * * * 以下循环语句可在同一行上输出五个星号: for(j=1;j=5;j+) printf(“*“); 若让该循环语句执行五次,且每执行一次输出一个换行,就可以输出五行五列星号,双重循环的执行过程如下: i=1时,j=1,2,3,4,5, 输出5个*并换行 i=2时,j=1,2

9、,3,4,5, 输出5个*并换行 i=3时,j=1,2,3,4,5, 输出5个*并换行 i=4时,j=1,2,3,4,5, 输出5个*并换行 i=5时,j=1,2,3,4,5, 输出5个*并换行,for(i=1;i=5;i+) for(j=1;j=5;j+) printf(“*“); printf(“n“); ,多重循环的执行过程为:外循环跨一步,内循环转一圈,循环嵌套举例,C 程 序 设 计 | 第 三 章,for(i=1;i=5;i+) for(j=1;j=5;j+) printf(“*“); printf(“n“); ,要打印如下图形应如何修改下面的双重循环: * * * * * * *

10、 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *,循环嵌套举例,要求:在VC+6.0环境下,通过师生互动的形式完成该题的编程,C 程 序 设 计 | 第 三 章,语句形式: break;,执行过程:终止switch语句或循环语句的执行,跳出当前break所在的控制结构,转去执行后继语句。,double e=1.0,u=1.0; int n; for(n=1; n=20; n+) u=u/n; e=e+u; if(u1.0e-7) break; printf(“n e=%lf

11、(n=%d) n“,e,n+1 ); 在多重嵌套循环中,break语句只能跳出它所在的那一层循环结构,而不能同时跳出多层循环,break语句,C 程 序 设 计 | 第 三 章,语句形式: continue;,执行过程:终止本次循环体的执行,即跳过循环体中continue后面的语句,直接开始下一次循环体的执行。,char ch; int count=0; while(1) ch=getchar(); if(ch=*) break; if(ch9 | ch0) continue; count+; printf(“count=%d n“,count); 在while和do-while循环结构中,c

12、ontinue立即转去检查循环控制表达式,在for循环结构中,则立即转向计算表达式3,对循环控制变量增量或减量。,continue语句,C 程 序 设 计 | 第 三 章,例:本例模拟了一个物体的自由落体过程。从“高空”释放一个物体,它在下降的过程中速度会越来越快,落地反弹后在上升的过程中它的速度会越来越慢。图3-14显示某一时刻物体所处的位置。,程序,综合设计,C 程 序 设 计 | 第 三 章,语句while(!E); 中的表达式!E等价于 A)E=0 B)E!=1 C)E!=0 D)E=1 下面程序段的运行结果是_。 a=1;b=2; c=2; while(abc) t=a;a=b;b=

13、t;c-; printf(“%d,%d,%d“,a,b,c); A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1 下面程序段的运行结果是_。 x=y=0; while(x15) y+;x+=+y; printf(“%d,%d“,y,x); A)20,7 B)6,12 C)20,8 D)8,20,习题(单选题),C 程 序 设 计 | 第 三 章,以下程序执行后的输出结果是_。 main() int x=15; while(x10 ,习题(填空题),C 程 序 设 计 | 第 三 章,本章详细介绍了循环结构。循环结构包括for、while、dowhile三个循环语句。三种循环可以用来处理同一问题,一般情况下它们可互相代替,但设置的表达式条件会有所不同。 读程序 main() int i,j; for(i=1;i5;i+) for(j=2;j=i;j+) putchar(#); ,问题: 1.两层循环各执行了多少次? 2.程序运行结束时循环变量i和j的值为多少?,小结,C 程 序 设 计 | 第 三 章,复习教材第三章内容 预习教材第四章内容 上机实习内容: 实验 循环结构 完成第三章的全部习题,本章课后作业,

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号