C语言-条件判断、选择结构程序设计

上传人:fe****16 文档编号:120917976 上传时间:2020-02-12 格式:PPT 页数:67 大小:422KB
返回 下载 相关 举报
C语言-条件判断、选择结构程序设计_第1页
第1页 / 共67页
C语言-条件判断、选择结构程序设计_第2页
第2页 / 共67页
C语言-条件判断、选择结构程序设计_第3页
第3页 / 共67页
C语言-条件判断、选择结构程序设计_第4页
第4页 / 共67页
C语言-条件判断、选择结构程序设计_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《C语言-条件判断、选择结构程序设计》由会员分享,可在线阅读,更多相关《C语言-条件判断、选择结构程序设计(67页珍藏版)》请在金锄头文库上搜索。

1、C语言 条件判断 选择结构程序设计 1 本次课程所讲内容 l条件判断 l关系运算符与关系表达式 l逻辑运算符与逻辑表达式 l选择结构程序设计 lif语句 l条件运算符与条件表达式 lswitch case语句 2 本次课程所讲内容 l条件判断 l关系运算符与关系表达式 l逻辑运算符与逻辑表达式 l选择结构程序设计 lif语句 l条件运算符与条件表达式 lswitch case语句 3 条件判断 l如果明天天气好 我们就去踏青 l票卖完了的话 我们就看不成球赛了 l如果能早点下课 我们就可以抢到饭了 l如果a b 输出a 如果ab lac l a v 6 关系运算符及其优先次序 关系运算符名 称

2、示 例优先次序 小于a b 小于或等于 a大于a b 大于或等于 a b 等于a b 不等于a b 优先级 相同 高 优先级 相同 低 7 关系 算术和赋值运算符的优先级关系 l例如 lc a b la b c la bc lx a bb c l a 3 b 5 l a b b c l2 a b c d 9 关系表达式的结果 l在C语言中 关系表达式的结果为1或0 l关系表达式成立时 结果为1 表示 真 l关系表达式不成立时 结果为0 表示 假 l例如 l3b c a b c b cb le a b c lf a b cb cb和x y需要同时满足 la b和x y至少有一个条件要满足 l70

3、岁以上的老人和10人岁以下的儿童 入园免票 13 逻辑运算符 逻辑运算符名 称示 例 a 逻辑表达式的结果为0 真假 逻辑表达式的结果为0 真 逻辑表达式举例 1 la 4 b 5 l a la 表达式 语句 0 假 非0 真 关系表达式 一个语句 可以有多个 语句 28 if 结构举例 l输入两个实数 按代数值由小到大 的顺序输出这两个数 l分析问题 l假设两个数是a b l比较两个数的大小 l如果a b a和b的值互换 之后输出a 和b的值 l如果a b 直接输出a和b的值 29 include void main double a b t printf Please enter a an

4、d b scanf lf lf if a b t a a b b t printf 7 2f 7 2f n a b if 结构 程序举例 c6 1 c 将两个实 数按照由 小到大的 顺序输出 程序运行结果 Please enter a and b 3 6 3 2 3 20 3 60 多个语 句 需 要由花 括号 括起来 30 if else 结构 l格式 if 表达式 语句1 else 语句2 l例如 if x y printf d x else printf d y 表达式 语句1语句2 非0 真 0 假 else不能单独使用 如果 使用 必须与 if 配对 31 if else结构举例 l

5、输入矩形的两个边长 求矩形的面积 为了防止误输入 如果输入的边长小于 或者等于0 要输出告错信息 l分析问题 l要定义三个变量 边长1 边长2 面积 l如果边长1和边长2大于0 计算矩形的面积 并且输出面积的值 l否则 给出告错信息 include void main double a b area printf 请输入矩形边长a和b scanf lf lf if a 0 printf 面积 f n area else printf 边长必须大于0 n if else结构 程序举例 c6 2 c 求矩形的 面积 逻辑表达 式 33 include void main double a b ar

6、ea printf 请输入矩形边长a和b scanf lf lf if a 0 printf 面积 f n area if a 0 b 0 printf 边长必须大于0 n if else结构 程序举例 c6 3 c 求矩形的 面积 用两个if语句代 替if else语句 不好 34 if else结构举例 l编写一段程序 完成以下任务 l如右图所示 输 入一个实数x 如 果2 0 x 6 0 则整数y 1 否则 y 0 x 1 2 06 0 y 35 include void main float x int y printf Please input x scanf f if 2 0 x

7、6 0 y 1 printf y d n y else y 0 printf y d n y 完成上页ppt 中的任务 错误 无论x取什么 样的值 y的 值总是1 if else结构 程序举例 c6 4 c 36 include void main float x int y printf Please input x scanf f if x 2 0printf y d n y else y 0 printf y d n y 正确 if else结构 程序举例 c6 5 c 37 if else if 结构 l格式 if 表达式1 语句1 else if 表达式2 语句2 else if 表

