重庆电子科技职业学院_第1页
重庆电子科技职业学院_第2页
重庆电子科技职业学院_第3页
重庆电子科技职业学院_第4页
重庆电子科技职业学院_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第1页页2005年年7月月7日星期四日星期四 第四章第四章 C C程序中的流程控制程序中的流程控制C语句概述程序的三种基本结构选择型程序设计循环型程序设计辅助控制语句 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第2页页2005年年7月月7日星期四日星期四第四章第四章 C C程序中的流程控制程序中的流程控制 C C程序语言的语句分类程序语言的语句分类C语句:以“;”作分隔符,编译后产生机器指令。C语句分类表达式语句:表达式加分号构成。空语句: ;程序控制语句(9种):if( )else switchfor( )while(

2、)dowhile( )continuebreakgotoreturn分支循环辅助控制如 total=total+limit; a=3; func( ); printf(“Hello,world!n”); 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第3页页2005年年7月月7日星期四日星期四定义 :用 括起来的一组语句。一般形式: 数据说明部分; 执行语句部分; 说明:“”后不加分号语法上和单一语句相同复合语句可嵌套第四章第四章 C C程序中的流程控制程序中的流程控制 复合语句复合语句 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第4页页2005年年7月月7日星期四日星

3、期四结构化程序设计基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto)结构化程序:由三种基本结构反复嵌套构成的程序叫优点:结构清晰,易读,提高程序设计质量和效率三种基本结构顺序结构ABAB流程图N-S图第四章第四章 C C程序中的流程控制程序中的流程控制 程序的三种流程结构程序的三种流程结构 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第5页页2005年年7月月7日星期四日星期四PAB真假PBA真假kA1A2AiAnk=k2k=k1k=knk=ki.l二分支选择结构二分支选择结构l多分支选择结构多分支选择结构第四章第四章 C C程序中的流程控制程序中的流程

4、控制 三种流程之选择结构三种流程之选择结构 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第6页页2005年年7月月7日星期四日星期四PA假真当P为真AAP真假A直到P为真注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构。第四章第四章 C C程序中的流程控制程序中的流程控制 三种流程之循环结构三种流程之循环结构 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第7页页2005年年7月月7日星期四日星期四if语句(条件选择语句)if语句的三种形式形式一:形式一: 格式:if (expression) statement 执行过程:exprstatement非0=0

