2022年C语言循环语句学案 .pdf

上传人:C****o 文档编号:39700707 上传时间:2022-09-07 格式:PDF 页数:20 大小:357.74KB
返回 下载 相关 举报
2022年C语言循环语句学案 .pdf_第1页
第1页 / 共20页
2022年C语言循环语句学案 .pdf_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《2022年C语言循环语句学案 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言循环语句学案 .pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C语言项目实训教程项目三循环程序设计打鱼还是晒网1 项目三 循环程序设计打鱼还是晒网任务一while 语句学案学生自评教师评分专业班级姓名工位号【学习要求】1.了解循环结构、循环语句2.掌握 while 语句和语法形式、执行顺序及用法3.掌握循环结构的嵌套使用方法【学习重点、难点】1while 语句2.算法描述。【学时安排】4 学时【学习过程】中国有句俗话叫“三天打鱼两天晒网”。某人从 1990 年 1 月 1 日开始“三天打鱼两天晒网”,问这个人在 1994年 3 月 1 日这一天是在“打鱼”,还是“晒网”?一、课前预习及课堂学习任务1、循环结构?2、循环语句:实现循环结构的语句称为循环语句

2、。3、在 C 中,循环语句有以下三种:for 语句while 语句dowhile 语句1)while 循环当型循环while 语句的一般格式为:while(表达式)语句名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网2 while 语句的执行过程为:(1)计算并判断表达式的值。若值为0,则结束循环,退出while 语句;若值为非 0,则执行循环体。(2)转步骤(1)。执行过程流程图:1.写出以下程序的运行结果程序屏幕显示注意事项例 3-1 100 例如:求nn=1#include void main(void)int a

3、=1,sum=0;while(a=100)sum+=a;a+;printf(%d,sum);练习 求 s=1+2+3+,+10 练习 用 while 语句实现阶乘5!。注意“边界值”的选择!应有使循环趋于结束的语句名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网3 程序屏幕显示注意事项例 3-2:统计从键盘输入的一行字符的个数。#include void main(void)int num=0;printf(请输入一行字符:);while(getchar()!=n)num+;printf(共输入了%d 个字符!,num)

4、;例 3-3:个位数是6,且能被3 整除的 5 位数共有多少个?#include void main(void)long int n=10006;int count=0;while(n=99999)if(n%3=0)count+;n+=10;printf(“count=%dn”,count);练习:能被 3 整除的 3 位偶数共有多少个?名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网4 程序屏幕显示注意事项例 3-3 利用辗转相除法,求两个正整数的最大公约数算法:1)若 j=0,则 i 为最大公约数2)若 j 不为 0

5、,将 i 除以 j,余数为 k,i=j;j=k;转 1)main()int i,j,temp;printf(“Enter 2 integers:”);scanf(“%d%d”,&i,&j);while(j)temp=i%j;i=j;j=temp;printf(“Gcd=%dn”,i);二、While 语句-使用要点(当型循环)1.圆括号中的表达式可以是任意表达式,它仅用来测试表达式的结果值是零值还是非零值,用以决定循环进行的条件,称为“判终表达式”,一般是关系表达式或逻辑表达式,与条件语句一样可进行如下简化:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 20 页 -C语言项目实

6、训教程项目三循环程序设计打鱼还是晒网5 while(x!=0)while(x=0)2.当判终表达式为时,这样的while语句为无穷循环语句,如:while(1)语句;/无穷循环语句3.while语句的循环体通常是一个复合语句,也可以是简单语句,甚至可以是一个。4.在循环体中应有使循环趋于的语句,以避免“死循环”。任务二 do-while 循环直到型循环学案学生自评教师评分专业班级姓名工位号【学习要求】1.了解循环结构、循环语句2.掌握 do-while语句和语法形式、执行顺序及用法3.掌握循环结构的嵌套使用方法【学习重点、难点】1do-while 语句【学时安排】2 学时【学习过程】二、课前预

