




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习顺序结构编程 练习 键盘输入4个数 求平均值 参考代码 includevoidmain floata b c d av scanf f f f f 第五章选择结构程序设计教学目标与要求 掌握关系运算符和关系表达式和逻辑运算符和逻辑表达式 能够熟练掌握和运用if语句 switch语句 能设计出具有判断能力的程序 重点学会设计程序的算法 单分支 双分支 多分支选择其一例 if x y z x elsez y 例 if x y 5 1关系运算符与关系表达式1 关系运算符假值用0表示 非0都为真 关系运算符与优先级 高 低 结合性 左到右 2 关系表达式赋值运算关系运算算术运算 高 例 c a b等价于c a b a b c等价于a b c 5 2逻辑运算符与逻辑表达式1 逻辑运算符 逻辑与 逻辑或 逻辑非 单目运算 2 优先级逻辑非高算术运算关系运算 和 赋值运算低例 a b x y 等效a b x y 3 逻辑运算符的运算规律 例 条件 3030 例 条件 字符c是小写字母表达为 c a 5 3if语句1 格式 1 格式一 if 表达式 语句1 else语句2 说明 if else语句后语句可是复合语句 要用用 例1 a b两个数 输出较大数 例2 a b两个数 按由小到大次序输出 练习 编程求x绝对值 源程序 voidmain floata b t scanf f f t a a b b t 2 格式二if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n includevoidmain intscore scanf d 例3 学生成绩分等级 90 100 A 80 89 B 70 79 C 60 69 D 0 60 E C5 cjfd c 2 if语句的嵌套if if 语句1else语句2elseif 语句3else语句4说明 多个嵌套的结果 else存在匹配的问题 else总是与最近的尚未匹配的if匹配 如if和else数目不同 可用 确定配对关系 程序1 voidmain floatx y scanf f 程序2 voidmain floatx y scanf f 程序3 voidmain floatx y scanf f 练习 给一个不多于5位的正整数 判断是几位数 xt5 7 c 参考代码 voidmain intnum place printf 请输入一个整数 0 99999 scanf d if num 9999 place 5 elseif num 999 place 4 elseif num 99 place 3 elseif num 9 place 2 elseplace 1 printf place d n place 3 条件运算符if语句中 表达式真假时 都给同一变量赋值 可用条件运算符 格式为 表达式1 表达式2 表达式3例 if a b max a elsemax b 可改为 max a b a b 说明 先求表达式1 如果满足 则计算表达式2 否则 计算表达式3 条件运算优于赋值运算 复习 if语句格式 格式一 if 表达式 语句1 else语句2 格式二 if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n includevoidmain charc c getchar 练习 判断由键盘输入的字符是数字 大写字母 小写字母 空格还是其他字符 if c 0 printf c是字符 n c elseif c a printf c是小写字母 n c elseif c A printf c是大写字母 n c elseif c printf c是空格 n c elseprintf c是其他 n c 5 4多分支语句switch格式 switch 表达式 case常量表达式1 语句1 case常量表达式2 语句2 case常量表达式n 语句n default 语句n 1 switch 表达式 case常量表达式1 语句1 case常量表达式2 语句2 case常量表达式n 语句n default 语句n 1 说明 switch内的表达式任意类型 与常量表达式类型一致 case语句后有break终止 否则将执行下面case语句 switch与if不同 只能测试相等 不能像if作关系比较 如大于 小于之类 例5 输入数字 输出星期几 输入0 输出 星期日 输入1 输出 星期一 输入6 输出 星期六 参考代码 includevoidmain intn scanf d switch n case0 printf 星期日 n break case1 printf 星期一 n break case2 printf 星期二 n break case6 printf 星期六 n break default printf error n 例6 学生成绩分等级 90 100 A 80 89 B 70 79 C 60 69 D 0 60 E 给出一个等级 输出相应分数段 C5 djcj c 参考代码 includevoidmain chargrade grade getchar switch grade case A printf 90 100 n break case B printf 80 89 n break case C printf 70 79 n break case D printf 60 69 n break case E printf 50 59 n break default printf error n 5 5例子选讲例1 学生成绩分等级 根据分数输出相应等级 90 100 A 80 89 B 70 79 C 60 69 D 0 60 E xt5 6 c 分析 处理成绩temp score 10 includevoidmain intscore temp chargrade printf 请输入学生成绩 scanf d switch temp case10 case9 grade A break case8 grade B break case7 grade C break case6 grade D break case5 case4 case3 case2 case1 case0 grade E printf 成绩 d等级 c score grade 例2 求ax2 bx c 0的根 C5 6 c 分析 三种情况 参考代码 include includevoidmain floata b c disc x1 x2 p q scanf f f f else p q printf x1 8 4f 8 4fi n p q printf x2 8 4f 8 4fi n p q b 2 a sqrt disc 2 a 例3 给一个不多于5位的正整数 判断是几位数 并且按逆序输出各位数字 Xt5 7 c includevoidmain intnum intge shi bai qian wan place printf 请输入一个整数 0 99999 scanf d if num 9999 place 5 elseif num 999 place 4 elseif num 99 place 3 elseif num 9 place 2 elseplace 1 printf place d n place wan num 10000 qian num wan 10000 1000 bai num wan 10000 qian 1000 100 shi num wan 10000 qian 1000 bai 100 10 ge num wan 10000 qian 1000 bai 100 shi 10 printf 每位数字为 switch place case5 printf d d d d d n wan qian bai shi ge printf 逆序数字为 printf d d d d d n ge shi bai qian wan break case4 printf d d d d n qian bai shi ge printf 逆序数字为 printf d d d d n ge shi bai qian break case3 printf d d d n bai shi ge printf 逆序数字为 printf d d d n ge shi bai break case2 printf d d n shi ge printf 逆序数字为 printf d d n ge shi break case1 printf d n ge printf 逆序数字为 printf d n ge 例4 判断某一年是否闰年 C5 5 c闰年条件符合下面两者之一 1 能被4整除 但不能被100整除 2 能被100整除 又能被400整除 year 4 0 year 100 0 year 400 0 includevoidmain intyear leap scanf d year 4 0 year 100 0 year 400 0 例5 企业发放的奖金根据利润提成 利润 I 低于或等于10万元时 奖金可提10 利润高10万元 低于20万元时 低于10万元的部分按10 提成 高于10万元的部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论