C程序基本结构与流程44173.pptx
《C程序基本结构与流程44173.pptx》由会员分享,可在线阅读,更多相关《C程序基本结构与流程44173.pptx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第四章 C程序流程设计C语句概述程序的三种基本结构选择型程序设计 循环型程序设计 辅助控制语句24.1 C语句概述lC语句语句:以以“;”作分隔符作分隔符,编译后产生机器指令编译后产生机器指令.lC语句分类语句分类l表达式语句:表达式加分号构成。表达式语句:表达式加分号构成。(包括函数调用语句包括函数调用语句)空语句:;程序控制语句(9种):if()else switchfor()while()dowhile()continuebreakgotoreturn分支循环辅助控制如如 total=total+limit;a=3;func();printf(“Hello,world!n”);3l :
2、用:用 括起来的一组语句括起来的一组语句l一般形式:一般形式:数据说明部分;数据说明部分;执行语句部分;执行语句部分;l说明:说明:l“”后不加分号后不加分号l语法上和单一语句相同语法上和单一语句相同l复合语句可嵌套复合语句可嵌套复合语句复合语句4l结构化程序设计结构化程序设计l基本思想:任何程序都可以用三种基本结构表示,限基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(制使用无条件转移语句(goto)l结构化程序:由三种基本结构反复嵌套构成的程序叫结构化程序:由三种基本结构反复嵌套构成的程序叫l优点:结构清晰,易读,提高程序设计质量和效率优点:结构清晰,易读,提高程序设计
3、质量和效率l三种基本结构三种基本结构l顺序结构顺序结构ABAB流程图流程图N-S图图4.24.2 程序的三种基本结构程序的三种基本结构5PAB真真假假PBA真真假假kA1A2AiAnk=k2k=k1k=knk=ki.l二分支选择结构二分支选择结构l多分支选择结构多分支选择结构选择结构选择结构6l当型循环结构当型循环结构l直到型循环结构直到型循环结构PA假假真真当当P为真为真AAP真真假假A直到直到P为真为真注:注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构可以是一个简单语句,也可以是一个基本结构循环结构循环结构7lif语句语句(条件选择语句)(条件选择语句)lif语句的三种形式
4、语句的三种形式l形式一:形式一:l格式:格式:if(expression)statementl执行过程:执行过程:exprstatement非非0=0例:例:if(xy)printf(“%d”,x);exprstatement1statement2非非0=0l形式二形式二:u格式格式:if(expression)statement1 else statement2u执行过程:执行过程:例:例:if(xy)max=x;else max=y;4.3 选择型程序设计选择型程序设计8l三:三:l格式:格式:if(expr1)statement1else if(expr2)statement2else
5、if(expr3)statement3.else statementn expr1statemnt1非非0=0expr2expr3statemntnstatemnt3statemnt2非非0非非0=0=0u执行过程:执行过程:例:例: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;选择型程序设计形式选择型程序设计形式9如:如:if(a=b&x=y)printf(“a=b,x=y”);if(3)print
6、f(“OK”);if(a)printf(“%d”,a);uifif后面的表达式类型任意后面的表达式类型任意u语句可以是复合语句语句可以是复合语句u 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);Compile Error!说明:说明:10v:l一般形式:一般形式:if(expr1)if(expr2)statement1 else statement2else
7、if(expr3)statement3 else statement4内嵌内嵌if内嵌内嵌ifif(expr1)if(expr2)statement1 else statement2内嵌内嵌ifif(expr1)if(expr2)statement1else statement3 内嵌内嵌ifif(expr1)statement1else if(expr3)statement3 else statement4内嵌内嵌ifif语句嵌套语句嵌套11/*ch4_4.c*/#include main()int x,y;printf(Enter integer x,y:);scanf(%d,%d,&x,
8、&y);if(x!=y)if(xy)printf(XYn);else printf(XYn);else printf(X=Yn);运行:运行:Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Y例例 输入两数并判断其大小关系输入两数并判断其大小关系12l缺省缺省 时,时,else总是和它上面离它最近的未配总是和它上面离它最近的未配对的对的if配对配对if()if()if()else.else.else.if else 配对原则:配对原则:13例:例:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!
9、=b”);修改:修改:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);实现实现if else 正确配对方法:加正确配对方法:加 14v一般形式:一般形式:v执行过程执行过程:switch表达式表达式语句组语句组1语句组语句组2语句组语句组n语句组语句组.E 1E 2Endefaultcase switch语句语句(开关分支语句开关分支语句)15switch(表达式表达式)case E1:语句组语句组 1;break;case E2:语句组语句组 2;break;.case En:语句组语句组 n;break;default:语句组语句组;br
10、eak;16v:lE1,E2,EnE1,E2,En是是常量表达式常量表达式,且值必须互不相同且值必须互不相同l语句标号作用,必须用语句标号作用,必须用break跳出跳出lcase后可包含多个可执行语句,且不必加后可包含多个可执行语句,且不必加 lswitchswitch可嵌套可嵌套l多个多个case可共用一组执行语句可共用一组执行语句如:如:case A:case B:case C:printf(“score60n”);break;.说明:说明:17例例 switch(score)case 5:printf(“Very good!”);case 4:printf(“Good!”);case 3
11、:printf(“Pass!”);case 2:printf(“Fail!”);default :printf(“data error!”);运行结果:运行结果:score为为5时,输出:时,输出:Very good!Good!Pass!Fail!data error!例子(例子(1)18/*ch4_5.c*/#include int 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 基本 结构 流程 44173
限制150内