5、例:if (xy) printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if (expression) statement1 else statement2执行过程: 例:if (xy) max=x; else max=y;第四章第四章 C C程序中的流程控制程序中的流程控制 C C程序种的选择结构(程序种的选择结构(ifif) 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第8页页2005年年7月月7日星期四日星期四语法格式:if ( expr1 ) statement1else if (expr2 ) statement2else

6、if (expr3 ) statement3. else statementn expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0执行过程 if (salary1000) index=0.4; else if (salary800) index=0.3; else if (salary600) index=0.2; else if (salary400) index=0.1;else index=0; 第四章第四章 C C程序中的流程控制程序中的流程控制 选择结构(选择结构(ififelse if else if )

7、重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第9页页2005年年7月月7日星期四日星期四如:if(a=b&x=y) printf(“a=b,x=y”); if(3) printf(“OK”); if(a) printf(“%d”,a);if后面的表达式类型任意语句可以是复合语句 if(x) if(x!=0) if(!x) if(x=0)例 考虑下面程序的输出结果: #include main() int x,y; scanf(“%d,%d”,&x,&y); if(xy) x=y; y=x; else x+; y+; printf(“%d,%dn”,x,y);

8、Compile Error!第四章第四章 C C程序中的流程控制程序中的流程控制 ifif结构使用说明结构使用说明 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第10页页2005年年7月月7日星期四日星期四if (expr1) if (expr2) statement1 else statement2else if(expr3) statement3 else statement4内嵌if内嵌ifif (expr1) if (expr2) statement1 else statement2内嵌ifif (expr1) if (expr2) statement1else state

9、ment3 内嵌ifif (expr1) statement1else if(expr3) statement3 else statement4内嵌if第四章第四章 C C程序中的流程控制程序中的流程控制 ifif结构的嵌套形式结构的嵌套形式 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第11页页2005年年7月月7日星期四日星期四#include main() int x,y; printf(Enter integer x,y:); scanf(%d,%d,&x,&y); if(x!=y) if(xy) printf(XYn); else printf(XYn);

10、 else printf(X=Yn);运行结果:Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Y第四章第四章 C C程序中的流程控制程序中的流程控制 ifif结构程序举例结构程序举例例 输入两数并判断其大小 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第12页页2005年年7月月7日星期四日星期四缺省缺省 时,时,else总是和它上面离它最近的总是和它上面离它最近的未配对的未配对的if配对配对if()if()if()else.else.else.第四章第四章 C C程序中的流程控制程序中的流程控制 ififelseelse

11、的配对原则的配对原则 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第13页页2005年年7月月7日星期四日星期四例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);实现if else 正确配对方法:加 第四章第四章 C C程序中的流程控制程序中的流程控制 ififelseelse的配对举例的配对举例 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第14页页2005年年7月月7日星期四日星期四一般形

12、式:switch( 表达式) case E1: 语句组 1; break; case E2: 语句组 2; . case En: 语句组 n; default: 语句组 ; 执行过程:switch表达式语句组1语句组2语句组n语句组.E 1E 2Endefaultcase 第四章第四章 C C程序中的流程控制程序中的流程控制 选择结构(选择结构(switch switch ) 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第15页页2005年年7月月7日星期四日星期四lE1,E2,En是常量表达式,且值必须互不相同l语句标号作用,必须用break跳出lcase后可包含多个可执行语句,

13、且不必加 lswitch可嵌套l多个case可共用一组执行语句如: case A: case B: case C: printf(“score60n”); break; .第四章第四章 C C程序中的流程控制程序中的流程控制 选择结构(选择结构(switch switch )说明)说明 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第16页页2005年年7月月7日星期四日星期四例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: p

14、rintf(“Fail!”); default : printf(“data error!”); 运行结果:score为5时,输出: Very good! Good! Pass! Fail! data error!第四章第四章 C C程序中的流程控制程序中的流程控制 选择结构(选择结构(switch switch )举例)举例 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第17页页2005年年7月月7日星期四日星期四#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(c) c

15、ase m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHello!n); break; default : printf(n?n); break; 第四章第四章 C C程序中的流程控制程序中的流程控制 选择结构(选择结构(switch switch )举例)举例 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第18页页2005年年7月月7日星期四日星期四概述C语言可实现循环的语句:用goto 和 if 构成循环while 语句do while 语句for

16、语句goto语句及用goto构成循环goto语句一般格式:goto 语句标号; .标号:语句; 第四章第四章 C C程序中的流程控制程序中的流程控制 三种流程之循环结构三种流程之循环结构 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第19页页2005年年7月月7日星期四日星期四v功能:无条件转移语句v说明:l不能用整数作标号l只能出现在goto所在函数内,且唯一l只能加在可执行语句前面l限制使用goto语句第四章第四章 C C程序中的流程控制程序中的流程控制 循环结构之循环结构之gotogoto语句语句 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第20页页2005年年

17、7月月7日星期四日星期四1001nn#include main() int i,sum=0; i=1;loop: if(i=100) sum+=i; i+; goto loop; printf(%d,sum);sum=0+1sum=1+2=3sum=3+3=6sum=6+4sum=4950+100=5050循环初值循环终值循环变量增值循环条件循环体第四章第四章 C C程序中的流程控制程序中的流程控制 用用if if 和和gotogoto语句构成循环语句构成循环 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第21页页2005年年7月月7日星期四日星期四v一般形式:while(表达式)

18、 循环体语句;v执行流程:expr循环体假(0)真(非0)while第四章第四章 C C程序中的流程控制程序中的流程控制 循环结构之循环结构之whilewhile语句语句 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第22页页2005年年7月月7日星期四日星期四v特点:先判断表达式,后执行循环体v说明:l循环体有可能一次也不执行l循环体可为任意类型语句l下列情况,退出while循环u条件表达式不成立(为零)u循环体内遇break,return,gotol无限循环: while(1) 循环体;第四章第四章 C C程序中的流程控制程序中的流程控制 whilewhile语句特点语句特点

19、重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第23页页2005年年7月月7日星期四日星期四用while循环求 1001nn#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);循环初值循环终值循环变量增值循环条件循环体第四章第四章 C C程序中的流程控制程序中的流程控制 whilewhile循环程序举例循环程序举例 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第24页页2005年年7月月7日星期四日星期四#include main() int i=1; while(i=1

20、0) printf(%d*%d=%dn,i,i,i*i); i+; 运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100第四章第四章 C C程序中的流程控制程序中的流程控制 whilewhile循环程序举例循环程序举例例例 显示显示110的平方的平方 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第25页页2005年年7月月7日星期四日星期四v一般形式:do 循环体语句; while(表达式);v执行流程:do循环体expr假(0)真(非0)while第四章第四章 C C程序中的流程控制程序中的流程控制 循

