




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C程序设计语言第四章 循环结构刘文斌o业精于勤,荒于嬉,行成于思,毁于随 o回顾:for循环语句n三个表达式o本章:n什么是循环?为什么要使用循环?如何实现?n如何确定循环条件和循环体nwhile循环和dowhile循环4.1求PI的近似值o使用格里高利公式求PI的近似值nPI/4=1-1/3+1/5-1/7+n要求:精确到最后一项的绝对值小于10e-5o思考n用for循环如何实现?n如何达到精确度的要求?ofor循环实现:n必须说明求前n项之和,要求输入nnch4-1.cppo实现对精确度的要求,最后一项的绝对值小于10e-5n最后一项n绝对值小于10e-5时退出,如何实现?12/) 1(1
2、nnoch4-2.cppofabs函数说明:P24表达式表达式循环体语句循环体语句0非非 0while 语句o基本形式:while (表达式表达式) 语句(单个或者复合)语句(单个或者复合)o首先计算表达式表达式的值:如果为0,则跳过整个while语句。如果为非零,则执行语句语句,然后再次计算表达式表达式的值。1.重复第1和第2步的过程。求解表达式求解表达式1表达式表达式2语句语句求解表达式求解表达式3!00o基本形式:for (表达式1;表达式2;表达式3) 语句;o首先求解表达式表达式1,然后:n计算表达式表达式2的值:如果步骤1的结果为0,则结束整个for 语句。如果步骤1的结果为非0,
3、则执行语语句句。求解表达式表达式3。1.重复第1到第4步的过程。回顾回顾for 语句语句讨论while语句的使用方法owhile语句中的判断表达式可以是任意合法任意合法的逻辑组合表达式的逻辑组合表达式,循环体语句只能是一条语句n如果有多条语句,要用括起来,成为一条复合语句owhile语句构成简单n循环条件表达式n循环体语句o循环实现一般包括4个部分:n初始化、条件控制n重复执行的操作循环体语句n改变循环控制变量的值,来改变条件的真假ofor语句中包含这4个部分owhile语句只包括两个成分n条件控制、循环体语句n所以,需要加初始化部分和改变循环控制变量的值的操作例4-2o输入一批学生的成绩,统
4、计平均分o需要几个变量?o如何求平均?o如何确定输入结束的条件?o如何处理没有一个成绩的情况?och4-3.cpp4.2统计一个整数的位数o从键盘接收一个整数,统计该整数的位数n数字在计算机中是用特定数目的存储单元存放的,从机器的角度看不出它的十进制数有几位n如何统计为数?需要一个循环过程n由于事先不知道处理的是什么数据,故无法确定循环次数n如何实现?och4-4.cppo把例4-4改成while循环执行,要怎么做?och4-4-1.cppofor语句和while语句都是先判断条件,只有条件满足才会进入执行循环o如果条件一开始就不满足,则循环体一次都不执行odowhile语句一定先执行一次循环
5、体语句,然后才判断是否满足条件,如果满足,则继续执行循环体语句do while语句语句语句表达式表达式!00o基本形式:do 语句while (表达式);o首先执行语句语句o计算表达式表达式的值:如果为0,则结束整个 do while语句。如果为非零,则再次执行语句语句,然后再次计算表达式表达式的值。重复第1和第2步的过程。三种循环比较o本质上三种循环是通用的。o在事先知道循环次数时,三种循环结构都可以使用,但是使用for循环比较方便o在无法预知循环次数时,三种循环结构都可以使用,但是使用while循环或者 do while 循环比较方便o本次实验做实验书61、64、664.3判断素数o问题:
6、输入一个正整数,判断它是否为素数。素数是只能被1和自身整除的正整数o分析:对于一个数m,是否为素数n判断能否被2m-1之间的整数整除n用取余运算%判断是否能整除n所以,i取值2,m-1,如果m不能被该区间上任何一个整数除,则m是素数n可以使用for(i=2;i=m-1;i+)循环n3521、3532、3543、3550、?n根据i的结束值就可以判断是否为素数。n也可以使用while(m%i!=0) i+循环och4-5.cppo如何编制一个判断素数的函数?n函数的返回值是什么?n函数的参数是什么?n函数体是什么?o数学证明,这个区间可以2,m/2,更进一步还可以在2,m0.5o问题:打印119
7、之间的偶数o分析:n也可以for(i=1;i=19;i),当i位偶数时打印n可以设置循环变量for(i=2;i=19;i=i+2)och4-6.cppobreak和continuenBreak退出整个循环退出整个循环ncontinue结束本次循环,继续下一次循环,结束本次循环,继续下一次循环,类似一个旁路类似一个旁路continue 和 break 在 while 循环中的常见形式continue 和 break 在 do while 循环中的常见形式continue 和 break 在 for 循环中的常见形式4.4循环嵌套(多重循环)o在分支结构中可以嵌套其它的分支结构,在循环中同样可以嵌
8、套其它的循环。o计算1!+2!+3!+10!o大家回忆一下如何求1100之和?它们之间有什么异同?o如何实现item=i!och4-7.cppo思考一下,对于本例的二重循环:n外面的循环体语句sumsum+item一共执行了多少次?n里面的循环体语句item=item*j一共执行了多少次o本章作业p82:2、6、10、14o实验指导书实验七1、3、6o实验指导书p95补充习题4.5循环结构程序设计o循环结构和分支结构的不同n两者都用到条件判断n分支结构在条件满足的情况下只执行一次n循环结构在条件满足的情况下重复执行多次o循环程序的实现要点:n哪些操作需要重复执行?循环体n在什么条件下重复执行?
9、循环控制条件o确定循环体和循环条件,循环结构就可以确定,从三种循环语句中选择一种实现o如果事先知道循环次数,首选for语句o如果循环次数不明确,需要通过其他条件控制循环,则考虑while或dowhile语句o问题:从键盘上输入一批学生成绩,找出最高分o分析:n实质是求一批数中的最小数n如何确定循环条件n如何保证输入的成绩不小于0Ch4-8-1、 Ch4-8-2、 Ch4-8-3o问题:输入一个整数,将其逆序输出o分析(、/的应用)n如何求一个整数的位数?n如何拆开各个位数?n如何确定结束nCh4-9o求500以内的全部素数,每行输出10个o分析:n如何判断一个数为素数n在499次循环中,对25
10、00之间的每个数进行判断,是否为素数,是,则输出n如何控制每行仅输出10个n可以定义一个函数,也可以使用循环嵌套nCh4-10问题分解o问题:输出Fibonacci序列: 1、1、2、3、5、8、13、的前10项o分析:n数列特征是:x3=x1+x2n如何实现前二项数字的更新?oCh4-11o求解方程:男人一人搬3块,女人一人搬2块,小孩二人搬1块。问45人正好搬45块,有多少中搬法?o分析:o变量men,women,childo变量的范围?o变量的约束条件?o可以使用几重循环?o是否可以进一步简化为重循环?oCh4-12习题讲解(P83)o题目12:求11000之间的水仙花数o定义:各位数字的立方和等于它本身o分析:o既然是11000之间,肯定要有一个循环o如何确定各位数?n对11000之间的数分别去其各位数求立方之和n001999o题目15:将一个正整数n分解质
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字视觉联想反思课件
- 汉字甲课件教学课件
- 海南省省直辖县级行政单位琼海市2024-2025学年八年级下学期7月期末考试数学试卷(含答案)
- 2024-2025学年辽宁省鞍山市铁西区人教版四年级下册期末考试数学试卷(含答案)
- 汉字基本知识培训心得
- 房屋代持协议书4篇
- 通讯网络互联网行业前瞻报告
- 2025合同的订立与履行
- DB46-T 546-2021 非公路用旅游观光车安全管理与服务规范
- 2024年秋新北师大版数学一年级上册教学课件 第四单元 10以内数加与减 第11课时 做个加法表
- 中国卒中患者高血压管理专家共识(2024)解读
- 小艇行业跨境出海战略研究报告
- 三会一课培训内容
- GB/T 45309-2025企业采购物资分类编码指南
- 膜性肾病护理进展
- 销售过程管理培训课件
- 医院医保智能审核与规则解释
- 篮球裁判员手册
- 电焊工安全用电培训
- 安宁疗护服务规范
- 《高血压的护理常规》课件
评论
0/150
提交评论