第4章 分支结构程序设计.ppt_第1页
第4章 分支结构程序设计.ppt_第2页
第4章 分支结构程序设计.ppt_第3页
第4章 分支结构程序设计.ppt_第4页
第4章 分支结构程序设计.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3讲分支结构 2 3 15以下程序段要求通过scanf语句给变量赋值 然后输出变量的值 写出运行时给k输入100 给a输入15 81 给x输入1 89234时的三种可能的输入形式 以及输出格式 intk floata doublex scanf d f lf 第4章选择结构 4 1关系运算和逻辑运算 重点 4 2if语句和用if语句构成的选择结构 重点 4 3条件表达式构成的选择结构4 4switch语句以及用switch和break语句构成的选择结构 重点 4 5语句标号和goto语句 4 1关系运算和逻辑运算 4 1 1C语言的逻辑值 关系表达式和逻辑表达式的运算结果是一个逻辑值 逻辑值 真 假 非0 0 4 1关系运算和逻辑运算 4 1 2关系运算符和关系表达式 1 关系运算 是对两个量进行 比较运算 2 关系运算符 高 低 3 结合性 自左向右 左结合 4优先级 关系表达式 例如 a b a 3 b 4 a c c 例如 a 10 b 6 c 15 真 假 假 关系运算的值为 逻辑值 真 假 1 0 1 0 0 注意 若x和y都是浮点数 应避免使用x y这样的表达式 4 1关系运算和逻辑运算 4 1 3逻辑运算符和逻辑表达式 1 逻辑运算符 逻辑与 逻辑或 逻辑非 双目 单目 在运算对象的左边 3 结合性 自左向右 左结合 4 它们的优先级由高到低为 逻辑非 逻辑与 逻辑或 5 优先级 其逻辑运算规则见书中表4 1所示 4 1关系运算和逻辑运算 4 1 3逻辑运算符和逻辑表达式 逻辑表达式 由逻辑运算符组成的表达式 称为逻辑表达式 逻辑运算的运算对象可以是C语言中任意合法的表达式 例如 a b x y a b b 0 a b 若 a 10 b 16 x 5 y 8 思考 5 3 2 8 4 2的结果为 注意 在C语言中 x的值必须要在0和10之间 应如何表示 0 x 10 错误的表示方式 比如 x 20 上面的表达式也满足条件 正确的表示方式为 x 0 x 10 或0 x x 10 4 1关系运算和逻辑运算 4 1 3逻辑运算符和逻辑表达式 6 C语言中 由 或 构成的逻辑表达式 在特定的情况下会产生 短路 现象 例如 a b 若 a 0 b 0 若 a 1 b 1 例如 a b 若 a 1 b 1 若 a 0 b 0 0 1 1 0 a b 1 0 a 2 b 2 a b 2 1 a 1 b 1 4 2if语句和用if语句构成的选择结构 4 2 1if语句 if语言有两种形式 if 表达式 语句 if 表达式 语句1else语句2 a 图 表达式 语句 满足 不满足 例如 if a b t a a b b t 4 2if语句和用if语句构成的选择结构 4 2 1if语句 例4 1输入两个数 分别放入x和y中 若两数不相等 则输出其中的最大数 若两数相等 则输出字符串x y和x的值 程序分析 开始 输入x y 结束 x y x y x y 满足 不满足 满足 满足 不满足 不满足 输出x 输出y 输出x y和x 4 2if语句和用if语句构成的选择结构 4 2 1if语句 例4 1输入两个数 分别放入x和y中 若两数不相等 则输出其中的最大数 若两数相等 则输出字符串x y和x的值 includemain intx y printf Enterx printf x y d d n x y 4 2if语句和用if语句构成的选择结构 4 2 1if语句 例4 2输入三个整数 分别放在变量a b c中 然后把输入数据重新按由小到大的顺序放在变量a b c中 最后输出a b c中的值 程序分析 输入三个整数分别放在变量a b c中 把三个整数由小到大进行排序 a b c 输出a b c 开始 输入a b c 结束 输出a b c 排序 includemain inta b c printf inputa b c scanf d d d a b c 30 20 10 a ba cb c 交换两个变量中的值交换两个变量中的值交换两个变量中的值 30 20 20 10 20 30 if a b t a a b b t if a c t a a c c t if b c t b b c c t includemain inta b c t printf inputa b c scanf d d d inputa b c 302010a 30 b 20 c 1010 20 30 4 2if语句和用if语句构成的选择结构 4 2 1if语句 if 表达式 语句1else语句2 b 图 表达式 语句1 语句2 满足 不满足 例如 if a 0 printf a 0 n elseprintf a 0 n 4 2if语句和用if语句构成的选择结构 4 2 1if语句 例4 3输入两个数 分别赋给x和y 输出其中的大数 程序分析 1 输入两个数分别赋给变量x和y 2 输出其中的最大数 两数进行比较判断 如果x y 则输出x 否则 输出y 开始 输入x y 结束 x y 输出x 输出y 不满足 满足 includemain intx y printf Enterx Enterx y 53x y 53max x 5 end 4 2if语句和用if语句构成的选择结构 4 2 1if语句 例4 4输入一个数 判别它是否能被3整除 若能被3整除 打印YES 不能被3整除 打印NO 程序分析 1 输入一个数赋给一个变量 比如n 2 判断它是否能被3整除 可以 则输出YES 否则 输出NO 开始 输入n 结束 n 3 0 输出YES 输出yNO 不满足 满足 includemain intn printf inputn scanf d 4 2if语句和用if语句构成的选择结构 4 2 1if语句 注意 if后面圆括号中的表达式 可以是任意合法的C语言表达式 如 逻辑表达式 关系表达式 算术表达式 赋值表达式等 也可以是任意类型的数据 如 整型 实型 字符型 指针型等 无论是否有else子句 if子句中如果只有一条语句 则此语句后的分号不能省略 如 if x 0 printf f x elseprintf f y 4 2if语句和用if语句构成的选择结构 4 2 2嵌套的if语句 第一种嵌套形式 if 表达式1 if 表达式2 语句1else语句2else语句3 图1 表达式1 语句3 不满足 表达式2 语句1 语句2 满足 满足 不满足 4 2if语句和用if语句构成的选择结构 4 2 2嵌套的if语句 第二种嵌套形式 if 表达式1 if 表达式2 语句1 else语句2 图2 表达式1 语句2 不满足 满足 表达式2 语句1 满足 不满足 注意 在if子句中的一对花括号不可缺少 if 表达式1 if 表达式2 语句1else语句2 应当注意if与else的配对关系 else总是与它上面的最近的if配对 4 2if语句和用if语句构成的选择结构 4 2 2嵌套的if语句 第三种嵌套形式 if 表达式1 语句1elseif 表达式2 语句2else语句3 表达式1 不满足 满足 语句1 表达式2 语句2 语句3 满足 不满足 图3 if 表达式2 语句2else语句3 4 2if语句和用if语句构成的选择结构 4 2 2嵌套的if语句 第四种嵌套形式 if 表达式1 语句1elseif 表达式2 语句2 表达式1 不满足 满足 语句1 表达式2 语句2 满足 不满足 图4 if 表达式2 语句2 4 2if语句和用if语句构成的选择结构 4 2 2嵌套的if语句 第五种嵌套形式 if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3elseif 表达式4 语句4 else语句n if 表达式2 语句2else语句3 if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3elseif 表达式4 语句4 else语句n 表达式1 语句1 表达式2 表达式3 表达式4 语句2 语句3 语句4 语句n 真 真 真 真 假 假 假 假 4 2if语句和用if语句构成的选择结构 4 2 2嵌套的if语句 例4 5编写程序 根据输入的学生成绩给出相应的等级 大于或等于90分以上的等级为A 60分以下的等级为E 其余每10分为一个等级 程序分析 成绩 g 大于等于90分以上 g 90 A成绩 g 大于等于80分以上 g 80 B成绩 g 大于等于70分以上 g 70 C成绩 g 大于等于60分以上 g 60 D成绩 g 不及格 g 60 E g 90 g 80 g 70 g 60 真 真 真 真 假 假 假 假 输出A 输出B 输出C 输出D 输出E includemain intg printf Enterg scanf d 4 3条件表达式构成的选择结构 1 条件运算符 三目运算符 2 条件表达式 表达式1 表达式2 表达式3 例如 20 30 100 50 100 3 优先级 例如 y x 10 100 200 y x 10 100 200 if x 10 y 100elsey 200 又如 printf abs x d n x 0 1 x x 若x 5 5 若x 5 5 此输出语句完成的是输出x的绝对值 思考 用if语句写出此对应语句的功能 4 4switch语句以及break语句 4 4 1switch语句 switch语句的形式如下 switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 关键字 注意 在关键字case和常量表达式之间一定要有空格 例如 case10 正确 case10 不正确 4 4switch语句以及break语句 4 4 1switch语句 例4 6用switch语句改写例4 5 includemain intg printf Enteramark scanf d includemain intg printf Enterg scanf d break break break break break 最后一个也可以不要 4 5语句标号和goto语句 请看下面的程序例子 includemain inti sum 0 i 1 if i 100 sum sum i i printf d n sum loop gotoloop 标识符 建议同学们限制使用goto语句进行编程 但同学们一定要记住goto语句的一般形式和执行流程 小结 各类运算符的优先级和结合性 初等运算符 单目运算符 算术运算符 关系运算符 逻辑运算符 条件运算符 赋值运算符 逗号运算符 右结合 右结合 小结 分支控制语句 一 条件表达 重点 二 if语句 重点 三 switch语句break语句 习题 4 1下列运算符中优先级最高的的算符是A B C D 程序的输出结果是A0B1C2D3 A A A D C 习题 4 6有以下程序 includemain intw 4 x 3 y 2 z 1 printf d n wmain inta b s scanf d d 若执行以上程序时从键盘上输入3和4 则输出结果是A14B16C18D20 A B 习题 4 8有以下程序段y 1 if x 0 if x 0 y 1 elsey 0 其能正确表示的数学函数关系是 Ay 1 x0 By 1 x0 Cy 0 x0 Dy 1 x0 4 9有以下程序 includemain intk 3 if k 0 printf n elesprintf 程序的输出结果是A输出 B输出 C输出 D有语法错不能通过编译 C D 习题 4 10若a和b均是正整型变量 正确的switch语句是Aswitch pow a 2 pow b 2 case1 case3 y a b break case0 case5 y a b Bswitch a a b b case3 case1 y a b break case0 y a b break Cswitcha default x a b case10 y a b break case11 x a b break Dswitch a b case10 x a b break case11 y a b break A 习题 二 填空题4 11C语言中用 表示逻辑值 真 用 表示逻辑值 假 4 12C语言中的关系运算符 的优先级比 44 17请写出以下程序的输出结果 includemain inta 100 if a 100 printf d n a 100 elseprintf d n a0 B 0 非0 0 低 高 高 a b a c x4 1 x 0 1 习题 4 19当a 1 b 2 c 3时 以下if语句执行后 a b c中的值分别为 if a c b a a c c b 4 20若变量已正确定义 以下语句段的输出结果是 x 0 y 2 z 3 switch x case0 switch y 2 case1 printf break case2 printf break case1 switch z case1 printf case2 printf break default printf 322 麦肯锡 解决问题的7个步骤方法 1 陈述问题 明确要解决的问题 2 分解问题 利用逻辑树对问题进行分解 3 淘

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论