四章C程序流程设计.ppt

上传人:本田雅阁 文档编号:3193135 上传时间:2019-07-28 格式:PPT 页数:37 大小:512.51KB
返回 下载 相关 举报
四章C程序流程设计.ppt_第1页
第1页 / 共37页
四章C程序流程设计.ppt_第2页
第2页 / 共37页
四章C程序流程设计.ppt_第3页
第3页 / 共37页
四章C程序流程设计.ppt_第4页
第4页 / 共37页
四章C程序流程设计.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《四章C程序流程设计.ppt》由会员分享,可在线阅读,更多相关《四章C程序流程设计.ppt(37页珍藏版)》请在三一文库上搜索。

1、你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 1 第四章 C程序流程设计 C语句概述 程序的三种基本结构 选择型程序设计 循环型程序设计 辅助控制语句 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 2 4.1 C语句概述 lC语句:以“;”作分隔符,编译后产生机器指令. lC语句分类 l表达式语句:表达式加分号构成。 空语句: ; 程序控制语句(9种): if( )else switch for( ) while( ) dowhile( ) continue break goto return 分支 循环 辅助控制 如 total=total+limit;

2、a=3; func( ); printf(“Hello,world!n”); 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 3 l :用 括起来的一组语句 l一般形式: 数据说明部分; 执行语句部分; l说明: l“”后不加分号 l语法上和单一语句相同 l复合语句可嵌套 复合语句 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 4 l结构化程序设计 l基本思想:任何程序都可以用三种基本结构表示,限 制使用无条件转移语句(goto) l结构化程序:由三种基本结构反复嵌套构成的程序叫 l优点:结构清晰,易读,提高程序设计质量和效率 l三种基本结构 l顺序结构 A

3、B A B 流程图N-S图 4.2 程序的三种基本结构 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 5 P AB 真假 P BA 真假 k A1A2AiAn k=k2 k=k1 k=kn k=ki l二分支选择结构 l多分支选择结构 选择结构 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 6 l当型循环结构 l直到型循环结构 P A 假 真 当P为真 A A P 真 假 A 直到P为真 注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构 循环结构 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 7 lif语句(条件选择语句) l

4、if语句的三种形式 l形式一: l格式:if (expression) statement l执行过程: expr statement 非0 =0 例:if (xy) printf(“%d”,x); expr statement1statement2 非0=0 l形式二: u格式:if (expression) statement1 else statement2 u执行过程: 例:if (xy) max=x; else max=y; 4.3 选择型程序设计 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 8 l三: l格式: if ( expr1 ) statement1 e

5、lse if (expr2 ) statement2 else if (expr3 ) statement3 . else statementn expr1 statemnt1 非0 =0 expr2 expr3 statemntnstatemnt3statemnt2 非0 非0 =0 =0 u执行过程: 例: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; 选择型程序设计形式

