c语言程序设计实践5,c语言程序设计项目实践第5章.ppt

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

第5章 分支结构程序设计 本章的学习重点 ◆简单的if语句 ◆if-else语句执行规则 ◆嵌套的if-else语句 ◆switch语句 ◆break语句 ◆嵌套的switch语句 5.1 结构化程序设计思想 1976年,Niklaus Wirth 提出: 程序 = 算法 + 数据结构 结构化程序设计的基本思想是: 1.自顶向下 2.逐步细化 3.模块化设计 4.结构化程序编码 结构化程序设计框架图? 5.2 简单的if语句 if语句有三种基本形式: if语句 if和else语句 嵌套if和else语句 设计分支结构应注意如下问题: 1.正确选择条件或逻辑表达式作为分支的判断条件。 2.根据需求绘制分支流程图。 3.按流程图编写程序。 5.2.1 if语句的定义 if 语句的一般形式: if(表达式) 语句段 if语句的执行流程:如果表达式的值为真(非0),则执行其后的语句段,否则不执行该语句。 If语句流程图: 5.2.1 if语句的定义 if语句中的表达式可以是任何能转化为数值的表达式,例如: if(100) if(a==b) if(a&&b||c) if(sizeof(int)) if((a>b)?(a+b):(a-b)) 5.2.2 合理设计if语句 1.逻辑运算符的编写风格 逻辑运算表达式编写应尽量避免产生歧义,避免出现逻辑错误,例如,为避免逻辑表达式书写错误,通常将常量放在逻辑运算符左边: if(a==0) a=-a; 应写成: if(0==a) a=-a; 2.语句段封装 不论语句段由一条语句还是多条语句构成,都使用大括号封装。 实训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——求一元二次方程的实根解 2.技术应用 对于需求1,使用scanf函数输入参数a, b, c的值。 对于需求2,使用if语句判断方程是否有实根,判断方法为:if(b2-4ac>=0)。 对于需求3,由于要求精确到小数点后3位,采用数据类型float型。 根据上述分析画出程序流程图: 源文件:CalculateFormulaRealRoot.c 5.3 多分支if语句 多分支if语句又称为“if-else语句”,是由关键字if和else构成的多分支结构语句。 if-else语句的一般形式为: if(表达式) 语句段1 else 语句段2 if-else语句的执行规则为:若表达式的值为真(非0),则执行语句段1,否则进入else分支,执行语句段2。 5.3.1 if-else语句的结构 if-else语句的表达形式为: if(表达式) { 语句段1 } else { 语句段2 } if-else语句的流程图: 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.2 if-else语句的应用 5.3.2 if-else语句的应用 范例5.3 JudgeOddorEven.c 键盘输入int型参数a的值,判断其是否为偶数,若为偶数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值