《精编》关于网络选择结构程序设计

上传人:tang****xu1 文档编号:133904934 上传时间:2020-05-31 格式:PPT 页数:32 大小:174KB
返回 下载 相关 举报
《精编》关于网络选择结构程序设计_第1页
第1页 / 共32页
《精编》关于网络选择结构程序设计_第2页
第2页 / 共32页
《精编》关于网络选择结构程序设计_第3页
第3页 / 共32页
《精编》关于网络选择结构程序设计_第4页
第4页 / 共32页
《精编》关于网络选择结构程序设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《《精编》关于网络选择结构程序设计》由会员分享,可在线阅读,更多相关《《精编》关于网络选择结构程序设计(32页珍藏版)》请在金锄头文库上搜索。

1、31 05 2020 重庆理工大学计算机学院基础教研室 1 4 第四章 选择结构程序设计 31 05 2020 重庆理工大学计算机学院基础教研室 2 第四章选择结构程序设计 4 1语句的分类C语言将语句 statement 分成以下几类 控制语句函数调用语句空语句表达式语句复合语句 31 05 2020 重庆理工大学计算机学院基础教研室 3 if else 条件语句 switch 多分支选择语句 for 循环语句 while 循环语句 do while 循环语句 1 控制语句 31 05 2020 重庆理工大学计算机学院基础教研室 4 1 控制语句 continue 结束本次循环语句 brea

2、k 中止执行switch或循环语句 goto 转向语句 return 从函数返回语句 31 05 2020 重庆理工大学计算机学院基础教研室 5 2 函数调用语句函数调用语句由一个函数调用加上一个分号 构成 例如 printf Hello 3 空语句只有一个分号 的语句 空语句不执行任何操作 例如 31 05 2020 重庆理工大学计算机学院基础教研室 6 4 表达式语句由C语言的任意合法表达式加上一个分号 构成 例如 函数调用属于表达式的一种 而空语句则是没有任何表达式的语句 i 使变量的值加1 x y 完成x y操作 但不将其结果赋给某一变量 所以该语句无实际意义 空语句 printf H

3、ello 函数调用语句 31 05 2020 重庆理工大学计算机学院基础教研室 7 5 复合语句包含在由左花括号 开始 右花括号 结束的一组语句 在逻辑上构成一个整体 称为复合语句 例如 x k t y x 5 printf yis d y 任何可以放置语句的地方 都可以放置复合语句 31 05 2020 重庆理工大学计算机学院基础教研室 8 4 2关系运算符 逻辑运算符 条件运算符 本章将着重讨论利用选择控制实现选择结构程序设计 选择控制是指根据指定的条件是否满足 选择下一步要执行的语句 满足为真 不满足为假 对于条件的描述 最为常见的就是关系表达式 其一般形式 4 2 1关系运算符和关系表

4、达式 操作数关系运算符操作数 每个操作数可以是变量 常量或者是任意有效的C语言表达式 31 05 2020 重庆理工大学计算机学院基础教研室 9 大于a b大于等于a b小于a b小于等于a b等于a b不等于a b 6种关系运算符 关系表达式只能产生两个数值之一 0或1 一个判定为真的关系表达式的值为1 一个判定为假的关系表达式的值为0 C语言中 逻辑值真为1 逻辑值假为0 31 05 2020 重庆理工大学计算机学院基础教研室 10 关系运算符的优先级低于算术运算符的优先级 但高于赋值运算符的优先级 其结合性是左结合性 例如 a 20 b 70 c 50 d 90 有下列表达式 ad相当于

5、 ad ad为假 整个表达式的值为0k a b c d相当于k a b c d 即k 90 140 即k 1 为变量k赋值1 整个表达式的值为1 31 05 2020 重庆理工大学计算机学院基础教研室 11 字符数据同样可以用关系运算符比较 比较的依据是其所用代码的数值 例如比较ASCII码的字符 表达式 a A 的值为0表达式 A C 的值为0表达式 C a 的值为1 31 05 2020 重庆理工大学计算机学院基础教研室 12 逻辑运算符将其操作数视为逻辑值 即 真 或 假 而C语言对于操作数真假的判定采取了如下原则 4 2 2逻辑运算符和逻辑表达式 三种逻辑运算符 逻辑非 a逻辑与a b

6、逻辑或a b C语言中 任意非零值为逻辑值真 零为逻辑值假 31 05 2020 重庆理工大学计算机学院基础教研室 13 逻辑表达式 510 810 8 10 的值为1 逻辑表达式 5 10 10 的值为1逻辑表达式 a 的值为0 例如 31 05 2020 重庆理工大学计算机学院基础教研室 14 条件运算符 是C语言中惟一的一个三目运算符 其表达式的一般形式 4 2 2条件运算符和条件表达式 操作数1 操作数2 操作数3 条件表达式的执行过程为 先求解操作数1的逻辑值 如果为非零值 真 再求解操作数2 并将操作数2的值作为该条件表达式的值 如果为零值 假 则求解操作数3 并将操作数3的值作为