6、你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 9 如:if(a=b if(3) printf(“OK”); if(a) printf(“%d”,a); uif后面的表达式类型任意 u语句可以是复合语句 u if(x) if(x!=0) if(!x) if(x=0) 例 考虑下面程序的输出结果: #include main() int x,y; scanf(“%d,%d”, if(xy) x=y; y=x; else x+; y+; printf(“%d,%dn”,x,y); Compile Error! 说明: 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计

7、10 v: l一般形式: if (expr1) if (expr2) statement1 else statement2 else if(expr3) statement3 else statement4 内嵌if 内嵌if if (expr1) if (expr2) statement1 else statement2 内嵌if if (expr1) if (expr2) statement1 else statement3 内嵌if if (expr1) statement1 else if(expr3) statement3 else statement4 内嵌if if语句嵌套 你现

8、在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 11 /*ch4_4.c*/ #include main() int x,y; printf(“Enter integer x,y:“); scanf(“%d,%d“, if(x!=y) if(xy) printf(“XYn“); else printf(“XY Enter integer x,y:12,12 X=Y 例 输入两数并判断其大小关系 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 12 l缺省 时,else总是和它上面离它最近的未配 对的if配对 if() if() if() else. else. el

9、se. if else 配对原则: 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 13 例: 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 正确配对方法:加 实现if else 正确配对方法 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 14 v一般形式: switch( 表达式) case E1: 语句组 1; break; case E2: 语句组 2;

10、break; . case En: 语句组 n; break; default: 语句组 ; break; v执行过程: switch 表达式 语句组1语句组2语句组n语句组 . E 1E 2Endefault case switch语句(开关分支语句) 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 15 v: lE1,E2,En是常量表达式,且值必须互不相同 l语句标号作用,必须用break跳出 lcase后可包含多个可执行语句,且不必加 lswitch可嵌套 l多个case可共用一组执行语句 如: case A: case B: case C: printf(“score

11、60n”); break; 说明: 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 16 例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 运行结果:score为5时,输出: Very good! Good! Pass! Fail! data error! 例子(1) 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流

12、程设计 17 /*ch4_5.c*/ #include main() int c; printf(“Enter m or n or h or other:“); c=getchar(); switch(c) case m: printf(“nGood morning!n“);break; case n: printf(“nGood night!n“); break; case h: printf(“nHello!n“); break; default : printf(“n?n“); break; 例子(2) 根据输入字母输出字符串 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设

13、计 18 l概述 C语言可实现循环的语句: l用goto 和 if 构成循环 lwhile 语句 ldo while 语句 lfor 语句 lgoto语句及用goto构成循环 lgoto语句一般格式: goto 语句标号; . 标号:语句; 4.4 循环型程序设计 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 19 v功能:无条件转移语句 v说明: l不能用整数作标号 l只能出现在goto所在函数内,且唯一 l只能加在可执行语句前面 l限制使用goto语句 4.4 循环型程序设计(1) 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 20 /*ch5_1.c*

14、/ #include main() int i,sum=0; i=1; loop: if(i main() int i,sum=0; i=1; while(i main() int i=1; while(i main( ) int i=0; for(i=0;i main( ) int i=0; for(;i main( ) int i=0; for(;i main( ) int i=0; for(;i10;putchar(a+i),i+) ; 例子 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 31 0 y x a a+ha+ih a+(i+1)h b f(x) 例 (f0r

15、)梯形法求数值积分 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 32 v三种循环可互相嵌套,层数不限 v外层循环可包含两个以上内循环,但不能相互交叉 v嵌套循环的执行流程 (1) while() while() . (2) do do while( ); . while( ); (3) while() do while( ); . (4) for( ; ;) do while(); while() . 内循环 外循环 内循环 v嵌套循环的跳转 禁止: l从外层跳入内层 l跳入同层的另一循环 l向上跳转 循环的嵌套 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设

16、计 33 i10 printf 假(0) 真(非0) i=1 j+ j=1 j10 真(非0) 假(0) i+ for(i=1;i10;i+) for(j=1;j10;j+) printf(j=9)?“%4dn“:“%4d“,i*j); 外循环 内循环 循环的嵌套(图解) 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 34 4.5 辅助控制语句 lbreak语句 l功能:在循环语句和switch语句中,终止并跳出循 环体或开关体 l说明: lbreak只能终止并跳出最近一层的结构 lbreak不能用于循环语句和switch语句之外的 任何其它语句之中 你现在所处的位置:首页C

17、语言教学幻灯片版第四章 C程序流程设计 35 4.5 辅助控制语句(图解1) expr break; 假(0) 真(非0) while do break; . expr 假(0) 真(非0) while 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 36 expr2 break; . 假(0) 真(非0) for expr1 expr3 switch expr 语句组1 break; 语句组2 break; 语句组n break; 语句组 break; . const 1const 2const ndefault case 4.5 辅助控制语句(图解2) 你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计 37 v功能:结束本次循环,跳过循环体中尚未执行的 语句,进行下一次是否执行循环体的判断 v仅用于循环语句中 expr continue; 假(0) 真(非0) while 真(非0) do continue; . expr 假(0) while expr2 continue; . 假(0) 真(非0) for expr1 expr3 continue语句

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1