C语言程序设计教程(第2版)课件第6章_免费下载.ppt.ppt 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章循环结构编程,本章要点while语句do-while语句for语句break语句和continue语句的循环体中的作用循环结构的嵌套本章难点循环结构的嵌套可以熟练使用循环语句,main() int i=1; 长整数=1; 威尔(I=10 )和=和* I。 I; (10!=%ldn”、和; sum=1*2*3*4*5*6*7*8*9*10。 sum,请看下面的计程仪栏: 循环结构的特征在于,当给定条件下的普通堆计程仪项流时,重复执行一个普通堆计程仪项段。 在语言中,可以使用goto语句和if语句构成循环的语句来实现循环。使用使用while语句的do-while语句。 使用for语句,6.1
2、 while语句,6.1.1 while结构的形式,例如修正算法10! 输出结果的堆计程仪程序是while语句:main() int i=1; 长整数=1; 威尔(I=10 )和=和* I。 I; (10!=%ldn”、和; main() int i=1; 长整数=1; 环形3360 if (I=10 )和=和* I。 I; 转环; (10!=%ldn”、和; 循环结构术语。 1 .环路条件:是环路结构的测试公式。 例如,while(i=10 ),2 .环体:是每个环循环执行一次的语句。 句子可以是任意句子。 可以使用简单句子、复合句子和空句子。 的双曲馀弦值。 例如,上一个示例的while语
3、句中用大括号括起来的复合语句。 3 .环路控制变量:是在环路条件下控制条件假设为真的变量。 例如,上一个示例的while语句中使用的变量I。 的双曲馀弦值。 循环条件表达式可以是逻辑表达式和关系表达式,也可以是算术表达式(0以外为真,0为假)。 公式必须包含循环控制变量。 while (3)和while (0)从预计程仪编程的观点来看是不合理的,但却是合法的。while (3)语句表示无限循环while (0)语句不能进入循环体,要写出正确的循环结构,必须对控制变量进行三项工作:将初始值分配给控制变量控制变量写入正确的循环条件变量的更新调整。 6.1.2 while循环的意思,(3)循环体中含
4、有多个句子时,请务必使用。 长整数=1; 威尔(I=10 )和=和* I。 I; (4)为了避免死循环,应注意条件的选择。 int a=5,n=0; 打印机(“% d”,n ); (5)允许while语句的循环体也是while语句,形成双重循环。 6.2 do-while语句,分号是必不可少的,6.2.1结构形式,例如上面修改为10。 用do-while语句写出输出结果的普通堆计程仪:main() int i=1; 长整数=1; 威尔(I=10 )和=和* I。 I; (10!=%ldn”、和; main() int i=1; 长整数=1; 求和=求和* I; I; 威尔(I=10 ); (1
5、0!=%ldn”、和; 喀呖声,将while与do-while循环进行比较:main() int i; 长和=1; 扫描(“% d”,主()入口; 长和=1; scanf(“%d”,输入: 9输出: 90,输入: 11输出: 1,输入: 9输出: 90,输入: 11输出: 11,比较上述两个方案,结构相同。 为什么?while和do-while的主要区别:6.2.2 do-while循环的意思、do while型循环是先执行后判断的循环,在任一种情况下都至少执行一次整个循环,do while型循环应注意以下几点: (1); (3)do和while之间的环体由多个句子构成时,必须将它们合起来构成
6、一个复合句。 (4)交换4)do while语句和while语句时,留心修改循环控制条件、6.3 for型循环、式1 :初始化式的定径套。 公式2 :循环控制条件。 表达式3 :执行循环主体语句后执行的表达式。 的双曲馀弦值。 要正确表示循环结构,请注意三个问题:初始化控制变量、循环条件和更新控制变量。for句以表记形式表现了这种密切的逻辑关系。6.3.1 for循环表示形式,执行程序:例如:上面订正为10! 的普计程仪拉姆是用for语句写的:main() int i; 长和; 求和=1; i=10; 和=和* I; (10!=%ldn”、和; main() int i; 长和; 求和=1;
7、i=10; 和=和* I,I ); (10!=%ldn”、和;空语句、说明:表达式1 :用于在进入循环之前为某些变量分配初始值。 如果省略,可以在for语句之前为变量分配初始值。 main() int i=1; 长和=1; 福尔(; i=10; 和=和* I; (10!=%ldn”、和; for循环的三个表达式扮演不同的角色,可以根据需要省略。 式2 :确定循环的条件,省略则为无限循环。 公式3 :用于在循环一次后修改某些变量。 如果省略,则可以在循环中修改变量。 main() int i; 长和=1; for(i=1; i=10; 和=和* I; I; (10!=%ldn”、和; for语句
8、是最灵活、完全可替换的while语句。 例如: i=1; 威尔(I=10 )和=和* I。 I; 等价,for(i=1; i=10; 和=和* I; 的双曲馀弦值。 式1和式3可以是逗号式,但为了提高计程仪柱的易读性,不要在for语句中加入与循环无关的内容。 例:和=1; for(i=1; i=10; 和=和* I; 例如从牛鼻子盘输入一些学生的成绩,输入负数就结束输入,修正最高成绩和最低成绩后输出。 空文件、# include main ()浮点x、xmax、xmin; 汇总scanf(“%f”、6.3.2这三种循环语句的共同特征在于,在循环控制条件不是零的情况下执行循环整体语句,否则结束循
9、环。 的双曲馀弦值。 句子是任意句子,可以是简单句子、复合句子或空句子。 另外,由于while和for语句先判断循环控制条件,在do-while语句之后判断循环控制条件,所以while和for语句的整个循环可能一次也不执行,do-while语句的整个循环也必须至少执行一次。 的双曲馀弦值。 循环内或循环条件需要使循环终止的语句。 否则,会发生死循环等异常。 另外,三个循环能够处理同一问题,一般能够相互替代。 但是,在实际的应用程序中,根据情况选择不同的循环语句。 可选的一般原则是:如果循环次数是在执行循环体之前决定的,则使用for语句的循环次数是由循环体的执行情况决定的,则通常是while或d
10、o-while语句。 (循环次数决定例) int i; 长和=1; for(i=1; i=10; 和=和* I; (循环次数不确定例) char c do c=getchar (); 打印机(“% c”,c ); 威尔!=q|c!=Q ); 的双曲馀弦值。 如果循环体至少执行一次,则使用do-while语句;相反,如果循环体可能一次也不执行,则使用while语句。 (至少执行一次整个循环)/*仅当用户输入q或q时,才执行循环*/char c do c=getchar (); 打印机(“% c”,c ); 威尔!=q|c!=Q ); (可能一次也不执行整个循环)/*仅打印非q或q字符*/char
11、 c; c=getchar (); 威尔!=q|c!=Q ); 打印机(“% c”,c ); c=getchar (); 嵌套6.4循环。 /在画面上印刷8行7列的星沉积基质。#包括主() inti; for(i=0; i7; I )打印(* ); 打印第一行星号*/printf(n ); for(i=0; i7; I )打印(* ); 列印第二行星号码*/printf(n ); for(i=0; i7; I )打印(“*”); /*第八行星号*/,什么是循环嵌套? 的双曲馀弦值。 一个回圈的回圈主体包含另一个回圈,称为回圈巢状。 这种嵌套过程总是可以重复的。 的双曲馀弦值。 在一个循环外围一
12、个循环称为双循环。 一个循环外围的两层循环称为三重循环。 在一个循环之外包围多个循环称为多重循环。 一,一,二,三,四; while() do while() while (); 中文意思:为什么? 多佛(; while (); while (); while (); while、do-while、for可以相互嵌套自由组合。例如,以双重循环实现上例(印刷8行7列星号矩形)。#包括主() int I、k; for(i=0; i8; 一)四(k=0; k7; k )打印机(* ); printf(n );6.5其他控制语句,6.5.1 break语句,功能:退出当前一级循环。 解释: break
13、语句一般用于整个循环的条件句,其作用是当某个条件成立时,以break语句终止循环,不再执行其预期的多次循环。 例如:打印半径110的圆面积,面积超过100则不再打印。 #包括#定义pi3. 14159主() intr; 浮动区域; for(r=1; r 100.0 )中断; 打印机(区域=% fn,区域); 打印(新建,r=%dn,r ); 的双曲馀弦值。 在嵌套循环中使用break语句仅影响包含该语句的最内层循环。 也就是说,普计程仪拉姆只会跳出包围break的层次的循环。 例:制作普通话计程仪,输出三角乘法表。 主() inti,j; for(i=1; ii )中断; 打印机(“=”、i*
14、j ); printf(“n”); 运行结果: 12436941216152025121824302436213542491624404856418273645637281,工作量:结束循环体,进入下一个循环周期。 说明:执行continue语句时,程序会跳过循环主体中该语句后面的所有语句,提前结束本次循环并开始下一个循环。 6.5.2 continue语句,如:修正用户输入的所有正整数之和,用户输入0后退出。#包括主数据()长数据、和; 和=0; do打印机(“放置输入:数据”); scanf(%ld,6.6循环结构的综合例,例6.1求出以/41-1/3 1/5-1/7 1/9近似的值。 直到最后一项的绝对值小于10-6。#包括匹配. h主() int s; 浮点n、t、和、点; t=1; 和=0; n=1; s=1; 我的意思是,fabs=.00001,sum=sum t。 n=n 2; s=-s; t=s/n; pi=和* 4; 打印机(pi=% fn,pi ); 运行结果: pi=3.141594,例6.2要求斐波那契数列: 1、1、2、3、5、8的前20个。 (该数列的特征:第1、2两个个数为1、1,从第3个数开始,该数为其前两个个数的和。 主() int f1=1、f2=1、I。 for(i=1; i=10; 打印
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年太原市小店区街道办人员招聘笔试参考题库及答案详解
- 2025年广州市越秀区工会人员招聘笔试试题及答案详解
- 2026年驻马店汝南县中医院招聘医疗专业技术人员笔试备考试题及答案详解
- 600MW火电机组检修质量验收规范
- 2026湖南株洲市炎陵县公开招聘事业单位工作人员16人考试参考题库及答案详解
- 《电气装配现场临时用电管理规范》
- 2026年亳州市谯城区工会人员招聘笔试参考试题及答案详解
- 2026重庆铜梁区政府专职消防员招录30人笔试备考题库及答案详解
- 可持续发展环保设施建设合同
- 跨境数字法律援助申请身份真实性远程核验提升-基于驻外领馆工单实证
- 全媒体运营师职业技能竞赛题(附答案)
- DB65╱T 3285-2011 防雷装置检测技术规范
- 车位抵账合同协议
- 医院临床医学带教老师培训
- 人教版八年级数学上册轴对称《最短路径问题》 教学课件
- 2022年CSCO软组织肉瘤诊疗指南
- 220kV变电站电气设备常规交接试验方案
- 除艾滋病、梅毒和乙肝母婴传播评估指标解释
- 100以内两位数进位加法退位减法计算题-(直接打印版)
- (正式版)SH∕T 3541-2024 石油化工泵组施工及验收规范
- 瑞普三元流量计说明书
评论
0/150
提交评论