c程序设计第三章.ppt_第1页
c程序设计第三章.ppt_第2页
c程序设计第三章.ppt_第3页
c程序设计第三章.ppt_第4页
c程序设计第三章.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章C+程序的流程控制,复习:c+语句的分类,从形式上分:基本语句以;为结束符复合语句多条基本语句用括起来凡是可以使用基本语句的地方就可以使用复合语句复合语句可以嵌套从功能上分说明和定义语句用于说明或定义常量、变量、函数表达式语句由表达式构成的语句,如:x=3*5;流程控制语句本章讲解异常处理语句后面讲解,学习目标:,熟练掌握if,switch分支结构的使用。熟练掌握for,while,dowhile循环结构的使用。掌握break,continue语句与分支和循环语句配合使用的方法。了解goto语句的使用。,教学要求:,熟练掌握if语句和switch语句的使用,会在程序中利用它们实现单分支或多分支控制。熟练掌握while,do.while和for这三种循环语句的结构和执行过程,会在程序中利用它们实现单重或多重循环控制,掌握continue语句和break语句的作用。,3.1流程控制与程序结构,三种基本结构:顺序结构、分支结构、循环结构共同点:一个入口,一个出口。顺序结构:按语句的先后顺序执行例:#includevoidmain()inta,b,c;cinabc;couta+b;couta+c;coutb+c;,3.2条件分支结构,3.2.1if语句实现的单分支结构,假,真,if语句的一般格式,if(条件)语句1else语句21、if(表达式)语句1:条件成立(即表达式值为真)时执行语句1,条件不成立(表达式值为假)时什么都不做。2.、if(表达式)语句1else语句2条件成立时执行语句1,条件不成立时执行语句2。,说明:,语句1和语句2可以是基本语句也可以是复合语句,但不能是表达式也不能是多个语句。当需要多个基本语句时,一定要用将多个基本语句括起来形成一个复合语句。例题一if(x)cout“xisnon-zero”elsecoutj;cout=j)coutiendl;elsecoutjb)max=a;elsemax=b;,3.2.2if语句的嵌套,if语句格式中的语句1和语句2又可以是if语句这样就构成了if语句的嵌套。形式一:if(表达式一)if(n0)if(表达式二)if(ab)语句一z=a;elseelse语句二z=b;注意:else总是与离它最近的尚未使用的if配对。,形式二:形式三:,if(表达式一)语句一elseif(表达式二)语句二else语句三,if(表达式一)if(表达式二)语句一else语句二elseif(表达式三)语句三else语句四,例3.2:输入三个数,找出最大的一个并显示出来。,解法一:#includevoidmain()inti,j,k;coutijk;cout=j)if(i=k)cout=k)coutjendl;elsecoutkjk;coutendl“最大的一个是:”;if(ij)i=j;if(ik)i=k;/*i中存放最大值大*/coutijk;coutendl按从大到小的顺序是:;if(ij)p=i;i=j;j=p;/*借助临时变量p交换I和j的值*/if(ik)p=i;i=k;k=p;if(jk)p=j;j=k;k=p;coutijscore;if(score100)cout“成绩必须在0-100之间”;elseif(score60)cout“不及格”endl;elseif(score70)cout“及格”endl;elseif(score80)cout“中”endl;elseif(score90)cout“良”endl;elsecoutweekday;switch(weekday)case0:coutSundayendl;break;case1:coutMondayendl;break;case2:coutTuesdayendl;break;case3:coutWednesdayendl;break;case4:coutThursdayendl;break;case5:coutFridayendl;break;case6:coutSaturdayendl;break;default:coutscore;switch(int(score)/10)case0:case1:case2:case3:case4:case5:cout不及格endl;break;case6:cout及格endl;break;case7:cout中endl;break;case8:cout良endl;break;case9:case10:cout优;break;default:cout0)2、for(;.).循环条件为空意味着永真条件,等同于(for;true;),构成了无限循环,如果不在循环体中用break语句强行退出,将形成死循环。3、for(i=0;i1000;i+);循环体为一空语句,可以用于延长一段时间。,4、for(inti=0;i100;i+)couti;变量i起到了控制循环次数的作用,所以称之为循环变量。对某些编译系统而言,for语句中的变量只在循环体内部起作用。如果for循环外部仍要用该变量,需要在for语句之前定义。inti;for(i=0;i100;i+=5)couti;coutx;s+=x;cout10个数的总和是:sendl;,for语句的嵌套,for语句的嵌套是指for语句的循环体又是for语句。,例3.10显示如下所示的图形。,*,程序分析,#includevoidmain()for(inti=0;i6;i+)coutendl;intj;for(j=0;j5-i;j+)cout;for(j=0;j2*i+1;j+)cout*;,例3.10另解,#includevoidmain()cout*;/第一行for(inti=1;i6;i+)/第二行到第六行coutendl;intj;for(j=0;j5-i;j+)cout;for(j=0;j2*i+1;j+)cout*;coutendl;,例3.11显示输出99乘法表,|123456789_|_1|1234567892|246810121416183|3691215182124274|48121620242832365|510152025303540456|612182430364248547|714212835424956638|816243240485664729|91827364554637281,#includevoidmain()coutendlsetw(3)|;intj;for(j=1;j10;j+)coutsetw(3)j;coutendl-+-;for(j=1;j10;j+)coutendlsetw(2)j|;for(intk=1;k10;k+)coutsetw(3)j*k;coutendl;,3.3.2while循环,While语句的格式while(循环条件)循环体工作原理:,说明:,while语句也是一种先判断后执行的循环结构,如果循环条件一开始就不成立,则循环体一次也不执行。一切用for语句实现的循环都可以用while语句实现。,例:计算并输出1到100的和。,#includevoidmain()ints=0,i=1;while(i=100)s+=i;i+;cout1到100的和为:s=0.000001)s+=s0;n+=2;d+=d;cout=0.000001)s+=s0;i+;coutBC;while(A=0.0);cout0.0)cout此方程有两个不同的实数解:;cout(-B+sqrt(delta)/(2*A);cout和(-B-sqrt(delta)/(2*A);elsecout此方程有两个相同的实数解:;coutx;if(x=0)break;if(x0)continue;s+=x;n+;coutendl所有正数的平均值是:radius;if(radius=0.0)break;/退出循环if(radius0.0)coutendl输入错误,半径不能为负值;continue;area=Area(radius);coutendl圆的面积是:area;,3.4其它流程控制语句,3.4.1goto语句goto语句的功能是无条件的转向标号处。其形式为:.goto标号;.标号:语句标号就是一个标识符。goto语句的使用会降低程序的结构化程度,不可滥用。,例:gotoloop;loop:s=o;,3.4其它流程控制语句,3.4.2return语句,return语句的功能用于结束函数的运行并返回调用处,其格式为:return表达式;(1)对于无返回值的函数(即类型为void的函数),表达式可以省略,即可以使用return

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论