- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10讲do_while语句for语句循环结构的嵌套
第十讲;5.1 while循环语句;while语句的执行过程是:
先计算while表达式的值,当表达式的值为非零时,便执行循环体语句,之后再计算该表达式的值,由此构成循环,直到有一次求得表达式的值为零时才结束循环,并继续执行循环体语句之外的后续语句。;while(表达式)
循环体语句
例:
k=0;
while (k10)
{printf(“*”);k++;}
注意:1)表达式不可省;表达式的值为真的时候,作循环;
2)循环体语句,要能改变表达式的值,使其从真变到假;(为什么啦?)如果循环语句是多条,构成复合语句;
执行过程:P50
P51(1)(2)(3)
;说明:(1)while语句中的表达式可以是任意合法的C表达式。
(2)如果循环体语句是复合语句,一定要用{ }括起来。
? (3) 在循环体语句中应该包含能够使循环趋于结束的操作,以避免出现死循环。 ;例5.1 编程求1+2+3+…+100的值。;; main()
{ int i, sum;
i=1; sum=0;
while(i=100)
{sum= sum + i ;
i++;
}
printf(sum=%d\n, sum);
}
程序运行后的输出结果:
sum=5050 ;思考:P51例5.1
sum=sum+i*i sum1000
自己试写出该程序
;程序5-2:用π/4=1-1/3+1/5-1/7+1/9 -…公式求π的近似值,直到最后一项的绝对值小于10-6为止。
本题的基本算法也是求累加和,但比例5-1稍为复杂。与例5-1比较,不同的是:
(1)用分母来控制循环次数,若用n存放分母的值,则每累加一次n应当增2,每次累加的数不是整数,而是一个实数,因此n应当定义成float类型。
(2)可以看成隔一项的加数是负数,若用t来表示相加的每一项,因此,每加一项之后,t的符号应当改变,这可用交替乘1和-1来实现。;3)从以上求π的公式来看,不能决定n的最终值应该是多少;但可以用最后一项t(1/n)的绝对值小于10-6来作为循环的结束条件。
程序如下:
#include math.h /*调用fabs函数时要求包含 math.h文件*/
main( )
{ int s;; float n, t, pi;
t=1.0; /*t中存放每项的值,初值为1 */
pi=0; /* pi中存放所求的π的值,初值为0*/
n=1.0; /*n中存放每项分母*/
s=1.0; /*s中存放每项分子,其值按公式在1和-1之间变化*/
while ( fabs(t)=1e-6)
{ pi=pi+t;
;n+=2.0;
s= -s; /*改变符号*/
t=s/n;
}
pi=pi*4;
printf(pi=%f\n,pi);
}
程序执行后输出以下结果:
pi=3.141397
;;小组讨论:
1、程序5-3:求输入的某个数是否为素数。若是,输出YES,若不是,输出NO。
素数是指那些大于1,且除了1和它本身以外不能被其他任何数整除的数。如2、3、5、7、11、……都是素数;4、6、8、9、……则不是素数。
为了判断某数x是否为素数,最简单的方法是用2、3、4、…x-1,这些数逐个去除x,看能否除尽,只要能被其中某一个数除尽,x就不是素数;否则,若不能被任何一个数除尽,x就是素数。;实际上只要试除到,就已经可以说明x是否为素数了。这是因为如果小于等于的数都不能除尽x,则大于的数也不可能除尽x。试除到,可以减少循环次数,提高程序的运行效率。
程序代码如下:
#include math.h
main( )
{ int i, x, yes, a;
printf(Enter integer number : );
scanf (%d,x);; yes=1;
i=2;
a=(int)sqrt ( (double) x);
while( yes i=a)
{ if(x%i== 0) yes=0;
i++ ;
}
printf(%
您可能关注的文档
- 科学睡眠健康人生[小区版].ppt
- 离心的技术20120911[2011级临床本科].ppt
- 科学教学的1般原理.ppt
- 科学技术发展史41_61.ppt
- 科学八下第4单元.ppt
- 科技创新比赛专题班会.pptx
- 科技和现代生活作业.ppt
- 科学第3册第3章《生命活动的调节》复习.ppt
- 科技文明课件第四章:罗马与中世纪:西方科技文明的低潮期.ppt
- 科帕奇7座城市版展厅布置方案暨2月展厅规范20130208.pptx
- 中国行业标准 DB/T 100-2024区域性地震安全性评价.pdf
- 《GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架》.pdf
- GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- DB/T 100-2024区域性地震安全性评价.pdf
- 中国行业标准 GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- 校园周边书店阅读氛围对初中生阅读素养提升的影响研究教学研究课题报告.docx
- 初中校园餐饮卫生监管与食品安全教育创新模式研究教学研究课题报告.docx
- 《文化遗产保护与旅游开发平衡机制的法律法规完善研究》教学研究课题报告.docx
- 《农作物病虫害生物防治技术的经济效益与社会影响分析》教学研究课题报告.docx
- 1 剖宫产术后子宫瘢痕憩室治疗中的并发症预防与护理措施教学研究课题报告.docx
文档评论(0)