




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 循环结构程序设计 引例:编程计算1*2*3*4*5 可以这样实现:可以这样实现: intint product; product; product =1*2*3*4*5 ; product =1*2*3*4*5 ; 如果问题变为:求如果问题变为:求1*2*3* *100001*2*3* *10000? 该问题无法用一个赋值语句实现!该问题无法用一个赋值语句实现! 2 主要内容主要内容 学习三种结构的程序设计方法 顺序结构程序设计 选择结构程序设计 循环结构程序设计 掌握每一种语句的格式、功能、执行过程和执行结 果,并学习如何将这些语句组织成程序 学习逻辑问题的解题思路,及递推、迭代的方法 3 循环结构程序设计 循环的概念 用while语句和do-while语句实现循环 用for 语句实现循环 循环的嵌套 break语句和continue语句 几种循环的比较 程 序 举 例 一、循环概述一、循环概述 5 在很多实际问题中会遇到有规律性的重复运算,因此 在程序中就需要将某些语句重复执行。 一组被重复执行的语句称为循环体; 每重复一次,都必须作出是继续还是停止循环的决定 ,这个决定所依据的条件称为循环条件; 循环:在给定条件成立时,反复执行某程序段,直到 条件不成立为止。 6 循环结构 入口入口 nono P P A A yesyes 出口出口 循环条件 循环体 7 循环结构需要解决的两个问题 2. 控制循环结构的结构描述 条件表示描述方法 逻辑表达式 关系表达式 1. 控制循环结构执行的条件表示 while 语句 do-while语句 实现循环结构的语句 可使用c中的 任意表达式 for语句 8 1、while 语句 : whilewhile(表达式)语句;(表达式)语句; 1.1. 计算表达式的值;计算表达式的值; 2.2. 当表达式的值为非当表达式的值为非0 0时,反复执行时,反复执行whilewhile中的语句;中的语句; 3.3. 当表达式的值为当表达式的值为0 0时,时,whilewhile循环结束。循环结束。 功能:功能:while while 语句用来实现语句用来实现“当型当型”循环。循环。 执行流程:执行流程: 9 while while 语句执行流程:语句执行流程: 0 0 非非0 0 表达式表达式=?=? 循环体外语句循环体外语句 循环体语句循环体语句 循环入口循环入口 循环循环 结束结束 ! 开始下一开始下一 次循环次循环 特点:先判断,后 执行;若条件不成 立,则有可能一次 也不执行。 适合的情况:适合的情况: 知知 道控制循环的条件道控制循环的条件 为某个逻辑表达式为某个逻辑表达式 的值,而且在循环的值,而且在循环 中该表达式的值会中该表达式的值会 被改变。被改变。 10 例1. 编程计算1+2+3+ +10000 方案一、 sum = sum+i; i = i+1; 11 方案二、方案二、 12 方案三、方案三、 13 2 2、do-while do-while 语句:语句: do do 语句语句; whilewhile(表达式);(表达式); 1.1. 执行语句;执行语句; 2.2. 计算表达式的值;计算表达式的值; 3.3. 当表达式的值为非当表达式的值为非0 0时,再次执行时,再次执行dodo中的语句;中的语句; 4.4. 当表达式的值为当表达式的值为0 0时,时,do-whiledo-while循环结束。循环结束。 执行流程:执行流程: 14 真真( (非非0)0) 表达式表达式=?=? 语句语句 循环体外语句循环体外语句 0 0 do-while do-while 语句执行流程:语句执行流程: 循环循环 结束结束 ! 开始下一开始下一 次循环次循环 特点:先执行,后 判断;循环至少执 行一次语句。 15 例2. 用do-while语句实现1+2+3+ +10000 16 例2. 用do-while语句实现1+2+3+ +10000 17 例2. 用do-while语句实现1+2+3+ +10000 改成while语句 注意两个语句的顺序! 18 例3.求满足 1 + 2 + 3 + + n0 时,开始统计m的位数 while(m0) 因为m0,m至少有一位,num+; 然后把m的个位去除; m=m/10; 再判断m是否仍然0; 当循环结束时,即: m等于0; 结果:num的值即为m的位数; 24 25 26 求解方法: (2)分别正向打印出每一位数字; a)首先应求出m的位数num; b)然后从最高位开始输出; c)最高位为:m/10num-1; d)除了最高位以外,其他的部分为 : m%10num-1; e)循环直到最后一位输出结束。 27 求解方法: (3)逆序打印出各位数字; a)从最低位开始输出; 最低位为: m/10; c)除去最低位,其它的部分为 : m%10; d)循环,直到最高位输出结束。 28 29 (1):求位数 (2):从高位到低 位求每一位。 (3):从低位到高 位求每一位。 30 31 (2):从高位到低位求每一位。 32 (3):从低位到高位求每一位。 33 循环结构程序设计 循环的概念 用while语句和do-while语句实现循环 用for 语句实现循环 循环的嵌套 break语句和continue语句 几种循环的比较 程 序 举 例 3、for 语句: for(for(表达式表达式1 1;表达式表达式2 2;表达式表达式3 3) ) 语句语句; 表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:关系表达式或逻辑表达式,循环控制条件; 表达式3:一般为赋值表达式,给控制变量增量/减量; 语句:循环体,当有多条语句时,必须使用复合语句。 35 0 真(非0) 表达式2=? 语句; 循环体外语句 表达式1; for(for(表达式表达式1 1;表达式;表达式2 2;表达式;表达式3) 3) 语句;语句; 表达式3; 循环循环 结束!结束! 开始下一开始下一 次循环次循环 36 3 3、for for 语句:语句: forfor语句很好地体现了正确表达循环结构应语句很好地体现了正确表达循环结构应 该注意的三个问题:该注意的三个问题: 1. 1.循环控制变量的初始化循环控制变量的初始化 2.2.循环的条件循环的条件 3.3.循环控制变量的更新循环控制变量的更新 forfor语句适合的情况语句适合的情况已知循环次数已知循环次数 37 例6. 用 for 语句计算 1 + 2 + . . . + 100 i=1i=1 i i int main() int i=0,j=0; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(“%4d“,i*j); printf(“n“); return 0; 53 循环结构程序设计 循环的概念 用while语句和do-while语句实现循环 用for 语句实现循环 循环的嵌套 break语句和continue语句 几种循环的比较 程 序 举 例 break 语句: 用于循环语句和 switch 语句中,作用是 跳出它所在的循环语句或switch 语句。 格式:while(条件1) ;if(条件2) break; 执行过程: 每次执行到 if 语句时,计算条件2的值; 如果条件2的值非零,则跳出循环语句; 否则,执行 if 语句的下一条语句。 55 Continue 语句: continue 语句类似于 break 语句,但不是退出循环,而是跳 过循环体下部未执行的语句,回到循环头部(while 处)接着进 行下一次循环。 格式:while (条件1) . . .;if (条件2) continue;. . . Continue 执行过程: 当条件1成立时,进入 while 的循环体; 执行到 if 语句时,计算条件2的值; 如果条件2满足,执行 continue 语句,结果为:执行转到 while 处开始下一次循环;否则,执行 if 的下一条语句。 56 continue语句: continue 语句的作用 是结束本次循环,直接 进行下一轮循环的判断 。 循环中continue语句执行流程 假 表达式2 表达式1 语句序列 语句序列 真 真 continue 假 该语句只能用在for、 while、do-while语句 中,常与if语句配合, 起到加速循环的作用。 57 break 语句: 格式:while(条件1) ;if(条件2) break; continue 语句: 格式: while (条件1) . . .;if (条件2) continue;. . . 58 例7.一球从100米高度自由落下,每次落地 后反弹回原高度的一半,再落下。求它在第10次落地时共经过 多少米?第10次反弹多高? float h=100.0, sum=0.0; int n; for( n=1; ; n+)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025第二季度重庆医科大学附属大学城医院临床医技科室人员招聘模拟试卷及答案详解(考点梳理)
- 2025广西百色市右江民族医学院公开招聘实名编制高层次人才93人模拟试卷及答案详解(夺冠系列)
- 2025无限期劳动合同样本
- 2025版常见商业办公租赁合同解析
- 2025安徽马鞍山市博望区人民医院招聘派遣制工作人员8人考前自测高频考点模拟试题及完整答案详解1套
- 造林更新工高级工考试题库及答案
- 加油站管理员考试题库及答案
- 田径初级考试题库及答案
- 村社区干部考试题库及答案
- 保安监控室考试题库及答案
- 办公楼供电线路改造方案
- 第10课 公共场所言行文明 第2课时(课件)2025-2026学年道德与法治三年级上册统编版
- 医院新技术新项目申请
- 12YJ11 卫生、洗涤设施设计图集
- 2025年保密教育线上培训试题参考答案
- (高清版)DBJ∕T 13-493-2025 《装配式混凝土建筑深化设计标准》
- 资产评估机构采购方案投标文件(技术方案)
- 《老年上消化道出血急诊诊疗专家共识(2024)》解读
- 2024-2025学年河南省郑州外国语中学九年级上学期第一次月考道德与法治试卷
- 维修人员考核管理办法
- 2025-2030中国H发泡剂行业应用态势与需求规模预测报告
评论
0/150
提交评论