- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 循环结
第三章 循环结构
在程序设计中,如果需要重复执行某些操作,就要用到循环结构。使用循环结构编程时,首先要明确2个问题,哪些操作需要复执行?这些操作在什么情况下重复执行?它们分别对应循环体和循环条件然后就可以选用C语言提供的3种循环语句: while、do-while 、for实现循环而第二章2、4节的用if语句和goto语句构成“直到型”也叫循环结构。
3.1 while 语句
while是用来实现循环的语句,而且它的适用面很广。其一般格式为:
while (表达式)
循环语句;
其执行的流程如图3.1所示。当表达式的值为“真”时,循环执行,直到表达式的值为“假”,循环终止并继续执行while的下一条语句。
while语句的用法: 假
(1)while语句中的表达式可以是任意合法的表达式, 表达式
循环体语句只能是一条语句。 真
(2)while语句的构成简单,只有一个表达式和一条 循环体语句
循环体语句,分别对应循环的两个核心要素:循
环条件和循环体,可以直接把循环问题的分析设
计转换为语句实现。 While的下一条语句
(3)循环的实现一般包括4部分,即初始化、条件控 图3.1 while语句的执行流程
制、重复的操作以及通过改变循环变量的值最终
改变条件的真假性,使循环能正常结束。当使用while语句时,由于它只有2个
成分(表达式和循环体语句),就需要另加初始化部分,第4部分while的循环体
语句中必须包含能最终改变循环条件真假性的操作。
例3.1 从键盘输入一批学生的成绩,计算平均分。
这是一个累加求和的问题,将输入的成绩先累加,最后再除以学生的数量,算出平均分。本题的难点在于确定循环条件,由于题目中没有给出学生的数量,不知道输入数据的个数,所以无法事先确定循环次数,这时需要自己设计循环条件,可以用一个特殊的数据作为正常输入数据的结束标志,由于成绩都是正数,就选用一个负数作为结束标志,因此,循环条件就是输入的数据grade=0 。
#include stdio.h
int main()
{ int num; //num记录输入数据的个数以便统计平均分
double grade , total=0; //grade存放输入的成绩,total保存成绩之和
printf(Enter grades:); //输入提示
scanf(%lf,grade); // 输入第一个
while( grade = 0 )
{ total = total + grade; //累加成绩
num ++; // 计数// 不及格人数
scanf(%lf,grade); //再读入一个新数据,为下次循环做准备
}
if(num!=0)
printf(Grade verage is %.2f\n,total/num); //total/num是累加成绩/成绩数“不及格学生的人数为(failures):%d\n”,fai);
}
else
printf(Grade average is 0\n);
return 0;
}
例3.2 猴子吃桃问题,猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半多一个。以后每天早上都吃了前一天剩下的一半多一个,到第10天早上想再吃时,见只剩下一个桃子了,求第一天共摘下多少桃子。程序编写如下:
#include stdio.h // 第10天是1第10天1了
main() // 第9天是(1+1)*2=4 (1+1)*2=4是第9天的4
{ int day=9,x1,x2=1; // 第8天是(4+1)*2=10
while(day0) // 第7天是(10+1)*2=22
{//前一天桃子数是天桃子数加1后的2倍 // 第6天是(22+1)*2=46
x1 = ( x2+1 ) * 2; // 第5天是(46+1)*2=94
您可能关注的文档
- 童装行业必须了解五大基础知识.doc
- 端桥铺镇深入开展黑除恶专项斗争的实施方案.doc
- 端粒端粒酶与细胞老的关系.doc
- 竹山县“十三五”划研究报告.doc
- 竹浆黑液改性制取煤浆添加剂的研究.doc
- 笔记(高中数学目).doc
- 第 2 课 我定成为一棵参天大树.doc
- 第 3 讲:语法识补充与四级真题练习.doc
- 笔记本清尘图文教,经验总结.doc
- 第 5 章 ER的基本原理财务管理.doc
- 广东省东莞市2024-2025学年八年级上学期生物期中试题(解析版).pdf
- 非遗剪纸文创产品开发经理岗位招聘考试试卷及答案.doc
- 广东省东莞市2024-2025学年高二上学期期末教学质量检查数学试题.pdf
- 体育安全理论课件图片素材.ppt
- 3.1 公民基本权利 课件-2025-2026学年道德与法治八年级下册 统编版 .pptx
- 广东省潮州市湘桥区城南实验中学等校2024-2025学年八年级上学期期中地理试题(解析版).pdf
- 大数据运维工程师岗位招聘考试试卷及答案.doc
- 广东省深圳市福田区八校2026届数学八年级第一学期期末教学质量检测模拟试题含解析.doc
- 广东省潮州市湘桥区城基初级中学2024-2025学年八年级上学期11月期中考试数学试题(解析版).pdf
- 广东省潮州市湘桥区城西中学2024-2025学年八年级上学期期中地理试题(解析版).pdf
原创力文档


文档评论(0)