7、该条件表达式的值 31 05 2020 重庆理工大学计算机学院基础教研室 15 条件运算符的优先级高于赋值运算符 但低于算术运算符 关系运算符及逻辑运算符 我们来看一个例子 y x 60 P F 如果x大于或等于60 则y被赋值 P 该表达式的值为 P 如果x小于60 则y被赋值 F 该表达式的值为 F 31 05 2020 重庆理工大学计算机学院基础教研室 16 C语言提供两种选择控制语句 if语句switch语句 4 3选择结构的程序设计 所有程序的正常执行次序通常都是顺序的 然而 在许多问题的解决方案中 常会根据情况的不同 采取不同的处理方式 31 05 2020 重庆理工大学计算机学院

8、基础教研室 17 if 表达式 语句Aelse语句B 4 3 1if语句 if语句的一般形式 31 05 2020 重庆理工大学计算机学院基础教研室 18 else子句 是可选的 当无else子句时的if语句形式为 if 表达式 语句 31 05 2020 重庆理工大学计算机学院基础教研室 19 当if语句的目标块中又出现if语句时 C语言有如下规定 else子句总与距它最近的if配套 例如 if k if h do1 if i do2 这个if elsedo3 和这个else组合 if t do4 elsedo5 这个else和if k 组合 31 05 2020 重庆理工大学计算机学院基础

9、教研室 20 基于上述规则 一个常用的嵌套if语言构成多分支选择结构 也称为if else if阶梯 其一般形式如下 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else语句n 31 05 2020 重庆理工大学计算机学院基础教研室 21 C语言中 switch语句同样可以实现多分支选择 switch语句的一般形式是 4 3 1switch语句 switch 表达式 case常量1 语句序列1break case常量2 语句序列2break case常量3 语句序列3break default 语句序列n 可选 可选 31 05 2020 重庆理工大

10、学计算机学院基础教研室 22 switch语句可以作为另一个switch语句中语句序列的一部份 形成嵌套switch语句 这时 即使内外层的常量相同 也不会引起冲突 例如 switch x case1 printf process x y n switch y case0 printf Dividedby0error n break case1 process x y break case2 31 05 2020 重庆理工大学计算机学院基础教研室 23 例4 1从键盘读入两个整数 然后显示这两个数的商 4 3选择结构的程序设计举例 includevoidmain inta b printf E

11、ntertwonumbers separateby scanf d d 31 05 2020 重庆理工大学计算机学院基础教研室 24 例4 2从键盘读入年份 然后判断该年是否为闰年 符合下列条件之一的年份都是闰年 能被400整除的年份 不能被100整除 但可以被4整除的年份 31 05 2020 重庆理工大学计算机学院基础教研室 25 includevoidmain intyear leap printf Enteryear scanf d 31 05 2020 重庆理工大学计算机学院基础教研室 26 例4 3企业发放的奖金根据利润提成 利润 I 不超过10万元时 奖金可提10 利润不超过20

12、万元时 其中的10万元按10 提成 高于10万元的部分提成7 5 20万到40万元 其中的20万元按前述b方法提成 高于20万元的部分提成5 40万到60万元 其中的40万元按前述c方法提成 高于40万元的部分提成3 60万到100万元 其中的60万元按前述d方法提成 高于60万元的部分提成1 5 高于100万元时 其中的100万元按前述e方法提成 超过100万元的部分提成1 从键盘输入当月利润I 求应发放奖金总数 31 05 2020 重庆理工大学计算机学院基础教研室 27 includevoidmain longinti intbonus1 bonus2 bonus4 bonus6 bon

13、us10 bonus printf Enterprofitearned scanf ld 31 05 2020 重庆理工大学计算机学院基础教研室 28 if i 100000 bonus i 0 1 elseif i 200000 bonus bonus1 i 100000 0 075 elseif i 400000 bonus bonus2 i 200000 0 05 elseif i 600000 bonus bonus4 i 400000 0 03 elseif i 1000000 bonus bonus6 i 600000 0 015 elsebonus bonus10 i 10000

14、00 0 01 printf bonus d n bonus 31 05 2020 重庆理工大学计算机学院基础教研室 29 例4 4输入某年某月某日 判断这一天是这一年的第几天 解析 以2000年4月8日为例 应该先把前三个月的天数加起来 然后再加上8天即本年的第几天 遇闰年情况 且输入月份大于3时需要多加一天 31 05 2020 重庆理工大学计算机学院基础教研室 30 includevoidmain intday month year sum leap printf npleaseinputyear month day n scanf d d d 二月按28天计 31 05 2020 重庆理工大学计算机学院基础教研室 31 sum sum day 再加上某天的天数 if year 400 0 year 4 0 31 05 2020 重庆理工大学计算机学院基础教研室 32 第四章小结C语句可分为控制语句 表达式语句及复合语句 C语言中 逻辑真值为1 逻辑假值为0 C语言中 将非零值判定为逻辑真 将零值判断为逻辑假 关系 逻辑 条件运算符的优先级及结合性 其表达式的意义及应用 if语句用于实现单路 两路和多路分支 switch也是多选一的分支语句 它是if语句的一个补充 elseif结构 当用它编制程序时会增加可读性 使用if语句及switch语句进行选择结构程序设计

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

当前位置:首页 > 行业资料 > 其它行业文档

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