第5章循环结构《C语言程序设计》同步教学课件(电子工业出版社)

2023-08-08
| 21页
| 189人阅读
| 1人下载
精品

内容正文:

第5章 循环结构 本章内容 5.1循环结构算法 5.2 while语句 5.3 do-while语句 5.4 for语句 5.5 break语句和continue语句 5.6 循环结构的嵌套 5.7 综合案例 5.1循环结构算法 穷举法 基本思想是:根据题目的部分条件确定答案的大致范围,在此范围内对所有可能的情况一一列举,逐一验证,直到全部情况验证完 穷举法解题的过程是: 分析题目,确定答案的数据类型和大致范围。 根据答案的数据类型和范围,确定列举范围和方法,使得循环能遍历范围内的所有情况。 对范围内的所有情况一一验证,如果某一情况为问题的答案,则输出答案,继续遍历其它情况,直到遍历所有情况为止。 穷举法算法举例 【例5.1】鸡兔同笼问题。一个笼子中有100只鸡和兔子,共有260条腿,求鸡和兔子各有多少只? 分析: 首先分析问题的要求,即求鸡和兔子的只数,也就是说只要求出鸡(或兔子)的只数,兔子(或鸡)的只数也就计算出来了。根据问题的要求,确定鸡的只数的数据类型为整型,范围为0~100。 确定列举方法。假设鸡的只数用变量j表示,j的范围为0~100。 根据问题条件确定答案。在j在0~100的范围内,只要j*2+(100-j)*4等于260,那么j就是问题的正确答案。 迭代法 迭代是在程序中用同一个变量来存放每一次推出来的值,每一次循环都执行同一条语句,给同一变量赋以新的值,即用一个新值代替旧值,这种方法称为迭代 利用迭代算法解决问题,需要做好以下三个方面的工作: 确定迭代变量。 建立迭代关系式。 对迭代过程进行控制。 迭代算法举例 【例5.2】求1+2+3+……+100=? 分析: (1)确定迭代变量。 本问题求1到100的和,可以将所有数据的和放入到一个变量sum中,sum初始为0,整个问题的求解过程就变为: sum=sum+1 sum=sum+2 …… sum=sum+100 而变量sum就是迭代变量。 (2)建立迭代关系。 根据上面的迭代关系,可以发现所有的求过程都是类似的,因此上面的迭代可以抽象为下面的公式: sum=sum+i; i=i+1; 其中,i的范围为1~100,每迭代一次让i的值加1。 (3)对迭代过程进行控制。 在本问题中,变量i的值从1一直到100,当i等于101时,退出迭代。 5.2 while语句 语句一般形式为: while(<表达式> ) 循环语句; 如果表达式的值为真(非0)时,就执行循环语句;如果表达式的值为假(0)时,就退出循环 图5.1 while循环控制结构 程序举例 【例5.3】输入一个整数n,计算n!。 【例5.4】鸡兔同笼问题。一个笼子中有100只鸡和兔子,共有260条腿,求鸡和兔子各有多少只? 5.3 do-while语句 语句一般形式为: do 循环语句 while(<表达式>); 先执行循环体,然后判断<表达式>的值,如果表达式的值为真(非0)时,就执行循环语句;如果表达式的值为假(0)时,就退出循环 图5.2 do-while循环结构 注意事项: 如果循环语句为多条语句,需要使用{}括起来构成复合语句。 如果<表达式>的值第一次就为假(0),退出循环,但循环语句已经执行1次,因此do…while循环结构的循环语句至少执行1次。 do…while语句的while(<表达式>)后面需要加分号。 除了第一次条件为假的情况,do…while循环和while循环完全等价。 程序举例 【例5.5】猜数游戏。系统产生一个0~100的随机整数,用户猜测这个随机数,如果猜错,继续猜测;如果猜对,根据用户猜测的次数,给出成绩。用户猜对或者输入-1,退出游戏。成绩的评定方法为: 小于等于4次猜中,Very good; 大于4次小于等于7次猜中,Good; 大于7次小于等于10次猜中,Normal; 大于10次猜中,Poor。 程序代码 #include <stdio.h> #include <time.h> main() { int n,u,c; /*n存放随机数,u用户输入的整数,c记录用户输入的次数*/ srand(time(NULL)); /*将时间作为随机数种子,必须添加*/ n=rand()%100; /*产生[0,100)之间的随机整数*/ c=0; /*输入次数置0*/ do { c++; printf(" Please inut an Integer[0,100):"); scanf("%d",&u); if(u>n) /*如果u大于n,提示用户输入的数据太大*/ printf("The number of inp

资源预览图

第5章循环结构《C语言程序设计》同步教学课件(电子工业出版社)
1
第5章循环结构《C语言程序设计》同步教学课件(电子工业出版社)
2
第5章循环结构《C语言程序设计》同步教学课件(电子工业出版社)
3
第5章循环结构《C语言程序设计》同步教学课件(电子工业出版社)
4
第5章循环结构《C语言程序设计》同步教学课件(电子工业出版社)
5
第5章循环结构《C语言程序设计》同步教学课件(电子工业出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。