欢迎来到天天文库
浏览记录
ID:53607573
大小:223.50 KB
页数:15页
时间:2020-04-20
《发挥计算机优势-循环.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章发挥计算机优势-循环语句计算机并没有人那么聪明,但现在人们的工作和生活似乎都已经离不开计算机了。原因除了计算机能将事情管理得有条不紊外,还能快速地进行重复性工作,而人类则相反,进行重复性工作可能会越来越厌倦,这个厌倦可能来自心理上或生理上,但计算机在这方面远胜于人类一筹。本章主要修行的要点如下。for语句:读者将学会for语句的基本语法规则。while语句:读者将学会while语句的基本语法规则。do…while语句:读者将学会do…while语句的基本语法规则。循环语句中断:读者将学会在循环语句中设置中断。4.1小学奥数题目难倒三藏师徒话说唐三藏师徒历尽艰难,但悟空也骁勇善战,一路
2、平安无事。慢着,现在要通过一道关卡,必须完成数学问题才能通过,这下把师徒4人难倒了。下面我们一起来看看这些题目有多难。4.1.1“++”和“--”运算符【本小节示例参考:源代码C04testIter】如果读者熟悉C语言,那么对“++”和“--”运算符一定不会陌生,在学习循环语句之前,应该了解“++”和“--”运算符的使用。“++”和“--”运算符实质上是将某个对象或指针进行累加1或累减1的操作,先考虑代码示例4.1。4.1.2小学奥数题目:累加和累乘运算唐三藏师徒遇到的问题可能出自某小学数学奥林匹克竞赛题目,问题是这样的:问题1:计算1+2+3+……+100之和。哈,这个也太简单了吧
3、,师徒4人马上分工合作:三藏计算1~25,悟空计算26~50,八戒计算51~75,沙和尚计算76~100。毕竟还是团结力量大啊,虽然他们数学不怎么样,但花个半个时辰,怎么也能算出结果并保证验算一两次吧。那好,再看看以下这个相同性质的问题:问题2:计算1+2+3+……+100000之和。任务太重了,赶紧分工合作:三藏计算1~25000,悟空计算25001~50000,八戒计算50001~75000,沙和尚计算75001~100000。这次团结的力量嘛……,以他们师徒的数学水平,估计没有十天八天是不可能算出结果的。恶梦还没有结束,还有两道同性质的题目:问题3:计算1+2+3+……+100000
4、000之和。问题4:计算1+2+3+……+1000000000000之和。这些问题对悟空来说,可能比跳出五指山还困难。光是计算这两道奥数题,悟空三人倒是无所谓,只怕唐三藏没有那么长命来算吧。4.1.3使用for语句为小学生减负【本小节示例参考:源代码C04testFor】如果悟空可以变出一台计算机,并且计算机上面有个VisualC++6.0,那么,我想这一切都不是问题,当然,还要变出个会C++的程序员才行,for语句的基本格式如下:for(起始条件;终止条件;累加){//循环体}那么,要计算问题1的源代码可以编写,如代码示例4.2所示。代码示例4.2问题1的求解#include5、stream>usingnamespacestd;intmain(){inttotal=0;//存储运算结果,初始化为0for(inti=1;i<=100;i++){total=total+i;//将total从1至100累加}cout<<”问题1的运算结果是:”<6、的是C++的for语句也能轻松搞定这类问题,如代码示例4.4所示。4.2另一道小学奥数题目分析取经路上的奥数题终于顺利通过了上半场,还有下半场等着唐三藏师徒去解决,而本章的奥数题目似乎不能用for语句来解决。而事实上,仅仅使用for语句来解决任何难题肯定是不可能的。4.2.1另一道小学奥数题目:累加次数计算似乎只要是小学奥数题,就喜欢拿工作量来难倒人,看来呼吁给小学生减负也是有道理的,现在看看另一道奥数题目:问题6:从1+2+3+……,一直累加下去,问累加到多少时,它们的和首次超过10000?这个题目和上节的题目性质上是相反的,如果使用for语句似乎不太好下手,当然,我的言外之意是如果师徒7、4人手工计算的话,就更不用去考虑了。既然for语句解决不了,那么师徒4人的办法只有两个:要么请教成绩优异的小学生,要么看看C++有没有其他语句可以搞定。请教小学生超出本书的职能范围,所以现在只能使用C++其他方法来解决这个问题。4.2.2使用while语句再次解决小学生的苦恼【本小节示例参考:源代码C04testWhile】C++另一种常用的循环语句是while语句,while语句的基本格式如下:while(条件表
5、stream>usingnamespacestd;intmain(){inttotal=0;//存储运算结果,初始化为0for(inti=1;i<=100;i++){total=total+i;//将total从1至100累加}cout<<”问题1的运算结果是:”<6、的是C++的for语句也能轻松搞定这类问题,如代码示例4.4所示。4.2另一道小学奥数题目分析取经路上的奥数题终于顺利通过了上半场,还有下半场等着唐三藏师徒去解决,而本章的奥数题目似乎不能用for语句来解决。而事实上,仅仅使用for语句来解决任何难题肯定是不可能的。4.2.1另一道小学奥数题目:累加次数计算似乎只要是小学奥数题,就喜欢拿工作量来难倒人,看来呼吁给小学生减负也是有道理的,现在看看另一道奥数题目:问题6:从1+2+3+……,一直累加下去,问累加到多少时,它们的和首次超过10000?这个题目和上节的题目性质上是相反的,如果使用for语句似乎不太好下手,当然,我的言外之意是如果师徒7、4人手工计算的话,就更不用去考虑了。既然for语句解决不了,那么师徒4人的办法只有两个:要么请教成绩优异的小学生,要么看看C++有没有其他语句可以搞定。请教小学生超出本书的职能范围,所以现在只能使用C++其他方法来解决这个问题。4.2.2使用while语句再次解决小学生的苦恼【本小节示例参考:源代码C04testWhile】C++另一种常用的循环语句是while语句,while语句的基本格式如下:while(条件表
6、的是C++的for语句也能轻松搞定这类问题,如代码示例4.4所示。4.2另一道小学奥数题目分析取经路上的奥数题终于顺利通过了上半场,还有下半场等着唐三藏师徒去解决,而本章的奥数题目似乎不能用for语句来解决。而事实上,仅仅使用for语句来解决任何难题肯定是不可能的。4.2.1另一道小学奥数题目:累加次数计算似乎只要是小学奥数题,就喜欢拿工作量来难倒人,看来呼吁给小学生减负也是有道理的,现在看看另一道奥数题目:问题6:从1+2+3+……,一直累加下去,问累加到多少时,它们的和首次超过10000?这个题目和上节的题目性质上是相反的,如果使用for语句似乎不太好下手,当然,我的言外之意是如果师徒
7、4人手工计算的话,就更不用去考虑了。既然for语句解决不了,那么师徒4人的办法只有两个:要么请教成绩优异的小学生,要么看看C++有没有其他语句可以搞定。请教小学生超出本书的职能范围,所以现在只能使用C++其他方法来解决这个问题。4.2.2使用while语句再次解决小学生的苦恼【本小节示例参考:源代码C04testWhile】C++另一种常用的循环语句是while语句,while语句的基本格式如下:while(条件表
此文档下载收益归作者所有