7、习及课堂学习任务do-while语句的一般格式为do 语句while(表达式);do-while语句的执行过程为:(1)执行循环体语句。(2)计算并判断表达式的值。若值为0,则结束循环,退出while 语句;若值为非 0,则转步骤(1)。执行过程:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网6 程序编程注意事项、流程图绘制例 3-4 100 例如:求nn=1#include void main(void)int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,

8、sum);练习 求 s=2+4+6+,+20 练习 求 s=1+3+5+,+19 无 论 表 达 式 的 值 是 多 少,循 环 体 至 少 执行!名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网7 程序编程提示例 3-5 从键盘输入一行字符,统计其中包含的数字字符个数,并输出。#include main()int ch,num=0;printf(“Enter a line text:”);do ch=getchar();if()num+;while(ch!=);printf(“num=%dn,num”);练习个位数是6

9、,且能被3 整除的 5 位数共有多少个?练习个位数是奇数,且能被7 整除的 4 位数共有多少个?1)题目要求从键盘读入一个字符,说明字符的不确定,需要根据行结束标记(回车符)判断输入的结束。2)题目只需要统计数字字符个数,所以不需要保存每个字符。3)为了统计数字字符的个数,需要定义一个整形变量num,用于累加数字字符的。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网8 三、do-while语句与 while 语句的本质区别1)while语句是的值。若其值为非 0,则执行;若其值为 0,则退出。2)do-while语句则

10、首先执行循环体,然后再计算并的值。因此,do-while语句至少要执行循环体。四、do-while语句-使用要点1.与 while 语句类似,判终表达式可以是任意表达式,它仅用来测试表达式的值是零值还是非零值,用以决定循环进行的条件.2.do-while语句的循环体既可以是一个复合语句,也可以是一个简单语句。但即使循环体是一个简单语句,包围它的一对大括号也不能省略。任务三 for 语句学案【学习要求】1.了解循环结构、循环语句2.掌握 for 语句和语法形式、执行顺序及用法3.掌握循环结构的嵌套使用方法【学习重点、难点】1for 语句2.算法描述。for 语句的一般格式为:for(表达式 1;

11、表达式 2;表达式 3)语句表达式 1 用于循环赋初始值,它只能执行一次;表达式 2 是循环条件;表达式 3 用于对循环条件的修改,以使循环能趋于结束。执行过程流程图:名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网9 程序编程注意事项、流程图绘制例 3-6 求从 1 加到 100 的程序。程序如下:#include main()int s,i;s=0;for(i=1;i=100;i+)s=s+i;printf(sum=%d ,s);练习 求 s=2+4+6+,+20 练习 求 s=1+3+5+,+19 for 语句-使

12、用要点1、for 语句中的表达式1 可以省略,但在 for 循环之前应给循环变量赋值.例如:i=1;for(;i=100;i+)sum=sum+i;2、表达式2 也可以省略,但循环将陷入死循环.例如:for(i=1;i+)sum=sum+i;3、表达式 3 也可以省略,但应在循环体中增加使循环变量值改变的语句.例如:for(sum=0,i=0;i=100;)sum=sum+i;i+;4、表达式1 和表达式 3 同时省略也允许,例如:i=1;sum=0;for(;i=100;)sum=sum+i;i+;这是完全与while 循环等同.5、三个表达式都可以省略,但“;”不能省略。for(;)sum

