发挥计算机优势-循环

上传人:痛*** 文档编号:232688328 上传时间:2023-09-25 格式:PPT 页数:15 大小:223.50KB
返回 下载 相关 举报
发挥计算机优势-循环_第1页
第1页 / 共15页
发挥计算机优势-循环_第2页
第2页 / 共15页
发挥计算机优势-循环_第3页
第3页 / 共15页
点击查看更多>>
资源描述
第4章 发挥计算机优势循环语句计算机并没有人那么聪明,但现在人们的工作和生活似乎都已经离不开计算机了。原因除了计算机能将事情管理得有条不紊外,还能快速地进行重复性工作,而人类则相反,进行重复性工作可能会越来越厌倦,这个厌倦可能来自心理上或生理上,但计算机在这方面远胜于人类一筹。本章主要修行的要点如下。for语句:读者将学会for语句的基本语法规则。while语句:读者将学会while语句的基本语法规则。dowhile语句:读者将学会dowhile语句的基本语法规则。循环语句中断:读者将学会在循环语句中设置中断。4.1 小学奥数题目难倒三藏师徒话说唐三藏师徒历尽艰难,但悟空也骁勇善战,一路平安无事。慢着,现在要通过一道关卡,必须完成数学问题才能通过,这下把师徒4人难倒了。下面我们一起来看看这些题目有多难。4.1.1 “+”和“-”运算符【本小节示例参考:源代码C04testIter】如果读者熟悉C语言,那么对“+”和“-”运算符一定不会陌生,在学习循环语句之前,应该了解“+”和“-”运算符的使用。“+”和“-”运算符实质上是将某个对象或指针进行累加1或累减1的操作,先考虑代码示例4.1。4.1.2 小学奥数题目:累加和累乘运算唐三藏师徒遇到的问题可能出自某小学数学奥林匹克竞赛题目,问题是这样的:问题1:计算1+2+3+100之和。哈,这个也太简单了吧,师徒4人马上分工合作:三藏计算125,悟空计算2650,八戒计算5175,沙和尚计算76100。毕竟还是团结力量大啊,虽然他们数学不怎么样,但花个半个时辰,怎么也能算出结果并保证验算一两次吧。那好,再看看以下这个相同性质的问题:问题2:计算1+2+3+100000之和。任务太重了,赶紧分工合作:三藏计算125000,悟空计算2500150000,八戒计算5000175000,沙和尚计算75001100000。这次团结的力量嘛,以他们师徒的数学水平,估计没有十天八天是不可能算出结果的。恶梦还没有结束,还有两道同性质的题目:问题3:计算1+2+3+100000000之和。问题4:计算1+2+3+1000000000000之和。这些问题对悟空来说,可能比跳出五指山还困难。光是计算这两道奥数题,悟空三人倒是无所谓,只怕唐三藏没有那么长命来算吧。4.1.3 使用for语句为小学生减负【本小节示例参考:源代码C04testFor】如果悟空可以变出一台计算机,并且计算机上面有个Visual C+6.0,那么,我想这一切都不是问题,当然,还要变出个会C+的程序员才行,for语句的基本格式如下:for(起始条件;终止条件;累加)/循环体那么,要计算问题1的源代码可以编写,如代码示例4.2所示。代码示例4.2 问题1的求解#includeusing namespace std;int main()int total=0;/存储运算结果,初始化为0for(int i=1;i=100;i+)total=total+i;/将total从1至100累加cout”问题1的运算结果是:”totalendl;/打印运算的结果cin.get();return 0;4.1.4 用for语句搞定非连续的累加算法通过编写上一节的小程序,为唐三藏师徒节省了几百年的运算时间,可谓功德无量,现在剩下最后一题:问题5:计算1+3+5+7+99之和。该题与前面4个问题有点类似,也是累加的问题,只是累加并不是连续的,所幸的是C+的for语句也能轻松搞定这类问题,如代码示例4.4所示。4.2 另一道小学奥数题目分析取经路上的奥数题终于顺利通过了上半场,还有下半场等着唐三藏师徒去解决,而本章的奥数题目似乎不能用for语句来解决。而事实上,仅仅使用for语句来解决任何难题肯定是不可能的。4.2.1 另一道小学奥数题目:累加次数计算似乎只要是小学奥数题,就喜欢拿工作量来难倒人,看来呼吁给小学生减负也是有道理的,现在看看另一道奥数题目:问题问题6 6:从1+2+3+,一直累加下去,问累加到多少时,它们的和首次超过10000?这个题目和上节的题目性质上是相反的,如果使用for语句似乎不太好下手,当然,我的言外之意是如果师徒4人手工计算的话,就更不用去考虑了。既然for语句解决不了,那么师徒4人的办法只有两个:要么请教成绩优异的小学生,要么看看C+有没有其他语句可以搞定。请教小学生超出本书的职能范围,所以现在只能使用C+其他方法来解决这个问题。4.2.2 使用while语句再次解决小学生的苦恼【本小节示例参考:源代码C04testWhile】C+另一种常用的循环语句是while语句,while语句的基本格式如下:while(条件表达式)/循环体有了这个while语句,问题6的解答就变得容易多了,可以编写如代码示例4.5所示的程序。4.4 while的兄弟:dowhile语句终于搞定令人苦恼的奥数题目了,现在可以静下心来小结并回顾一下。除了if语句和while语句外,还有没有其他循环语句了?当然有,那就是while的兄弟:dowhile语句。do.while语句的基本格式如下:do /循环体while(条件表达式)do.while语句和while语句极为相似,但区别还是有的,do.while语句是将条件表达式放在了后面,也就是必须先执行1次循环体,然后再判断条件表达式;而while语句是先判断条件表达式,再决定是否执行循环体。因此do.while语句的循环体执行次数是大于或等于1次,而while语句的循环体执行次数是大于或等于0次。4.5 中断循环语句的两件法宝田径长跑比赛的规则大家都很清楚,也就是在400米标准跑道上,跑n圈,直到跑完长跑的全部路程总和为止,可能是1000米,也可能是10000米。现在假设要求读者设计一个长跑的游戏软件,要求每个参赛运动员可以在赛道上赛跑,如果出了意外,例如被其他队员撞伤,那么可以选择退出。应开发商的要求,这个游戏提供VIP会员服务,即VIP会员在支付游戏费用后,可以有限次中途直接跳入下一圈,并记入成绩。本节就使用C+来简单模拟这两个游戏规则:运动员中途退出。VIP会员控制的运动员,可以直接跳入下一圈。4.5.1 彻底出逃循环用break【本小节示例参考:源代码C04testBreak】本小节解决“运动员中途退出”的规则功能,即假设运动员因为某些原因(如受伤或放弃比赛),而需要彻底退出比赛,程序创建过程如下:(1)选择“File”|“New”菜单命令,新建Visual C+项目,在“Project”选项卡中,选中“Win32 Console Application”应用程序,并在Project name编辑框中填写项目名称“LongRun”。(2)在应用程序向导中,选择“An empty project”项目,创建空的项目。(3)在文件视图中,为“Source files”文件夹添加新的文件“main.cpp”源文件。(4)在“main.cpp”源文件添加如代码示例4.6所示中的源文件。4.5.2 跳入下一圈循环用continue【本小节示例参考:源代码C04testContinue】本节通过另一个关键字来解决“VIP会员控制的运动员可以直接跳入下一圈”作弊功能,如一圈是400米的话,VIP每次使用作弊功能则可以少跑400米,创建的项目和前一节是一样的,这里只需要修改一下代码即可,如代码示例4.7所示。4.6 小结本章讲解了程序设计语言中重要循环语句的使用,在任何程序设计语言中,循环语句都是必不可少的。通过本章的学习,读者应该掌握的内容如下:掌握“+”和“-”运算符的使用。掌握for语句的基本语法规则。掌握while语句的基本语法规则。掌握dowhile语句的基本语法规则。掌握break关键字和continue关键字的使用,并理解两者的区别和适用场合。本章习题一、填空题1C+的循环语句有3种:_、_和_。2跳出循环的两个关键字是:_和_。二、简答题1while语句和dowhile语句在运行和判断方式上有什么不同?2在循环语句种,break和continue关键字有什么不同?
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!