- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学C语言第4章(改)
第3章. 循环结构程序 1.概述 2. 用 goto 语句和 if 语句构成循环 例: int i=1,sum=0; loop: if(i=100) { sum=sum+i; i++; goto loop; } 4.1 循环结构引例 引例:求s=1+2+3+…+100的和。 这个问题看似简单,但如果限制使用非结构化的goto语句,迄今也只能使用如下编程思路: s=1; s=s+2; //s为1+2 s=s+3; // s为1+2+3 …… s=s+99; // s为1+2+3+…+99 s=s+100; // s为1+2+3+…+99+100 循环结构基本思路为: 第1步: s=0; j=1; 第2步: s=s+j; j=j+1; 第3步:如果j≤100,继续第2步,否则结束。 上述3步操作,第2步是关键,它是循环的主体,称循环体;第1步是循环的初始条件,第3步是循环的终止条件。循环体、初始条件、终止条件是设计循环程序的三要素 4.2.1 while语句(当型) 一般形式: while(表达式) 循环体语句 先判表达式,若非0,执行循环体语句,再判表达式 例: 求 main( ) { int i,sum=0; i=1; while(i=100) { sum=sum+i; i++;} printf(“sum=%d”,sum);} 注:循环体中必须有使循环测试条件变化的语句。 【例4.2】输入若干名学生成绩,求最高分、最低分,直到输入成绩为0止。 算法分析:该问题只知道成绩输入的结束条件,并不知道要输入多少个成绩,这是当型循环问题。另外,求若干个数的最大值、最小值也是经常遇到的问题,解决的基本思想是:先将第一个数既放在变量max中,也放在min中;再将第二个数分别与max和min比较,这样就可以求出前2个数中最大的和最小的数,分别将它们放到max和min中,依次类推;最后,变量max和min的值就是最大数和最小数。程序如下: #include stdio.h void main( ) { float x,max,min; scanf(%f,x); // 先输入第一个数据 max=min=x; // 第一个数据可能最大也可能最小 while(x!=0) { // 判断数据是否输入完毕 if(xmax) max=x; // x是否比已求得的最大数还大 if(xmin) min=x; // x是否比已求得的最小数还小 scanf(%f,x); // 读取下一个数据继续比较 } printf(max=%f,min=%f\n,max,min); } 4.2.2 do-while语句 (直到型) 一般形式: do 语句 while(表达式); 先执行语句,然后判断表达式,当非0时,返回重 新执行,直到表达式为0时结束。 例: main( ) { int i,sum=0; i=1; do { sum=sum+i; i++;} while(i=100) printf(“sum=%d”,sum); } 【例4.3】输入若干名学生成绩,统计各分数段人数(≥90,80~90,70~80,60~70,<60),总人数及求平均成绩,直到输入成绩为0止。 算法分析:这是分类计数问题,根据成绩所处的分数段,相应的变量加1,直到所有成绩都处理完为止。设变量c1、c2、c3、c4、c5分别表示各分数段人数,c1、c2等称为计数变量。假设成绩输入的个数由直到型循环控制,程序如下: #include stdio.h void main( ) { float x,sum=0,aver; // 变量分别表示成绩、总成绩、平均成绩 int c1,c2,c3,c4,c5,c; // 计数变量代表各分数段人数和总人数 c1=c2=c3=c4=c5=c=0; // 从0开始计数 scanf(%f,x); // 输入第1个成绩 do{ sum+=x; // 将成绩加到总成绩中 c++; // 总人数加1 if(x=90) c1++; // 判断成绩并修改相应的计数变量 else if(x=80) c2++; else if(x=70) c3++;
您可能关注的文档
- 加拿大2型糖尿病筛查指南2012.pdf
- 力荐 免费 《记念刘和珍君》优秀教案 实用.doc
- 加WTO对.ppt
- 加速度ppt.ppt
- 动力系合唱团宣传单.doc
- 动态平衡手法治疗神经根型及椎动脉型颈椎病.pdf
- 动物和人体生命活动的调节单元测试及答案.doc
- 动画娱乐性的表现.doc
- 动词不定式与动名词练习.doc
- 劳动法演示文稿.ppt
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)