13、=sum+i;循环将无休止的执行下去6、表达式1 中的表达式可以是循环变量的赋初值的表达式,也可是与赋初值根本无关的其他表达式,或者两者兼而有之.例如:for(sum=0,i=1;i=100;i+)sum=sum+i;表达式 3 也可以出现同样的情况,例如:for(sum=0,i=1;i=100;sum=sum+i,i+);7、表达式2 一般清况下是关系表达式或逻辑表达式,也可以是其他表达式,例如:for(;(c=getchar()!=,n?;printf(“%c”,c);若输入:cauc输出为 cauc,不是输出 ccaauucc.名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共

14、 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网10 程序编程提示例 3-7 求 Fibonacci 数列 1,1,2,3,5,8 的前 30 个数F1=1 F2=1 Fn=Fn-1+Fn-2 2=1+1 3=1+2 5=2+3 8=3+5 在一次循环中计算两项,递推公式为:F1=1 F2=1(初值)F1=F1+F2 F2=F2+F1#include main()long int f1,f2;int i,n printf(“Input n:”);scanf(“%d”,&n);f1=f2=1;for(i=1;i=n;i+)printf(“%ld n”,f1,f2);f1=f1+f2

15、;f2=f2+f1;例 3-8 求 10 个大于 0 小于 100 的数中的最大数和最小数置初值的方法一般有两种:1)极值法:取有界数据的上界作为最小值的初值,取有界数据的下界作为最大的初值2)成员法:取一批数据的第一个数作为最大值和最小值的初值。极值法main()int a,i,max,min;max=0;min=100;for(i=1;i=10;i+)scanf(“%d”,&a);if(maxa)min=a;printf(“Max=%d,Min=%dn”,max,min);成员法main()int a,i,max;scanf(%d,&max);/*输入其中的一个数作初始值*/for(i=1

16、;i=9;i+)/*与剩下的9 个数比较*/scanf(%d,&a);if(maxa)max=a;printf(Max=%d,max);名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网11 程序编程注意事项、流程图绘制练习:求10!练习求 s=1+3+5+,+19 练习 s=1+2!+3!+4!+20!for 语句的特点:1、使用了表达式2、循环控制变量可以在循环体内使用,也可以不使用,仅用来控制循环次数3、从正常出口离开循环时,循环控制变量会终值。任务四跳转语句学案【学习要求】1.了解 continue、break、

17、goto 语句2.掌握 continue、break 语句和语法形式、执行顺序及用法【学习重点、难点】1continue 语句continue 语句用于提前结束循环中的一轮循环。当程序执行到continue语句时,就跳过循环中后面还未执行的语句,回到循环的起始处,继续进行下一轮的循环。continue语句常与 if 语句联合起来使用,以便在满足一定条件时提前结束本轮循环。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网12 功能:结束本次循环,接着判定下一次是否执行循环。程序编程提示、注意事项例 3-9 对除 5的倍数

18、以外的1100 的数求和。练习:对除 3 的倍数以为的1150 的数求和。例 3-10把 100200 之间的不能被3整除的数输出.#include void main(void)int n;for(n=100;n=200;n+)if(n%3=0)continue;printf(“%d”,n);s=0;for(i=1;i=100;i+)if(!(i%5)continue;s+=i;printf(SUM=%dn,s);名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网13 2.break 语句ISO/ANSI C+标准中规

19、定的跳转语句有 break 语句、continue 语return语句和 goto 语句等。return语句将在第 6 章介绍。1.break语句的功能:用于从循环体内跳出循环体,即提前结束循环。2.使用要点:break 只能用在循环语句和switch 语句中.程序编程提示、注意事项for(;)scanf(%c,&ch);if(ch=!)break;elseprintf(%c ,ch);例 3-11 计算 r=1 到 r=10 的圆面积,当面积大于 100 时结束循环.例 3-12 某银行利息2.8%(以复利计)。假设某储户存入本金8000 元,当满足以下条件之一,储户从银行将钱取出。(1)储

20、蓄满10 年(2)连本带息超过10000 元编程求储户会在第几年将钱取出,取出时连本带息是多少?此循环本是无限循环,因加上了break 语句,使程序在输入字符常量!时就终止循环。;for(r=1;r100)break;printf(“%f”,area);#include void main(void)int year;float money=8000;for(year=1;year10000)break;printf(“%d year%fn”,year,money);名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网14

