第四章 循环结构.(课件)-《C语言程序设计》同步教学(高教版)

2024-11-18
| 50页
| 297人阅读
| 57人下载
普通

内容正文:

第四章 循环结构 C语言程序设计 循环机理 现实生活中,需要不断反复去做和判断的情况有很多 不断学习,直到我们成功 不断骑行,直到团队完成赛程 从海口到上海,有多少种选择,哪一种最合适 输入密码验证,错误三次锁机 通过手机通信记录中寻找说了“特朗普”的人 循环结构简述 C语言程序设计 循环结构的应用场景 1. 国家安全领域 “谍影重重”——反复搜索“郁金香” 2. 人工智能领域 Alpha GO围棋挑战——反复计算落子的可能性 3. 日常生活领域 “双11”购物车决策——反复搜索“最合算” 循环结构特征——反复去做 直到合适 C语言程序设计 C 语言中的循环结构 分为三类:  1. for 循环  2 . while 循环  3 . do while 循环  循环:程序自动重复某几个语句 食材 烹饪 菜肴 C语言程序设计 本章学习任务 理解循环结构的基本流程 掌握for循环的语句结构 掌握while循环的语句结构 掌握do while循环的语句结构 理解三种循环结构之间的区别 循环结构应用实践 C语言程序设计 C语言中最灵活、最复杂的循环语句; 可以用于循环次数确定的情况; 可以用于循环次数不确定的情况; 可实现while和do--while语句的所有功能。 for 循环语句 for 循环语句基本流程 循环条件初始值 for(条件) { 执行语句; } 成立 条件 执行语句 不成立 条件变化 C语言程序设计 for 循环语句基本流程 考试分数 for(分数 < 60 ) { 继续学习; 参加考试; } 获得证书 成立 条件 执行语句 不成立 条件变化 C语言程序设计 for 循环语句基本流程 grade=55; for(; grade < 60 ; ) { 继续学习; 考试 grade= ?; } 获得证书 成立 条件 执行语句 不成立 条件变化 C语言程序设计 基本流程小结 开始是 变量初始化 接着是 条件判断语句 再者是 一对表示循环体范围的大括号 最后是 大括号中的执行语句 C语言程序设计 for 循环语句基本结构 for语句的一般形式 for( 语句1; 语句2; 语句3 ) { 循环体 } 注意 不能丢 for的形式: for (语句1;语句2;语句3) 循环体 循环变量 赋初值 循环终止 条件 循环变量 控制 语句1:初值表达式,用于在循环开始前为循环变量赋初值  语句2:循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数  语句3:循环控制变量修改表达式,它使for循环趋向结束  循环体:需要重复执行的语句  for的形式: for (语句1;语句2;语句3) 循环体 说明: for语句中语句1、语句2 、语句3 类型任意,都可省略,但分号;不可省; 无限循环: for( ; ; ) for语句可以转换成while结构 循环变量 赋初值 循环终止 条件 循环变量 控制 for的形式示例: for (语句1;语句2;语句3) 循环体 #include<stdio.h> void main( ) { int i; for(i=0; i<10; i++) { printf("%d ",i); } } 程序 4.2.1 输出 数字 0 至 9 #include<stdio.h> void main( ) { int i=0; for( ; i<10; i++) { printf("%d ",i); } } #include<stdio.h> void main( ) { int i=0; for( ; i<10;) { printf("%d ",i); i++; } } for 循环语句执行顺序 for语句的一般形式 for( 语句1; 语句2; 语句3 ) { 循环体 } 循环起点 仅执行一次 条件比较 直到不成立 循环体 条件成立执行 条件改变 执行多次 条件比较 直到不成立 循环体 条件成立执行 条件改变 执行多次 条件比较 直到不成立 for循环语句程序示例 程序 4.2.2 void main( ) { int grade=0; printf(“输入考试成绩: ”); scanf(“%d”, &grade); for( ;grade<60 ; ) { printf(“输入考试成绩: ”); scanf(“%d”, &grade); } printf(“以%d分通过考试,获得证书”,grade); } 条件初始值 循环体 成立 条件 执行语句 不成立 条件变化 C语言程序设计 for循环语句程序示例 程序 4.2.3 输出10至20的值 int main( ) { int a; for(a=10 ;a <= 20 ;a++) { printf(“a的值: %d ”,a); } } 执行时产生下列结果: 成立 条件 执行语句 不成立 条件变化 C语言程序设计 for循环应用实战 1. 输出1+2+3+...+29+30的结果。 2. 输出100以内所有能同时被3和5整除的数。 3.中国工商银行活期存款年利率为1.79%。从键盘输入客户存款和存款期限(年),计算并输出到期客户本息数额。 C语言程序设计 for循环结构特征 1. 先判断,后执行 2. 条件为真(非0)执行循环体,为假(0)跳出循环 3. 循环条件在循坏体内部必须得到改变 4. 循环体语句可能一次也不被执行 5. 统计变量进循环前必须初始化(求和为0,求乘积为1) 成立 条件 执行语句 不成立 条件变化 C语言程序设计 while循环语句基本结构 条件 执行语句 成立 不成立 循环条件初始值 while(条件) { 执行语句; } C语言程序设计 过渡语 下面咱们借用一个实际案例来分析一下 我们都经历很多考试,在考试处理的实际中,成绩不及格就要进行继续学习,然后再次考试,接着再判断成绩是否不及格,如果不及格,再继续学习,考试,反复去做。考试及格,直接获得证书。 C语言程序设计 while循环语句基本结构 考试分数 while(分数 < 60 ) { 继续学习; 参加考试; } 获得证书 成立 不成立 条件 执行语句 C语言程序设计 二、while循环语句基本结构 grade=55; while(grade < 60 ) { 继续学习; 考试 grade= ?; } 获得证书 条件 执行语句 成立 不成立 C语言程序设计 基本结构小结 通过前面的讲解,while循环的基本结构已经很清晰 开始是 变量初始化 接着是 条件判断语句 再者是 一对表示循环体范围的大括号 最后是 大括号中的执行语句 C语言程序设计 while循环语句程序示例 程序 int main( ) { int grade=0; printf(“输入考试成绩: ”); scanf(“%d”, &grade); while( grade<60 ) { printf(“输入考试成绩: ”); scanf(“%d”, &grade); } printf(“以%d分通过考试,获得证书”,grade); } 条件初始值 循环体 条件 执行语句 成立 不成立 C语言程序设计 while循环语句程序示例 程序 :输出10至20的值 int main( ) { int a=10; while( a <= 20 ) { printf(“a的值: %d ”,a); a++; } } 执行时产生下列结果: 条件 执行语句 成立 不成立 C语言程序设计 while循环结构特征 1. 先判断,后执行 2. 条件为真(非0)执行循环体,为假(0)跳出循环 3. 循环条件在循坏体内部必须得到改变 4. 循环体语句可能一次也不被执行 5. 统计变量进循环前必须初始化(求和为0,求乘积为1) 条件 执行语句 成立 不成立 C语言程序设计 C语言循环语句中用得相对较少的一个; 可以用于循环次数确定的情况; 可以用于循环次数不确定的情况; 先做再看,循环体至少被执行一次。 do while 循环语句 do while 循环语句基本流程 循环条件初始值 do { 执行语句; } while(条件); 条件 执行语句 成立 不成立 条件变化 C语言程序设计 do while 循环语句基本流程 考试分数 do { 学习; 参加考试; } 获得证书 while(分数 < 60 ); 条件 执行语句 成立 不成立 条件变化 C语言程序设计 do while 循环语句基本流程 grade=55; do { 学习; 考试 grade= ?; } 获得证书 while(grade < 60 ); 条件 执行语句 成立 不成立 条件变化 C语言程序设计 基本流程小结 开始是 变量初始化 接着是 do 再者是 一对表示循环体范围的大括号 最后是 while (条件); C语言程序设计 do while循环语句程序示例 程序 4.6.1 判断是否通过课程考核 void main( ) { int grade=0; do { printf(“输入考试成绩: ”); scanf(“%d”, &grade); }while(grade<60); printf(“以%d分通过考试,获得证书”,grade); } 条件初始值 循环体 条件 执行语句 成立 不成立 条件变化 C语言程序设计 do while循环语句程序示例 条件初始值 循环体 程序 4.6.2 输出 数字 0 至 9 #include<stdio.h> void main( ) { int i=0; do { printf("%d ",i); i++; } while(i<=9); } 条件 执行语句 成立 不成立 条件变化 C语言程序设计 do while循环语句程序示例 程序 4.6.3 输出10至20的值 void main( ) { int a=10; do { printf(“a的值: %d ”,a); a++; }while(a<20) } 执行时产生下列结果: 条件 执行语句 成立 不成立 条件变化 程序存在什么问题呢? ; C语言程序设计 do while 循环结构特征 1. 先执行,后判断 2. 条件为真(非0)执行循环体,为假(0)跳出循环 3. 循环条件在循坏体内部必须得到改变 4. 循环体语句至少被执行一次 5. 统计变量进循环前必须初始化(求和为0,求乘积为1) 条件 执行语句 成立 不成立 条件变化 C语言程序设计 三种循环语句结构对比 for语句 初始值 while( 条件 ) 条件变化 a=1; while(a<10) { printf(“a的值%d”,a); a++; } for(初始值 ; 条件 ; 条件变化) for(a=1; a<10;a++) printf(“a的值%d”,a); while语句 do while语句 初始值 do { 条件变化 } while( 条件 ); a=1; do { printf(“a的值%d”,a); a++; }while(a<10); 三种循环语句结构异同 1. for循环与while循环无本质区别,可以互换,都是先判断条件后执行; 2. for循环与while循环的循环体可能一次都不被执行; 3. do while 循环是先做后看,循环体至少被执行一次。 C语言程序设计 一题多解:同一问题不同循环方案 程序 : 输出 5×4×3×2×1 的结果 #include <stdio.h> void main( ) { int a,s=1; for(a=5;a>=1;a--) s=s*a; printf(“结果:%d”,s); } #include <stdio.h> void main( ) { int a,s=1; while(a>=1) { s=s*a; a--; } printf(“结果:%d”,s); } #include <stdio.h> void main( ) { int a,s=1; do { s=s*a; a--; }while(a>=1); printf(“结果:%d”,s); } for语句 while语句 do while语句 C语言程序设计 知识点小结 for循环灵活,最常用 while循环结构流程直观 for 与while先看后做,可以互换 do while 先做再看 C语言程序设计 终止循环并跳出循环 只能跳出当前循环 break语句 void main( ) { int a; for(a=1;a<=30;a++) { if(a>=10) break; printf(“a的值:%d ”, a); } } 结果: 1 2 3 4 5 6 7 8 9 ? void main( ) { int a; for(a=1;a<=30;a++) { while(a>=10) { break; } printf(“a的值:%d ”, a); } } 结果: 1 2 3 ...... 30 ? 终止本次循环但不跳出循环 只能终止本次循环 continue语句 void main( ) { int a; for(a=1;a<=30;a++) { if(a%2==0) continue; printf(“a的值:%d ”, a); } } 结果: 1 3 5 7 9 ... 29 ? void main( ) { int a; for(a=1;a<=30;a++) { if(a%2==0) break; printf(“a的值:%d ”, a); } } 结果: 1 ? break与continue比较 1. break直接跳出循环,循环内部语句不再执行; 2. continue仅忽略本次循环,继续执行下一步循环; 3. break常用于避免死循环; 4. continue常用于过滤数据。 C语言程序设计 程序1 : 输入任意整数,逆序输出该整数 循环程序举例 void main( ) { int t; long n; printf("整数:"); scanf("%ld",&n); while(n!=0) { t=n%10; //每次取最末尾的数 printf("%d",t); //输出取出的数 n=n/10; //每取一个数,缩小十倍即可删除这个已被取出的数 } } 结果: 整数:2356 6532 44 程序2:任意输入一个整数,求该整数各位数字的乘积 循环程序举例 void main( ) { int s=1,t; long n; printf("整数:"); scanf("%ld",&n); while(n!=0) { t=n%10; s=s*t; n=n/10; } printf("结果是:%d",s); } 结果: 整数:1234 结果是:24 程序 3 : 中国工商银行活期存款年利率为1.79%。从键盘输入客户存款和存款期限(年),计算并输出到期客户本息数额。 循环程序举例 void main( ) { int y,i; float n; printf("存款额度:"); scanf("%f",&n); printf("存款期限:"); scanf("%d",&y); for(i=1;i<=y;i++) //存款几年就重复做几次 n=n*(1+0.0179); printf("本息数额:%f",n); } 结果: 存款额度:10000 存款期限:1 本息数额:10179 程序4:和尚算口粮。有一财主到寺庙捐香火钱,和尚建议其第一天捐米2斗,第二天捐4斗,第三天捐8斗,第四天捐16斗,.......第10天捐多少? 循环程序举例 void main( ) { int i; long a=2; for(i=1;i<=10;i++) //已知第1天为2 ,求第10天,所以循环10次 a=a*2; printf("第10天捐米 %ld 斗",a); } 程序5:百钱买百鸡。市场中,公鸡价格5元每只,母鸡3元每只,小鸡一元3只。某君欲花费100元买100只鸡,共有几种购买方案? 循环程序举例 void main( ) { int x,y,z; for(x=1;x<25;x++) for(y=1;y<33;y++) for(z=1;z<100;z++) if(x+y+z==100 && (int)(5*x+3*y+(float)1/3)==100) //如果总数量和钱数均为100,即要找的方案 printf("公鸡:%d,母鸡:%d,小鸡:%d",x,y,z); } 循环要件:初始值、终止条件、变量改变 运行流程:外层循环每走一步,内层走一圈。 运行次数:外层循环次数 × 内层循环次数。 嵌套技巧:走得慢的放外层,走得快的放内层。 循环小结 谢谢观看 C语言程序设计 $$

资源预览图

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