




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计 高等教育出版社 新形态一体化教材单元五【问题1】某大赛中重复要做的事情是什么?【问题2】满足什么条件大赛可继续执行?2三种循环语句3循环结构控制语句4循环应用1循环的本质 循环的本质1循环的本质引例98777 71号:总分31分8 87 76 62号:总分28分 评委亮分 计算总分 在某一条件成立的情况下反复做重复性的事情,这就是循环。某大赛重复的事情有:1循环的本质如何用程序设计语言来描述大赛问题呢?int i=1; 设 i 为评委编号,整型,初始值为1 设score存评委分数,sum存总分并设初值为0.0,均为浮点型double score, sum=0.0; 在 i=4
2、的条件下反复执行如下操作:scanf(%lf,&score ); 播报(输入)当前评委亮出的分数scoresum+=score;累加到总分sumi+;评委编号递增1 变量定义 算法描述1循环的本质 减少源代码的存储空间,提高程序质量。 可重复执行某些相同代码的程序段; 将程序员从大量重复编写相同代码的工作中解放出来,提高程序编写效率;循环的本质【循环结构的任务】1循环的本质 每次循环要做什么,即“反复执行的语句”,称为“循环体”。 循环从什么时候开始,即“循环变量初值”。 满足什么条件要循环,即“循环控制条件表达式”。i=1;i=4scanf(%lf,&score ); sum
3、+=score;i+;循环变量初值循环控制条件表达式循环体循环结构三要素【概括大赛问题】3循环结构控制语句4循环应用1循环的本质2三种循环语句 三种循环语句2三种循环语句while语句while(表达式) 循环体;【一般格式】 循环控制条件表达式由一条或多条语句组成,当“循环体”仅有一条语句时,可省略“”。表达式真?循环体真(非0)假(0)【流程图】2三种循环语句while语句示例利用while语句计算大赛选手总分。(有10位评委)#include void main( ) double score, sum=0; int i=1; while(i=10) printf(请第%d位评委亮分:,
4、i); scanf(%lf,&score ); sum=sum+score; i+; printf(“该选手的总分为:%.2lf.n,sum);循环控制条件循环体2三种循环语句while语句随堂练习利用while语句计算1n中的奇数之和及偶数之和。【提示】 n的值在程序执行时通过键盘输入 各变量初值如何设计? 循环变量增量如何设计? 循环条件如何设计?2三种循环语句dowhile语句do 循环体; while(表达式);【一般格式】 表达式后必须有;【流程图】表达式真?循环体真(非0)假(0)2三种循环语句dowhile语句示例利用while语句计算大赛选手总分。(有10位评委)#in
5、clude void main( ) double score, sum=0; int i=1; do printf(请第%d位评委亮分:,i); scanf(%lf,&score ); sum=sum+score; i+; while(i=10); printf(“该选手的总分为:%.2lf.n,sum);2三种循环语句dowhile语句随堂练习利用dowhile语句计算1+1/2+1/3+1/n。【提示】 n的值在程序执行时通过键盘输入 各变量的数据类型如何设计? “1”与“1.0”有什么区别?2三种循环语句for语句【一般格式】 【流程图】for(表达式1; 表达式2; 表达式3
6、) 循环体;表达式之间用;分隔表达式2?循环体真(非0)表达式1表达式3假(0)2三种循环语句for语句示例利用for语句计算大赛选手总分。(有10位评委)#include void main( ) double score, sum=0; int i; for(i=1;i=10;i+) printf(请第%d位评委亮分:,i); scanf(%lf,&score ); sum=sum+score; printf(“该选手的总分为:%.2lf.n,sum);2三种循环语句for语句随堂练习利用for语句计算1+1/2+1/3+1/n。【提示】 n的值在程序执行时通过键盘输入 各变量的数
7、据类型如何设计? 若“int n=2;”,“1/n”的值是多少? “1.0/n”又是多少? 4循环应用1循环的本质2三种循环语句3循环结构控制语句 循环结构控制语句3循环结构控的制语句break语句 引例while(表达式1) if(表达式2) break; u在程序执行的过程中,如果“表达式2”为真,则执行break语句,此时也会终止循环。 u正常情况下,该循环结构的执行由循环控制条件“表达式1”控制,当“表达式1”为假时,循环结束。【一般格式】 break;结束循环3循环结构控的制语句break语句 示例 设计一个程序实现:输入若干字符,对输入的英文字母原样输出,其他字符不输出,直到输入回
8、车键结束。#include void main( ) char ch; while(1) ch=getchar(); if(ch=n) break; else if(ch=a&ch=A&ch=Z) putchar(ch); 结束循环3循环结构控的制语句continue语句 引例while(表达式1) if(表达式2) continue; u在执行循环体的过程中。如果“表达式2”为真,执行continue语句,即不再执行continue后面的循环体语句,转到“表达式1”进行下一次循环控制条件的判定。u在循环控制条件“表达式1”成立的情况下,则执行循环体。【一般格式】 contin
9、ue;结束本次循环,进行下一次是否执行循环的判定。 3循环结构控的制语句continue语句 示例 设计一个程序实现:输入若干字符,对输入的英文字母原样输出,其他字符不输出,直到输入回车键结束。#include void main( ) char ch; while(ch=getchar()!=n) if(ch=a&ch=A&ch=Z) continue; putchar(ch); 结束本次循环,进行下一次是否执行循环的判定。1循环的本质2三种循环语句4循环应用 循环应用3循环结构控制语句4循环应用 【应用1】自幂数是指一个 n 位整数,它的每个位上的数字的 n 次幂之和等于它
10、本身。当n为4时,自幂数称为玫瑰花数,试编程输出10009999范围内所有的玫瑰花数。(形如14+64+34+44=1634) 【分析】设这个四位整数为n,它的各位数字从低到高分别为a、b、c和d。 a=n%10 b=n/10%10 c=n/100%10 d=n/1000个位十位百位千位4循环应用#include void main() int i,n,a,b,c,d; for(i=1000;i=9999;i+) n=i; a=n%10; b=n/10%10; c=n/100%10; d=n/1000; if(a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d=n) printf(
11、%6d,n); 163482089474输出结果4循环应用 【应用2】百元百鸡问题。我国古代数学家张丘键在算经中出了一道题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 【分析】设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组。(百钱)(百鸡)x、y、z的取值范围: x的取值范围为120; y的取值范围为133; z的取值范围为399,步长为3。x、y、z为正整数,且z是3的倍数;由于鸡和钱的总数都是100。用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。#include void main() int gongji,muji,xiaoji; for(gongji=1;gongji=20;gongji+) /公鸡可能的数量范围 for(muji=1;muji=33;muji+) /母鸡可能的数量范围 for(xiaoji=3;xiaoji=100;xiaoji=xiaoji+3) /小鸡可能的数量范围 if(xiaoji/3+muji*3+gongji*5=100)&(xiaoji+muji+gongji=100) printf(%4dt%4dt%4dn,gongji,muji,xiaoji); 4循环应用输出结果:公鸡 母鸡 小鸡 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 复杂网络环境中的物流信息管理试题及答案
- 2024银行从业资格考试评估试题及答案
- 合同违约风险防范:性能压测SLA研究
- 人工智能研发与技术服务合同
- 住宅小区给排水系统安装工程施工合同
- 2 校园里的的动物 (教学设计)一年级上册科学教科版
- 4选举产生班委会 教学设计-2024-2025学年道德与法治五年级上册统编版
- 2024学年九年级化学上册 第三章 维持生命之气-氧气3.4 物质组成的表示式第3课时 根据化学式进行计算教学实录 科学版
- 七年级英语下册 Module 3 Making plans Unit 1 What are you going to do at the weekends第2课时教学实录(新版)外研版
- 3D小人竞聘述职报告
- 2009-2022历年江苏省事业单位统考《综合知识和能力测验(法律类岗位)》真题含答案2022-2023上岸必备带详解版5
- 光学(全套课件426P)
- 贵州省榕江县司法局招考3名司法协理员【共500题附答案解析】模拟试卷
- 烘焙食品厂员工岗位职责
- 混凝土重力坝的防渗加固措施
- 压力容器的焊接课件
- 私募股权投资基金设立谅解备忘录签署版
- 中考数学《统计与概率》专题复习(含答案)
- 《图形创意设计》PPT课件(完整版)
- 胬肉攀晴中医护理常规
- 电力行业迎峰度夏措施检查情况表
评论
0/150
提交评论