网站大量收购独家精品文档,联系QQ:2885784924

大学C语言第4章(改).ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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++;

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档