- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
一、循环结构利用计算机重复处理某些实际问题就构成了循环结构。在循环结构中将某些语句重复执行,这些语句称为循环体;每重复一次都要判断是继续重复还是停止重复,这个判断所依据的条件称为循环条件;循环体与循环条件一起构成了循环结构。循环结构包含:while、do…while、for三种形式。循环的基本思想:是重复,即利用计算机的高速运算特性和逻辑判断的能力,重复执行某些语句,以完成大量的信息处理的要求,当然这种重复不仅是简单机械的重复,每次重复都可以有新的内容。循环与分支都是根据判断决定算法下一步做什么的流程,但是循环结构中一定有向上跳转的流程即“回过头去再做一次”。1、while语句语句一般格式while(表达式)语句一般为关系表达式或逻辑表达式,也可以是C语言其他类型的合法表达式用来控制循环体是否执行称为内嵌语句,可以是简单语句、控制语句,也可以是复合语句是循环重复执行的部分功能:首先判断表达式的值,为非0(逻辑真)时,重复执行内嵌语句,每执行一次,就判断一次表达式的值,直到表达式的值为0(逻辑假)时结束循环,转去执行while后面的语句。判断表达式?假真语句while(xy)printf(%d,%d\n,x--,y++);例如:intx=5,y=1;xyxy012514233真真假说明:⑴“表达式”一般为关系表达式或逻辑表达式,也可以是任意合法的C语言表达式,用来作为循环控制条件。⑵“语句”可以是一条简单语句或若干条简单语句所构成的复合语句,也称为内嵌语句,用来作为循环体。如果循环体包含多条语句,则一定要使用花括号括起来构成复合语句。⑶由于while语句属于“当型”循环,其循环控制条件前置,执行循环体前需要先判断循环控制条件是否成立,再决定是否执行循环体。如果第一次执行循环时循环控制条件就不成立,则循环体一次也不会执行,所以当型循环也称“允许零次循环”⑷while语句的循环控制条件和循环体中使用的变量应赋初值,否则可能会引发逻辑错误。⑸while语句的循环体中必须加入使循环趋于结束的语句,即可以影响循环控制条件由“逻辑真”变为“逻辑假”的语句,否则会使循环成为死循环(指永远执行不完的循环)。说明:【例2-9】编程计算自然数1连加到n值,即求1+2+3+…+n的值,其中n由用户指定。分析:该程序要实现多项数据的累加,因此需不断反复执行加的运算,这就复合了我们循环设计的基本要求,故我们应采用循环方式进行设计。这里需要设置一个变量用以存放各项累加的和,该变量也称求和变量,求和变量的初值应设为0,而每一项的值存在一个在前一项值的基础上自增的规律,所以可以使用循环语句,将自增各项累加到求和变量中,这样就可以最后输出求和变量的值。【例2-9】编程计算自然数1连加到n值,即求1+2+3+…+n的值,其中n由用户指定。#includestdio.hintmain(){}intn,i=1,sum=0;printf(请输入n:);scanf(%d,n);while(i=n){sum=sum+i;i++;}printf(sum=%d\n,sum);请输入n:100↙sum=5050程序运行结果如下:⑴循环体包括几条语句时,一定要使用花括号括起来构成复合语句,否则会引发逻辑错误。⑵应注意循环控制条件的正确书写。⑶循环体中必须加入使循环趋于结束的语句。⑷上例中的变量sum称为累加变量,用于存放累加结果,其初值一般取0。inreturn0;【例2-10】一个班有若干名学生,要求用户从键盘输入每个学生语文课的成绩后输出该班学生的语文课平均成绩,其中学生人数由用户指定。分析:本题要求学生人数由用户提供,即可能包含多名学生,然后为每位学生从键盘输入其语文课成绩,即需要调用scanf函数通过键盘输入,且需要连续输入多名学生成绩,所以可以使用循环结构;选择while循环语句累加用户输入的学生成绩,最后求出平均成绩并进行输出。【例2-10】一个班有若干名学生,要求用户从键盘输入每个学生语文课的成绩后输出该班学生的语文课平均成绩,其中学生人数由用户指定。#includestdio.hintmain(){}intscore,num,count=1,sum=0;floataver;printf(请输入分数数量:);scanf(%d,num);while(count=num){}printf(请输入分数%d:\n,count);scanf(%d,score)
文档评论(0)