c语言程序设计与项目实践第5章.pptx
文档编号:968140
文档页数:27
上传时间: 2020-03-20
文档级别:普通资源
文档类型:pptx
文档大小:2.39MB
5 1结构化程序设计思想 1976年 NiklausWirth提出 程序 算法 数据结构结构化程序设计的基本思想是 1 自顶向下2 逐步细化3 模块化设计4 结构化程序编码结构化程序设计框架图 1 5 2简单的if语句 if语句有三种基本形式 if语句if和else语句嵌套if和else语句设计分支结构应注意如下问题 1 正确选择条件或逻辑表达式作为分支的判断条件 2 根据需求绘制分支流程图 3 按流程图编写程序 2 5 2 1if语句的定义 if语句的一般形式 if 表达式 语句段if语句的执行流程 如果表达式的值为真 非0 则执行其后的语句段 否则不执行该语句 If语句流程图 3 5 2 1if语句的定义 if语句中的表达式可以是任何能转化为数值的表达式 例如 if 100 if a b if a b c if sizeof int if a b a b a b 范例5 1GetMaxVariableInTwo c利用if语句的分支功能 可以区分两个或多个数值的大小 本范例由键盘输入两个变量的值 使用if语句判断两者中的较大值 并将较大值输出在屏幕上 4 5 2 2合理设计if语句 1 逻辑运算符的编写风格逻辑运算表达式编写应尽量避免产生歧义 避免出现逻辑错误 例如 为避免逻辑表达式书写错误 通常将常量放在逻辑运算符左边 if a 0 a a 应写成 if 0 a a a 2 语句段封装不论语句段由一条语句还是多条语句构成 都使用大括号封装 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 2ax2 b sqrt delta 2a1 需求分析 需求1 键盘输入参数a b c的值需求2 判断判别式 确定方程是否有实根需求3 调用开根号数学函数sqrt 计算方程的根需求4 输出结果 精度为小数点后3位 6 实训5 1 求一元二次方程的实根解 2 技术应用对于需求1 使用scanf函数输入参数a b c的值 对于需求2 使用if语句判断方程是否有实根 判断方法为 if b2 4ac 0 对于需求3 由于要求精确到小数点后3位 采用数据类型float型 根据上述分析画出程序流程图 源文件 CalculateulaRealRoot c 7 5 3多分支if语句 多分支if语句又称为 if else语句 是由关键字if和else构成的多分支结构语句 if else语句的一般形式为 if 表达式 语句段1else语句段2if else语句的执行规则为 若表达式的值为真 非0 则执行语句段1 否则进入else分支 执行语句段2 8 5 3 1if else语句的结构 if else语句的表达形式为 if 表达式 语句段1 else 语句段2 if else语句的流程图 9 5 3 1if else语句的结构 范例5 2CalculateAbstract c数学计算中 绝对值使用 表示 本范例从键盘输入参数a的值 然后利用if else语句实现绝对值的计算 并打印信息显示数据符号是否发生了变化 5 3 2if else语句的应用范例5 3JudgeOddorEven c键盘输入int型参数a的值 判断其是否为偶数 若为偶数 则打印a为偶数信息 若为奇数 则打印为奇数信息 利用模除 对a值是否为偶数进行判断 使用if else分支语句实现不同信息的输出 10 5 3 2if else语句的应用 5 3 2if else语句的应用范例5 3JudgeOddorEven c键盘输入int型参数a的值 判断其是否为偶数 若为偶数 则打印a为偶数信息 若为奇数 则打印为奇数信息 利用模除 对a值是否为偶数进行判断 使用if else分支语句实现不同信息的输出 范例5 4JudgeLeapYearorNotWithIfElse c键盘输入unsignedint型年份 判断其是否为闰年 若为闰年 则打印为闰年信息 若为平年 则打印为平年信息 闰年的判断方法是 若年数能被400整除 那么该年是闰年 若能被4整除但不能被100整除 该年是闰年 其他年份都是平年 11 5 3 3if else if语句的结构及应用 当有多个分支选择时 可采用if else if语句 if else if类型结构语句的一般形式为 if 表达式1 语句段1 elseif 表达式2 语句段2 elseif 表达式3 语句段3 elseif 表达式m 语