21、 3、continue 与 break 的比较1)continue与 break 的区别:continue 只结束本次循环,而不是终止整个循环。而break 终止本层循环,不再会去判断执行循环体的条件是否成立。4、goto 语句一般形式为:goto 语句标号;程序编程提示、注意事项100 求n n=1#include void main()int i,sum=0;i=1;loop:if(i=100)sum=sum+I;i+;goto loop;printf(“%d”,sum);1、目前 goto 语句很少使用,过多的使用goto 语句会降低程序的可读性。2、goto 语句对结构程序设计有影响。

22、它将使程序的结构不清晰。应尽可能用break 和 continue语句代替goto 3、不能用 goto 语句从循环的外层跳到循环的内层,否则会导致程序的混乱。名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网15 任务五多重循环学案多重循环:嵌套多层循环结构的循环。外循环:处于外层的循环称为外循环。内循环:处于内层的循环称为内循环。程序编程提示、注意事项例 3-13 输出图形*例 3-14 编写一个九九乘法表的程序A 方式:#include void main()int i,j;/*定义两个下标变量i 和 j*/for

23、(i=1;i=9;i+)for(j=1;j=9;j+)printf(%4d,i*j);printf(n);#include void main(void)int i,j;for(i=1;i=3;i+)for(j=1;j=8;j+)putchar(*);printf(n);屏幕显示名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网16 程序编程提示、注意事项B 方式#include stdio.h void main()int i,j;for(i=1;i10;i+)for(j=1;j10;j+)printf(%d*%d=%

24、-4d,i,j,i*j);printf(n);C 方式#include void main(void)int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(“%d*%d=%-4d”,i,j,i*j);printf(“n”);例 3-15 输出下面图案ABCDE BCDE CDE DE E 屏幕显示屏幕显示#include“stdio.h”main()int i;char ch;for(i=0;i5;i+)for(ch=,A?+i;ch,A?+5;ch+)printf(“%c”,ch);printf(“n”);名师资料总结-精品资料欢迎下载-名师精心整理-第

25、16 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网17 程序编程提示、注意事项例 3-16 百元买百鸡,母鸡 3 元/只,公鸡 2元/只,小鸡 3 只/元.main()int x,y,z,flag=0;for(x=1;x=32;x+)for(y=1;y=48;y+)z=100-x-y;if(z%3=0&(3*x+2*y+z/3=100)printf(”hen=%d,cock=%d,chicken=%dn”,x,y,z);flag=1;break;if(flag)break;练习 1 有一堆零件(100200 之间),如果分成 4 个零件一组的若干组,则多两个零件;若分成

26、 7 个零件一组,则多 3 个零件;若分成 9 个零件一组,则多 5 个零件。请编程求这堆零件的总数。#名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网18 程序编程提示、注意事项练习 2 编程统计用数字0 9 可以组成多少个没有重复数字的3 位偶数。练习 3 用 100 元人民币换成1 元、2 元、5 元的所有兑换方案。练习 4 从 3 个红球、5 个白球、6 个黑球中任意取出8 个球,且其中必须有白球,输出所有可能的方案。名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 20 页 -C语言项目实训教程

27、项目三循环程序设计打鱼还是晒网19 程序编程提示、注意事项练习 5 每个苹果0.8 元,第一天买两个苹果;从第二天开始,每天买前一天的2 倍,直至购买的苹果个数达到不超过100 的最大值,编写程序求每天平均花多少钱。练习 6 一个球从100m 高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第10 次落地时,共经过多少米?第 10 次反弹多高?综合项目攻破:中国有句俗话叫“三天打鱼两天晒网”。某人从 1990年 1月 1 日开始“三天打鱼两天晒网”,问这个人在 1994 年 3 月 1 日这一天是在“打鱼”,还是“晒网”?名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 20 页 -C语言项目实训教程项目三循环程序设计打鱼还是晒网20 名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 20 页 -

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

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