8、达式n 1 语句n 1 else 语句n 38 if else if 结构 表达式1 真 非0 语句1 假 0 表达式2 真 非0 语句2 假 0 表达式3 真 非0 语句3 假 0 表达式4 真 非0 语句4 假 0 语句5 39 if else if 结构举例 l编写一段程序 完成以下任务 l如下图所示 输入一个实数x l如果x 2 0 则实数y 1 0 l如果 2 0 x 2 0 则y 0 5x l否则 y 1 0 x y 1 0 1 0 2 0 2 0 40 include void main double x y printf Please input x scanf lf if x

9、 2 0 y 1 0 else if x 2 0 y 0 5 x else y 1 0 printf y 1f n y if else if 结 构程序举例 c6 6 c 41 if else if 结构举例 l编写一段程序 完成以下任务 cost 0 number 50 0 05 50 number 100 0 075 100 number 300 0 10 300 number500 42 include void main double number cost printf Please input number scanf lf if number 500 cost 0 15 else

10、 if number 300 cost 0 10 else if number 100 cost 0 075 else if number 50 cost 0 05 else cost 0 printf cost 3f n cost if else if 结 构程序举例 c6 7 c 43 l在if语句中 若括号内的表达式的值 为0 按 假 处理 若表达式的值为 非0 按 真 处理 所以 括号内可 以是关系表达式 逻辑表达式或者 单个的量或者算数表达式 lif a b lif a b lif a printf d a if语句的嵌套 1 if 表达式 else 语句3 if 表达式 语句1 e

11、lse if 表达式 else 语句1 语句2 语句1 语句2 if 表达式2 语句1 else 语句2 if 表达式2 语句2 else 语句3 if 表达式1 语句1 else 语句2 if 表达式2 语句3 else 语句4 45 if语句的嵌套 2 lelse总是与它上面最近的未配对 的 if 配对 if if 语句1 else if 语句2 else 语句3 if if 语句1 else if 语句2 else 语句3 46 if语句的嵌套 3 l最好使外层if和内嵌 if都包含else部分 这样if和else的数量 相同 一一对应 不易出错 l如果if与else的数目 不同 可以加

12、花括 号来确定配对关系 if if 语句1 else 语句2 else if 语句2 else 语句3 if if 语句1 else 语句2 47 if语句的嵌套举例 l编写一段程序 输入一个实数x 按照如下的公式输出整数y的值 y 1 x0 1 1 0 48 include void main double x int y printf enter x scanf lf if x 0 y 1 else if x 0 y 0 else y 1 printf x f y d n x y if语句的嵌套 程序举例 c6 8 c y 1 x0 正确 49 include void main doub

13、le x int y printf enter x scanf lf if x 0 if x 0 y 1 else y 0 else y 1 printf x f y d n x y if语句的嵌套 程序举例 c6 9 c y 1 x0 正确 50 include void main double x int y printf enter x scanf lf y 1 if x 0 if x 0 y 1 else y 0 printf x f y d n x y if语句的嵌套 程序举例 c6 10 c y 1 x0 不正确 51 include void main double x int

14、y printf enter x scanf lf y 0 if x 0 if x 0 y 1 else y 1 printf x f y d n x y if语句的嵌套 程序举例 c6 11 c y 1 x0 不正确 52 本次课程所讲内容 l条件判断 l关系运算符与关系表达式 l逻辑运算符与逻辑表达式 l选择结构程序设计 lif语句 l条件运算符与条件表达式 lswitch case语句 53 条件运算符和条件表达式 1 l条件运算符 l条件表达式 表达式1 表达式2 表达式3 表达式1 表达式2 的值 表达式3 的值 54 条件运算符和条件表达式 2 max a b a b if a b

15、 max a else max b 55 条件运算符和条件表达式 3 l条件运算符优先级高于赋值运算符 但低于算术运算符 关系运算符 逻辑运算符 a b a b a b a b 1 b a 0 a a printf enter a and b scanf d d a b a 100 b 100 printf a d b d n a b temp8 c include void main int a b printf enter a and b scanf d d a b printf max is a d n a printf max is b d n b if a b printf max

16、is a d n a else printf max is b d n b temp9 c 59 本次课程所讲内容 l条件判断 l关系运算符与关系表达式 l逻辑运算符与逻辑表达式 l选择结构程序设计 lif语句 l条件运算符与条件表达式 lswitch case语句 60 switch case语句 l格式 switch 表达式 不能为实型 不能为变量 case 常量表达式1 语句1 break case 常量表达式2 语句2 break case 常量表达式n 语句n break default 语句n 1 break 61 switch语句 lswitch后面括号内的 表达式 可以是 任何类型的表达式 值为离散型 l当表达式的值与某一个case后面的常 量表达式的值相等时 就执行此case 后面的语句 如果都不匹配 就执行 default后面的语句 l各个case后面的常量表达式的值必须 互不相同 l各个case和default的出现次序不影响 执行结果 include void main char grade printf enter grade scanf c switch g

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号