21、环结构之循环结构之do whiledo while语句语句 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第26页页2005年年7月月7日星期四日星期四特点:先执行循环体,后判断表达式说明:至少执行一次循环体第四章第四章 C C程序中的流程控制程序中的流程控制 do whiledo while语句的特点语句的特点 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第27页页2005年年7月月7日星期四日星期四语法格式:for(expr1 ; expr2 ; expr3) 循环体语句;执行流程:第四章第四章 C C程序中的流程控制程序中的流程控制 循环结构之循环结构之forfor

22、语句语句expr2循环体假(0)真(非0)forexpr1expr3 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第28页页2005年年7月月7日星期四日星期四for(循环变量赋初值;循环条件;循环变量增值)循环体语句;v说明:lfor语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省l无限循环: for(;)lfor语句可以转换成while结构expr1;while(expr2)循环体语句;expr3;第四章第四章 C C程序中的流程控制程序中的流程控制 forfor语句特点语句特点 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第29页页

23、2005年年7月月7日星期四日星期四 #include main( ) int i=0; for(i=0;i10;i+) putchar(a+i); 运行结果:abcdefghij#include main( ) int i=0; for(;i10;i+) putchar(a+i); #include main( ) int i=0; for(;i10;) putchar(a+(i+); #includestdio.h main( )int i=0; for(;i10;putchar(a+i),i+); 第四章第四章 C C程序中的流程控制程序中的流程控制 forfor循环举例循环举例 重庆电

24、子科技职业学院 精品课 程序设计基础 刘江林制 第第30页页2005年年7月月7日星期四日星期四v三种循环可互相嵌套,层数不限v外层循环可包含两个以上内循环,但不能相互交叉v嵌套循环的执行流程while() while() . do do while( ); . while( );while() do while( ); . (4) for( ; ;) do while(); while() .内循环外循环内循环v嵌套循环的跳转l从外层跳入内层l跳入同层的另一循环l向上跳转第四章第四章 C C程序中的流程控制程序中的流程控制 循环的嵌套循环的嵌套 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第31页页2005年年7月月7日星期四日星期四第四章第四章 C C程序中的流程控制程序中的流程控制 breakbreak语句语句break语句:功能:在循环语句和switch语句中,终止并跳出循环体或开关体。说明:break只能终止并跳出最近一层的结构。break不能用于循环语句和switch语句之外的任何其它语句之中。 重庆电子科技职业学院 精品课 程序设计基础 刘江林制 第第32页页2005年年7月月7日星期四日星

温馨提示

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

评论

0/150

提交评论