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

上传人:max****ui 文档编号:6332945 上传时间:2020-02-23 格式:PPT 页数:28 大小:2.35MB
返回 下载 相关 举报
c语言程序设计与项目实践第5章.ppt_第1页
第1页 / 共28页
c语言程序设计与项目实践第5章.ppt_第2页
第2页 / 共28页
c语言程序设计与项目实践第5章.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
第5章分支结构程序设计 本章的学习重点 简单的if语句 if else语句执行规则 嵌套的if else语句 switch语句 break语句 嵌套的switch语句 5 1结构化程序设计思想 1976年 NiklausWirth提出 程序 算法 数据结构结构化程序设计的基本思想是 1 自顶向下2 逐步细化3 模块化设计4 结构化程序编码结构化程序设计框架图 5 2简单的if语句 if语句有三种基本形式 if语句if和else语句嵌套if和else语句设计分支结构应注意如下问题 1 正确选择条件或逻辑表达式作为分支的判断条件 2 根据需求绘制分支流程图 3 按流程图编写程序 5 2 1if语句的定义 if语句的一般形式 if 表达式 语句段if语句的执行流程 如果表达式的值为真 非0 则执行其后的语句段 否则不执行该语句 If语句流程图 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语句判断两者中的较大值 并将较大值输出在屏幕上 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 2ax2 b sqrt delta 2a1 需求分析 需求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 表达式 语句段1else语句段2if else语句的执行规则为 若表达式的值为真 非0 则执行语句段1 否则进入else分支 执行语句段2 5 3 1if else语句的结构 if else语句的表达形式为 if 表达式 语句段1 else 语句段2 if else语句的流程图 5 3 1if else语句的结构 范例5 2CalculateAbstract c数学计算中 绝对值使用 表示 本范例从键盘输入参数a的值 然后利用if else语句实现绝对值的计算 并打印信息显示数据符号是否发生了变化 5 3 2if else语句的应用范例5 3JudgeOddorEven c键盘输入int型参数a的值 判断其是否为偶数 若为偶数 则打印a为偶数信息 若为奇数 则打印为奇数信息 利用模除 对a值是否为偶数进行判断 使用if else分支语句实现不同信息的输出 5 3 2if else语句的应用 5 3 2if else语句的应用范例5 3JudgeOddorEven c键盘输入int型参数a的值 判断其是否为偶数 若为偶数 则打印a为偶数信息 若为奇数 则打印为奇数信息 利用模除 对a值是否为偶数进行判断 使用if else分支语句实现不同信息的输出 范例5 4JudgeLeapYearorNotWithIfElse c键盘输入unsignedint型年份 判断其是否为闰年 若为闰年 则打印为闰年信息 若为平年 则打印为平年信息 闰年的判断方法是 若年数能被400整除 那么该年是闰年 若能被4整除但不能被100整除 该年是闰年 其他年份都是平年 5 3 3if else if语句的结构及应用 当有多个分支选择时 可采用if else if语句 if else if类型结构语句的一般形式为 if 表达式1 语句段1 elseif 表达式2 语句段2 elseif 表达式3 语句段3 elseif 表达式m 语句段m else语句段n If else if语句流程图 5 3 3if else if语句的结构及应用 范例5 5StudentScoreSet c学生成绩分为5个等级 分别为 A 90 score 100 B 80 score 90 C 70 score 80 D 60 score 70 E score 60键盘输入某学生成绩 判断其属于哪个等级 并打印到屏幕上 使用多分支if else if语句实现 范例5 6JudgeCharacterFromKeyboard c使用getchar函数接收键盘输入的一个字符 并判断该字符类型 若输入为字母 则打印字母信息 若为数字 则打印数字信息 若为控制字符 则打印控制字符信息 5 4嵌套if else语句 嵌套if语句指在if分支或else分支中再次执行if或else语句 嵌套if分支语句的流程图如下 5 4 1嵌套if else语句的定义 嵌套if else语句一般表达形式为 if 表达式1 if 表达式2 语句段1 else 语句段2 else if 表达式3 语句段4 else 语句段5 如图所示为单层嵌套if else语句流程图 5 4 2嵌套if else语句的应用 范例5 7CompareTwoVariableValue c键盘输入两个int型变量的值a和b 判断两个变量的大小 若a b 则输出a b 若a b 则输出a b 若a b 则输出a b 实训5 2 求一元二次方程的复数根解 键盘输入一元二次方程ax2 bx c 0的三个参数a b和c 计算 b2 4ac 0时 输出实数根 b2 4ac 0时 输出复数根 并检查输入参数的正确性 使用嵌套if语句实现 首先使用scanf函数输入三个参数a b和c 定义判别式变量delta b2 4ac 定义变量sqrt delta sqrt b2 4ac 当delta大于0时一元二次方程的两个根分别为 x1 b sqrt delta 2a x2 b sqrt delta 2a当delta等于0时 方程有一个实根 x b 2a当delta小于0时 方程有两个共轭复数根 分别为 x1 b 2a sqrt delta 2ai x2 b 2a sqrt delta 2ai 实训5 2 求一元二次方程的复数根解 1 需求分析 需求1 键盘输入参数a b c的值并判断输入参数需求2 判断判别式 确定方程有实根还是复数根需求3 调用开根号数学函数sqrt 计算方程的根需求4 输出结果2 技术应用对于需求1 使用scanf函数输入参数a b c的值 对于需求2 使用if语句判断方程有实根还是复数根 判断方法为 if b2 4ac 0 对于需求3 输出结果时根据实根和复数根的不同 输出不同数据格式 如复数根应输出 m ni和m ni的形式 实训5 2 求一元二次方程的复数根解 一元二次方程求根流程图源代码 CalculateFormulaRoot c 5 5switch语句 switch语句的一般表达形式为 switch 表达式 case常量表达式1 语句段1 case常量表达式2 语句段2 case常量表达式n 语句段n default 语句段n 1 5 5 1switch语句的定义 switch语句的运行规则为 计算表达式的值 顺次与其后的常量表达式值相比较 当表达式的值与某个常量表达式的值相等时 即执行其后的语句段 语句段执行完毕后 不再进行判断 继续执行后面所有case后的语句 switch语句流程图 5 5 1switch语句的定义 范例5 8SwitchSentenceCase c键盘输入整型的星期数 打印出英文的星期名字字符串 根据键盘输入的星期数 打印出该星期数的英文名使用switch语句实现 输入函数使用scanf函数 星期一记为1 星期天记为7 例如 输入2 应打印Tuesday 5 5 2break语句 为避免程序在switch语句中持续执行case语句 可以使用break语句 switch语句中添加break语句的流程图 5 5 3switch语句的执行与应用 范例5 9SwitchSentenceWithBreak c键盘输入学生成绩 分段显示不同成绩段的优劣 90 score 100为excellence80 score 90为allright70 score 80为midding60 score 70为passscore 60为bad 实训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 6嵌套switch语句 嵌套的switch语句是指在一个switch语句中某个case下会再嵌入一个或多个switch语句嵌套switch语句的一般表达形式 switch 表达式1 case常量表达式1 switch 表达式2 case常量表达式11 语句段11case常量表达式12 语句段12 case常量表达式1m 语句段1mdefault 语句段1m 1 case常量表达式2 语句段2 case常量表达式n 语句段n default 语句段n 1 5 6 2嵌套switch语句的执行与应用 范例5 10SwitchAarlineSearch c查询一周七天的航班情况 例如 要查周五上午的航班 则输入5和m morning 就输出星期五上午的航班时间表 星期可使用整型数字 可输入m 代表上午 a 代表下午 和e 代表晚上 来查看不同时间段的航班信息
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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