C语言程序设计第三讲.ppt

上传人:max****ui 文档编号:6333952 上传时间:2020-02-23 格式:PPT 页数:24 大小:358.81KB
返回 下载 相关 举报
C语言程序设计第三讲.ppt_第1页
第1页 / 共24页
C语言程序设计第三讲.ppt_第2页
第2页 / 共24页
C语言程序设计第三讲.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
2020 2 23 C语言程序设计 主讲 杨雪青E mail yangxueqing 华北水利水电学院计算中心 2020 2 23 问题的提出在实际问题中 要求计算机进行逻辑判断 即给出一个条件 让计算机判断是否满足条件 并按照判断的结果来做不同的处理 从键盘输入一个数 如果是正数则打印出来 否则不做任何处理 2 从键盘输入两个数 并按由大到小的顺序输出 3 求方程的根时 根判别式b2 4ac 0 则终止程序执行 否则求解 1 输入a 判断a 02 输入a b 判断a b3 输入a b c 判断b b 4 a c 0 第三讲选择结构程序设计 2020 2 23 1 C语言中 if结构一般形式为 if 表达式 语句1 else语句2 if结构的功能 首先计算表达式的值 如果表达式的值为1 或非0 则执行语句1 若表达式的值为0 则执行语句2 有else语句 if结构的N S流程图 第三讲选择结构程序设计 一 用IF结构实现选择结构 2020 2 23 例 编写程序 求y的值 要求x从键盘输入 输入x 输出y X 0 真 假 X 0 X 0 第三讲选择结构程序设计 一 用IF结构实现选择结构2 程序举例 include stdio h include math h main floatx y printf ninputx scanf f 2020 2 23 1 if语句中的逻辑表达式 即条件 必须要用一对圆括号括起来 2 在if else结构中 语句1与语句2都可以是空语句 3 在使用if语句时 一定要注意逻辑表达式的正确写法 特别是在连续使用多个if语句时更要注意 4 在if结构中 如果在else前面有多个if语句 则else与最近的if配对 第三讲选择结构程序设计 一 用IF结构实现选择结构3 关于if结构的几点说明 2020 2 23 例 从键盘读入一个成绩 如果成绩在85 100之间 则输出 Verygood 如果成绩在70 84之间 则输出 Good 如果成绩在60 69之间 则输出 Pass 如果成绩在60分以下 则输出 Nopass 第三讲选择结构程序设计 一 用IF结构实现选择结构2 程序举例 include stdio h main floatscore printf ninputas scanf f 2020 2 23 思考题输入3个整数a b c 输出其中绝对值最大的数的绝对值 解题算法的N S流程图如右图 输入a b c fabs a max 输出max fabs c max 真 假 fabs b max fabs b max 真 假 fabs c max 第三讲选择结构程序设计 一 用IF结构实现选择结构2 程序举例 2020 2 23 if 表达式1 语句1elseif 表达式2 语句2 elseif 表达式n 语句nelse语句n 1 if 表达式1 语句1elseif 表达式2 语句2 elseif 表达式n 语句nelse语句n 1 第三讲选择结构程序设计 一 用IF结构实现选择结构2 多个if结构嵌套 简写作 2020 2 23 这种结构又称为if elseif结构 其流程图如图所示 第三讲选择结构程序设计 2020 2 23 如果在条件满足的情况下要执行的语句有多条怎么办 例如 编程实现输入两个实数a b 如果a b则交换两个数的值 最后顺序a b输出的值 第三讲选择结构程序设计 一 用IF结构实现选择结构2 程序举例 2020 2 23 二 语句与复合语句在C语言中 一个表达式后面跟随一个分号就构成了一个语句 这种语句称为表达式语句 在C语言中 分号 是表达式语句的终结符 而不是语句之间的分隔符 也就是说 分号是表达式语句的一个组成部分 只不过它位于表达式的后面 在一个函数体内部 由左 右花括号括起来的语句称为复合语句 它的一般形式为 说明部分 语句部分 第三讲选择结构程序设计 2020 2 23 二 语句与复合语句对于复合语句要注意以下几点 1 一个复合语句在语法上等同于一个语句 因此 在程序中 凡是单个语句 如表达式语句 能够出现的地方都可以出现复合语句 并且 复合语句作为一个语句又可以出现在其他复合语句的内部 2 复合语句是以右花括号为结束标志 因此 在复合语句右括号的后面不必加分号 但在复合语句内的最后一个非复合语句是要以分号作为结束的 3 在复合语句的嵌套结构 将函数体也看成是一个复合语句 而且是最外层的复合语句 中 一个复合语句内所进行的说明只适合于本层中该说明语句以后的部分 包括其内层的复合语句 在该复合语句外不起作用 4 在复合语句的嵌套结构中 如果在内层与外层作了相同的说明 则按照局部优先的原则 内层复合语句中的执行结果不带回到外层 第三讲选择结构程序设计 2020 2 23 三 条件运算符 在if else结构中 如果语句1与语句2都是单一的赋值语句 并且都是给同一个变量赋值 则可以用条件运算符来进行处理 1 条件表达式的一般形式 表达式1 表达式2 表达式32 条件表达式的执行过程 当表达式1的值为非零时 取表达式2的值 否则取表达式3的值 例 ifx yz x elsez y 可以写成z x y x y 例 设a 1 b 2 则表达式a b a b 1的值是多少 第三讲选择结构程序设计 2020 2 23 三 条件运算符 例 要求从键盘输入一个字符 如果输入的英文大写字母 则将它转换成小写字母后输出 否则输出原来输入的字符 第三讲选择结构程序设计 include studio h main charc Printf nEnterachar Scanf c c C c A 2020 2 23 三 条件运算符 下面对条件表达式作几点说明 1 条件运算符优先级要比赋值运算符高 2 条件运算符的优先级比关系运算符与算术运算符都要低 因此 条件表达式中的 表达式1 表达式2 与 表达式3 都不必用括号括起来 3 条件运算符的结合方向为 从右到左 例 设a 1 b 2 c 1 d 2则表达式a b a c d c d的值是多少 第三讲选择结构程序设计 2020 2 23 四 switch结构 在C语言中提供了一个直接实现多路分支选择的结构 称为switch结构 其一般形式如下 switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 图3 4switch结构的流程图 第三讲选择结构程序设计 2020 2 23 四 switch结构 switch结构程序举例 从键盘输入1 7之间的整数 输出这个数字所对应的星期几的英文单词 第三讲选择结构程序设计 include stdio h main intnum scanf d 2020 2 23 下面对switch结构作几点说明 1 switch结构中的表达式 常量表达式1 常量表达式n必须是整型或字符型 这是因为 在switch结构中 其分支数一般是有限的 并且是离散的 因此 其表达式的值也应是有限的 且是离散的 2 同一个switch结构中的常量表达式值必须互不相同 否则就会出现矛盾的现象 即对于 表达式 的同一个值对应多种执行方案 这是错误的 3 在switch结构中 case与default的顺序可以任意 各case之间的顺序也可以任意 4 在执行switch结构时 当执行完某case后的语句后 将顺序执行后面case后的语句 直到遇break语句才退出整个switch结构的执行 5 在switch结构中 如果没有default且 表达式 值不等于任何case后常量表达式的值 则直接退出switch结构而转到其后的语句执行 第三讲选择结构程序设计 四 switch结构 2020 2 23 3 6程序举例 例3 12计算奖金 当企业利润P等于或低于0 5万元时 奖金为利润的1 当0 5 P 1万元时 超过0 5万元部分的奖金为利润的1 5 0 5万元以下仍按1 计算 当1 P 2万元时 1万元以下部分仍按前面的方法计算 超过1万元的部分其奖金按利润的2 计算 当2 P 5万元时 2万元以下部分仍按前面的方法计算 超过2万元部分的奖金按利润的2 5 计算 当5 P 10万元时 5万元以下部分仍按前面的方法计算 超过5万元部分的奖金按利润的3 计算 当P 10万元时 10万元以下部分仍按前面的方法计算 超过10万元部分按3 5 计算 其中P由键盘输入 计算并输出相应的奖金数W 2020 2 23 其流程图如图3 5所示 图3 5例3 12中if elseif结构的流程图 2020 2 23 根据图3 5所示的流程图 用if elseif结构写出C程序如下 include stdio h main floatp w printf inputp scanf f p if p 0 0 w 0 0 elseif p 0 5 w 0 01 p elseif p 1 0 w 0 005 0 015 p 0 5 elseif p 2 0 w 0 0125 0 02 p 1 0 elseif p 5 0 w 0 0325 0 025 p 2 0 elseif p 10 0 w 0 1075 0 03 p 5 0 elsew 0 2575 0 035 p 10 0 printf w f n w 2020 2 23 相应的C程序如下 include stdio h include math h main doublea b c d x1 x2 p printf inputa b c scanf lf lf lf 例3 14求解一元二次方程Ax2 Bx C 0 2020 2 23 作业 P813 01 3 02 3 03P823 12 3 14 第三讲选择结构程序设计 THEEND
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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