- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
清华大学_C课程_第5讲程序结构设计(下)_256406121
第5 讲: 程序结构设计(下)(参考教材的第3章) 主要内容 循环程序设计:3种循环控制语句 综合程序设计举例 5.1 循环程序设计--基本概念 5.1 循环程序设计 5.1.1 while 语句 例:从键盘输入n(n0)个数,求其和。 分析: 如果n不是很大,例如n=3,则如何编程? 如果n很大,或者不知道n多大,则如何编程? 算法重点 循环条件和循环体如何构造? 计数器和累加器的概念。 假设n=3,则采用如下程序即可。 例:求PI的近似值,见P80-81 5.1.1 while 语句 5.1.2 do-while 语句 5.1.2 do-while 语句 编程小技巧------关于吃回车问题 编程小技巧关于吃回车问题 5.1.3 for 语句 5.1.3 for 语句 5.1.3 for 语句 for语句的功能可用while语句描述如下: 表达式1; while (表达式2) { 语句; 表达式3; } for语句最简单的应用形式: for (循环变量赋初值; 循环条件; 循环变量增值) 语句 例如, for (i=1; i=50; i++) sum=sum+i; 5.1.3 for 语句 5.1.3 for 语句 例 计算1至50中是7的倍数的数值之和 循环编程实例 【例】输入任意一个大于2的整数,判断该数是否素数并输出相应结果。 分析:根据定义,一个大于2的整数n,如果除1和n外不能被任何数整除,则n是素数;并规定2是最小素数。为了确定n是否含有因子,只需用2到n(也可以用2至sqrt(n))作除数,如果均不能整除n,则n是素数,否则n不要素数。 算法: (1) 输入n。 (2)如果n等于2,则输出“2是一个素数”;否则,如果n2则找n是否有因子; i从2开始,用i除n,若余数非0且i≤n,则用下一个i重复该过程。当余数为0或i大于等于n时,结束找因子的过程 (3)如果结束循环时余数为0,则输出n“不是一个素数“,否则输出n“是一个素数”。 算法重点:循环条件和程序效率 【例】求n!,n从终端输入。 分析:根据阶乘的定义,n为≥0的整数,n!=1*2*3*…*n。考虑到n较大是n!是一个相当大的数,为避免溢出,应将存放结果的变量说明为long或double。 算法: (1)输入 n (2)计算n!: (2)-1 将累乘器fac置 初值1。 (2)-2 i从至n,对每一个i,计算fac=fac*i. (3)输出fac. 【例】输入一批整数,以0为结束,输出其中最大值。 分析:从若干数中找出最大的一个数最简单方法是“打擂台“的方法。即两两相比,大者留下,当所有数比完时留下的那个数为最大。程序中用一个变量max保存每两个数相比中大的一个数。 算法: (1)输入一个数x。 (2)置最大数max初值为x。 (3)检查x是否等于0,如果x不等于0,则 (3)-1输入下一个数x。 (3)-2如果maxx,则将max修改为x。 (3)-3转步骤(3)(循环)。 如果x等于0,则结束循环,转步骤(4)。 (4)输出max。 算法重点:求序列数中最大的值的打擂台算法 例:用getchar()输入一串字符,将其转换为一个十进制整数,即模拟scanf(“%d,i)所实现的功能 用getchar()输入123时实际键入的是字符‘1’、‘2’、‘3’。转换原理如: 字符转换成对应的1位整数d:d=c-‘0’,例如 3=‘3’-‘0’=51-48 拼数:123=(‘1’-‘0’)*102 +(‘2’-‘0’)*101 +(‘3’-’0’)*100。 采用循环结构实现拼数,可将上述转换过程简化为转换公式:result=result*10+c-’0’,其中result初值为0,c为一个数字字符。 算法: (1)跳过前导空白字符:重复地读字符,直到读入的字符是非空白字符为止。 (2)处理正负号:检查第一个非空白是否‘-’,如果是,将符号sing置为-1,否则置为1。 (3)跳过符号位:如果第一个非空白字符是‘-’中‘+’,则读入下一个字符。 (4)拼数: (4)-1 置result初值为0。 (4)-2 检查读入的字符是否一个数字,如果是数字,则计算:result=result*10+(c –’0’) 然后读入下一个字符,重复步骤(4)-2(循环)。 如果读入的字符不是数字,则转步骤(5)(结束循环) (5)用符号sing乘result,得到最后的结果result。 (6)输出result。 算法重点:字符和数字转换,例外处理程序 5.1.4 循环嵌套 5.1.4 循环嵌套 5.1.4 循环嵌套 5.1.4
您可能关注的文档
最近下载
- Unit 1 Happy HolidayL2(课件)人教版(2025)英语八年级上册.pptx VIP
- 2023年浙江省宁波市中考英语模拟试卷(汐卷)(附答案详解).docx VIP
- 2025年山西中考历史试卷真题解读及答案讲解课件.pdf
- 重劣质渣油提质升级UOP UNIFLEX MC™ 浆态床渣油加氢技术最新进展-.pdf
- 2025下半年湖南省国际工程咨询集团有限公司社会招聘34人笔试参考题库附答案解析.docx VIP
- 2025至2030年中国工业废水处理行业市场现状调查及投资前景研判报告.docx
- CRUSADE出血风险评分;.doc VIP
- 仓储、运输企业尽职调查表.docx VIP
- 部编版九年级上册语文《醉翁亭记》PPT课文课件.pptx VIP
- 第3讲 秦统一多民族封建国家的建立(共38张PPT).pptx VIP
文档评论(0)