c语言程序设计与项目实践第5章课件

上传人:vc****3p 文档编号:252306324 上传时间:2024-11-14 格式:PPTX 页数:27 大小:2.32MB
返回 下载 相关 举报
c语言程序设计与项目实践第5章课件_第1页
第1页 / 共27页
c语言程序设计与项目实践第5章课件_第2页
第2页 / 共27页
c语言程序设计与项目实践第5章课件_第3页
第3页 / 共27页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,5.1,结构化程序设计思想,1976,年,,Niklaus Wirth,提出:,程序,=,算法,+,数据结构,结构化程序设计的基本思想是:,1,自顶向下,2,逐步细化,3,模块化设计,4,结构化程序编码,结构化程序设计框架图,5.1 结构化程序设计思想 1976年,Niklaus W,1,5.2,简单的,if,语句,if,语句有三种基本形式:,if,语句,if,和,else,语句,嵌套,if,和,else,语句,设计分支结构应注意如下问题:,1,正确选择条件或逻辑表达式作为分支的判断条件。,2,根据需求绘制分支流程图。,3,按流程图编写程序。,5.2 简单的if语句 if语句有三种基本形式:,2,5.2.1 if,语句的定义,if,语句的一般形式:,if(,表达式,),语句段,if,语句的执行流程:如果表达式的值为真(非,0,),则执行其后的语句段,否则不执行该语句。,If,语句流程图:,5.2.1 if语句的定义 if 语句的一般形式:,3,5.2.1 if,语句的定义,if,语句中的表达式可以是任何能转化为数值的表达式,例如:,if(100),if(a=b),if(a&b|c),if(sizeof(int),if(ab)?(a+b):(a-b),范例,5.1 GetMaxVariableInTwo.c,利用,if,语句的分支功能,可以区分两个或多个数值的大小。本范例由键盘输入两个变量的值,使用,if,语句判断两者中的较大值,并将较大值输出在屏幕上。,5.2.1 if语句的定义 if语句中的表达式可以是任何能,4,5.2.2,合理设计,if,语句,1,逻辑运算符的编写风格,逻辑运算表达式编写应尽量避免产生歧义,避免出现逻辑错误,例如,为避免逻辑表达式书写错误,通常将常量放在逻辑运算符左边:,if(a=0),a=-a;,应写成:,if(0=a),a=-a;,2,语句段封装,不论语句段由一条语句还是多条语句构成,都使用大括号封装。,5.2.2 合理设计if语句 1逻辑运算符的编写风格,5,实训,5.1,求一元二次方程的实根解,键盘输入一元二次方程,ax2+bx+c=0,的三个参数,a,,,b,和,c,,计算当判别式,b2-4ac=0,时的根,程序使用,if,语句判断是否满足判别式条件,结果精确到小数点后,3,位。判别式可计算为:,sqrt_delta=sqrt(b2-4ac),当,sqrt_delta,大于或等于,0,时方程有实根。因此,一元二次方程的两个根分别为:,x1=(-b+sqrt_delta)/2a,x2=(-b-sqrt_delta)/2a,1,需求分析:,需求,1,:键盘输入参数,a,b,c,的值,需求,2,:判断判别式,确定方程是否有实根,需求,3,:调用开根号数学函数,sqrt,,计算方程的根,需求,4,:输出结果,精度为小数点后,3,位,实训5.1求一元二次方程的实根解 键盘输入一元二次方程a,6,实训,5.1,求一元二次方程的实根解,2,技术应用,对于需求,1,,使用,scanf,函数输入参数,a,b,c,的值。,对于需求,2,,使用,if,语句判断方程是否有实根,判断方法为:,if(b2-4ac=0),。,对于需求,3,,由于要求精确到小数点后,3,位,采用数据类型,float,型。,根据上述分析画出程序流程图:,源文件:,CalculateFormulaRealRoot.c,实训5.1求一元二次方程的实根解 2技术应用,7,5.3,多分支,if,语句,多分支,if,语句又称为,“,if-else,语句,”,,是由关键字,if,和,else,构成的多分支结构语句。,if-else,语句的一般形式为:,if(,表达式,),语句段,1,else,语句段,2,if-else,语句的执行规则为:若表达式的值为真(非,0,),则执行语句段,1,,否则进入,else,分支,执行语句段,2,。,5.3 多分支if语句 多分支if语句又称为“if-els,8,5.3.1 if-else,语句的结构,if-else,语句的表达形式为:,if(,表达式,),语句段,1,else,语句段,2,if-else,语句的流程图:,5.3.1 if-else语句的结构 if-else语句的,9,5.3.1 if-else,语句的结构,范例,5.2 CalculateAbstract.c,数学计算中,绝对值使用,|,表示,本范例从键盘输入参数,a,的值,然后利用,if-else,语句实现绝对值的计算,并打印信息显示数据符号是否发生了变化,。,5.3.2 if-else,语句的应用,范例,5.3 JudgeOddorEven.c,键盘输入,int,型参数,a,的值,判断其是否为偶数,若为偶数,则打印,a,为偶数信息,若为奇数,则打印为奇数信息。利用模除(,%,)对,a,值是否为偶数进行判断,使用,if-else,分支语句实现不同信息的输出。,5.3.1 if-else语句的结构 范例5.2,10,5.3.2 if-else,语句的应用,5.3.2 if-else,语句的应用,范例,5.3 JudgeOddorEven.c,键盘输入,int,型参数,a,的值,判断其是否为偶数,若为偶数,则打印,a,为偶数信息,若为奇数,则打印为奇数信息。利用模除(,%,)对,a,值是否为偶数进行判断,使用,if-else,分支语句实现不同信息的输出。,范例,5.4 JudgeLeapYearorNotWithIfElse.c,键盘输入,unsigned int,型年份,判断其是否为闰年,若为闰年,则打印为闰年信息,若为平年,则打印为平年信息。闰年的判断方法是:若年数能被,400,整除,那么该年是闰年,若能被,4,整除但不能被,100,整除,该年是闰年,其他年份都是平年。,5.3.2 if-else语句的应用 5.3.2 if-,11,5.3.3 if-else-if,语句的结构及应用,当有多个分支选择时,可采用,if-else-if,语句,,if-else-if,类型结构语句的一般形式为:,if(,表达式,1),语句段,1,;,else if(,表达式,2),语句段,2,;,else if(,表达式,3),语句段,3,;,else if(,表达式,m),语句段,m,;,else,语句段,n,;,If-else-if,语句流程图:,5.3.3 if-else-if语句的结构及应用 当有多个,12,5.3.3 if-else-if,语句的结构及应用,范例,5.5 StudentScoreSet.c,学生成绩分为,5,个等级,分别为:,A:90=score=100,,,B:80=score90,,,C:70=score80,,,D:60=score70,,,E:scoreb,,则输出,ab,,,若,ab,,则输出,a=0,时,输出实数根,,b2-4ac=0),。,对于需求,3,,输出结果时根据实根和复数根的不同,输出不同数据格式,如复数根应输出:,m+ni,和,m=ni,的形式。,实训5.2求一元二次方程的复数根解 1需求分析:,18,实训,5.2,求一元二次方程的复数根解,一元二次方程求根流程图,源代码:,CalculateFormulaRoot.c,实训5.2求一元二次方程的复数根解 一元二次方程求根流程,19,5.5 switch,语句,switch,语句的一般表达形式为:,switch(,表达式,),case,常量表达式,1:,语句段,1;,case,常量表达式,2:,语句段,2;,case,常量表达式,n:,语句段,n;,default:,语句段,n+1;,5.5 switch语句 switch语句的一般表达形式为,20,5.5.1 switch,语句的定义,switch,语句的运行规则为:,计算表达式的值,顺次与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句段,语句段执行完毕后,不再进行判断,继续执行后面所有,case,后的语句。,switch,语句流程图:,5.5.1 switch语句的定义 switch语句的运行,21,5.5.1 switch,语句的定义,范例,5.8 SwitchSentenceCase.c,键盘输入整型的星期数,打印出英文的星期名字字符串,根据键盘输入的星期数,打印出该星期数的英文名使用,switch,语句实现,输入函数使用,scanf,函数,星期一记为,1,,星期天记为,7,。例如,输入,2,,应打印,Tuesday,。,5.5.1 switch语句的定义 范例5.8 Sw,22,5.5.2 break,语句,为避免程序在,switch,语句中持续执行,case,语句,可以使用,break,语句,,switch,语句中添加,break,语句的流程图:,5.5.2 break语句 为避免程序在switch语句中,23,5.5.3 switch,语句的执行与应用,范例,5.9 SwitchSentenceWithBreak.c,键盘输入学生成绩,分段显示不同成绩段的优劣:,90=score=100,为,excellence,80=score90,为,all right,70=score80,为,midding,60=score70,为,pass,score60,为,bad,5.5.3 switch语句的执行与应用 范例5.9,24,实训,5.3,使用,switch,语句实现四则运算,键盘输入四则运算式,通过,switch,语句分支执行,+,-,*,/,的四则运算,结果精确到小数点后,3,位。,例如,输入,4.5-6,,将输出结果:,4.5-6=-1.5,。程序只能实现简单的四则运算,不能实现复合四则运算,输入参数采用,float,型,使用,switch,语句做四则运算的分支程序。,1,需求分析:,需求,1,:键盘输入四则运算式需求,2,:,switch,语句作分支判断四则运算,需求,3,:输出结果,精度为小数点后,3,位,2,技术应用,对于需求,1,,使用,scanf,函数输入四则运算表达式。,对于需求,2,,使用,switch,语句对各四则运算作分支处理。,对于需求,3,,采用,float,型输出精确到小数点后,3,位结果。,源代码:,CalculateFormulaProcess.c,实训5.3使用switch语句实现四则运算 键盘输入四则,25,5.6,嵌套,switch,语句,嵌套的,switch,语句是指在一个,switch,语句中某个,case,下会再嵌入一个或多个,switch,语句,嵌套,switch,语句的一般表达形式:,switch(,表达式,1),case,常量表达式,1:,switch(,表达式,2),case,常量表达式,11:,语句段,11,case,常量表达式,12:,语句段,12,case,常量表达式,1m:,语句段,1m,default:,语句段,1m+1,case,常量表达式,2:,语句段,2;,case,常量表达式,n:,语句段,n;,default:,语句段,n+1;,5.6 嵌套switch语句 嵌套的switch语句是指在,26,5.6.2,嵌套,switch,语句的执行与应用,范例,5.10 SwitchAarlineSearch.c,查询一周七天的航班情况。例如,要查周五上午的航班,则输入,5,和,m(morning),,就输出星期五上午的航班时间表。星期可使用整型数字,可输入,m(,代表上午,),、,a(,代表下午,),和,e(,代表晚上,),来查看不同时间段的航班信息。,5.6.2 嵌套switch语句的执行与应用 范例5.10,27,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!