首页 程序的三种基本结构

程序的三种基本结构

举报
开通vip

程序的三种基本结构程序的三种基本结构 结构化程序设计 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫~ 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构 二分支选择结构 多分支选择结构选择结构 当型循环结构 直到型循环结构注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构循环结构第5章选择语句 5.1if条件语句 5.2switch多分支选择语句 5.3程序举例返回5.1if条件语句 if语句是用来判定所给...

程序的三种基本结构
程序的三种基本结构 结构化程序设计 基本思想:任何程序都可以用三种基本结构 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示,限制使用无条件转移语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫~ 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构 二分支选择结构 多分支选择结构选择结构 当型循环结构 直到型循环结构注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构循环结构第5章选择语句 5.1if条件语句 5.2switch多分支选择语句 5.3程序举例返回5.1if条件语句 if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。5.1.1if语句的三种形式 1.单分支选择语句的形式:if(表达式)语句 这种if语句的执行过程见图:main(){floatx,y;scanf(“%f”,&x);if(x>=0)y=2*x;if(x<0)y=3-x;printf(“y=%6.2f”,y);}任给a,b,c三个数,按从小到大的顺序输出。分析:(1)对于a,b任意两个数:若a<b,则输出a,b;否则输出b,a;(2)对于三个数,有6种可能:a<b<ca<c<bb<a<cb<c<ac<a<bc<b<a(3)使用判断——交换法:1.若a>b,则交换a和b,交换后a<b2.若a>c,则交换a和c,交换后a<c3.若b>c,则交换b和c,交换后b<c[例5.2」输入三个数,按由小到大顺序输出。 main() {inta,b,c,temp; printf("Inputa,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); if(a>b) {temp=a;a=b;b=temp;} if(a>c) {temp=a;a=c;c=temp;} if(b>c) {temp=b;b=c;c=temp;} printf("%d,%d,%d",a,b,c); } 运行情况如下:3,7,1 1,3,7 2.双分支选择语句的形式: if(表达式)语句1else语句2 见图:main(){floatx,y;scanf(“%f”,&x);if(x<0)y=3-x;elsey=2*x;printf(“y=%6.2f”,y);}输入两个数,比较其大小,将较大的数输出。流程分析:(1)输入两个数据a,b;(2)如果a>b则输出a;否则,输出b。#include<stdio.h>main(){floata,b;scanf(“%f,%f”,&a,&b);if(a>b)printf(“%f”,a);elseprintf(“%f”,b);} 3.多分支选择语句的形式: if(表达式1)语句1 elseif(表达式2)语句2 elseif(表达式3)语句3 elseif(表达式m)语句m else语句n 流程图写一个程序完成下列功能:1.输入一个分数score2.score<60输出E3.60<=score<70输出D4.70<=score<80输出C5.80<=score<90输出B6.90<=score输出A多分支问题#include<stdio.h>main(){intscore;scanf(“%d”,&score);if(score<60)printf(“E”);elseif(score<70)printf(“D”);elseif(score<80)printf(“C”);elseif(score<90)printf(“B”);elseprintf(“A”);}程序如: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<stdio.h>main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d\n”,x,y);}CompileError!说明:5.1.2 一般形式:if语句嵌套/*ch4_4.c*/#include<stdio.h>main(){intx,y;printf("Enterintegerx,y:");scanf("%d,%d",&x,&y);if(x!=y)if(x>y)printf("X>Y\n");elseprintf("X<Y\n");elseprintf("X==Y\n");}运行:Enterintegerx,y:12,23X<YEnterintegerx,y:12,6X>YEnterintegerx,y:12,12X==Y例输入两数并判断其大小关系if~else配对原则:缺省{}时,else总是和它上面离它最近的未配对的if配对例:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);修改:if(a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);实现if~else正确配对方法:加{}实现if~else正确配对方法 5.2switch语句 switch语句是多分支选择语句。if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(90分以为‘A’等,80~89分为‘B’等,70~79分为‘c’等,……);人口统计分类(按年龄分为老、中、青、少、儿童);工资统计分类;银行存款分类;……等。当然这些都可以用嵌套的if语句或多分支来处理,但如果分支较多,则嵌套的if语句层数多,程序冗长而且可读性降低。C语言提供switch语句直接处理多分支选择,它的一般形式如下: switch(表达式) {case常量表达式1:语句1 case常量表达式2:语句2 case常量表达式i:语句n default:语句n+1 }首先计算表达式的值,然后依次与常量表达式i(i=1,2,……,n)比较。若表达式的值与某一个常量表达式,如j(1≤j≤n)相等,则执行语句j。②若表达式的值与所有的常量表达式i(i=1,2,……,n)均不相等,则执行defau1t后面的语句n+1。功能语句中的表达式可以是整型或字符型、枚举型。常量表达式i必须与表达式类型一致(整型与字符型通用)。i仅起语句标号作用,不做求值判断。语句结构中各个case后常量表达式的值必须互不相同;否则执行时将出现矛盾。各个case的出现次序不影响执行结果。例如,可以先出现case‘D’:…,然后是case‘A’:……default一般出现在所有case之后,也可以出现在case之前或两个case之间,default也可以缺省。为了在执行完一个case分支后能跳出switch多分支选择语句,可在case分支结束后,插入一个break语句。若有break语句,就从此break语句跳出break所在的当前结构;若无break语句,执行该语句后,流程控制转移到下一个分支:继续执行这一个分支的语句,一直到最后一个语句执行完。下一页注意switch(i){case1:printf(″A\n″);case3:printf(″C\n″);case4:printf(″D\n″);default:printf(″E\n″);}假设i=3时,则会从i=3时做起始语句。运行结果见右图。如果给每条语句加上break这样就只执行一条语句。CDE下一页看下面的例子运行结果case2:printf(″B\n″);如果多种情况需要共用一个执行语句,可用case的常量表达式多种情况列出,最后一种情况后,才放执行的语句。case后面的语句可以是一条语句,也可以是复合语句,还可以是花括弧括起来的几条语句,还可以是空语句。有多条语句时会顺序执行完所有语句。下一页说明编程:根据输入的学生的成绩判断等级。当成绩score≥90时为A等;成绩70≤score<90为B等;成绩60≤score<70为C等;成绩score<60为D等;(score为整数)。分析:设score为整型数,在score≥90的范围内,score可能取100,99,.....,90,利用两个整数相除,结果自动取整的特性scorescore/10≥9010,970~897,860~69660以下defaultscore和score/10有如下对应关系:下一页例如因此,可以用score/10的值来确定分支#include<stdio.h>main()/*用switch语句评级*/{intscore;scanf("%d",&score);switch(score/10){case10:case9:printf("%d:A\n",score);break;case8:case7:printf("%d:B\n",score);break;case6:printf("%d:C\n",score);break;default:printf("%d:D\n",score);}}程序返回
本文档为【程序的三种基本结构】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
天下飞雪
暂无简介~
格式:ppt
大小:394KB
软件:PowerPoint
页数:0
分类:
上传时间:2019-07-01
浏览量:0