




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流程控制 前面我们看到的代码都是顺序执行的 这称为顺序结构 但有时候 顺序结构的代码是远远不够的 比如有些18禁的小电影只允许成年人观看 你因为年龄不够 儿童不宜 这就是选择 程序代码执行的顺序 称作流程控制 Ta有顺序 选择和循环三种结构 选择结构 选择结构就是根据不同的情况执行不同的代码 也就是说 某些代码可能执行 也可能不执行 选择结构有两种基本类型 if和switch if语句 最简单if语句if语句的控制范围if else 语句if语句的嵌套if elseif 语句 多分支 if语句示例 排序初探 if语句常见问题解析 最简单if语句 最简单if语句的格式 if 表达式 语句 功能 判断表达式是否为真 若真 则执行语句 若假 则执行下一条语句 if语句的控制范围 if 表达式 语句1 语句2 当前情况下 if语句只能控制语句1的执行或不执行 不能控制语句2的执行或不执行 换句话说 语句2一定会执行 if语句的控制范围 续 if 表达式 语句1 语句2 如果想让if语句控制多条语句的执行或不执行就必须把这些语句用 括起来 if else 语句 if else 语句的格式 if 表达式 语句1 else语句2 功能 判断表达式是否为真 若真 则执行语句1 否则 执行语句2 if语句的嵌套 一个if语句又包含一个或多个if语句称为if语句的嵌套 Ta的格式 if 表达式 if 表达式 语句1 else语句2 elseif 表达式 语句3 else语句4 说明 if语句的嵌套常用以解决比较复杂的选择问题 其中每条语句的执行都需经过多个条件共同决定 现作几点说明如下 任何if语句都可以嵌套 被嵌套的if语句本身还可以是嵌套的if语句 在多层嵌套的if语句中 else总是与离它最近且没有配对的if配对 if elseif 语句 多分支 if elseif 语句的格式 if 表达式1 语句1 elseif 表达式2 语句2 else语句n 从上到下逐一判断表达式 当某个表达式为真 则执行其对应的语句 其余部分不执行 若所有表达式均为假 则执行语句n if语句示例 排序初探 算法是一个宽泛的概念 学编程 就必须要了解基本的算法 那么排序算法就是其中的明珠 选择排序法是排序算法中的一种 其基本思想 以升序为例 是 首先 找出最小的数 放在第一个位置 然后 再找出第二小的数 放在第二个位置 以此类推 直到所有的数从小到大排序 if语句常见问题解析 1 if 表达式 等价于 if 表达式 这是一个空语句 if语句常见问题解析 2 if 表达式 语句1 else语句2 if 表达式 错误语句1 else语句2 if语句常见问题解析 3 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式m 语句m else语句n 即使表达式1和表达式2都成立 也只会执行语句1 if语句常见问题解析 4 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 这样写语法上完全没有问题 但逻辑上会有漏洞 if语句常见问题解析 5 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else 表达式4 语句4 这样写是错误的 改正方法 要么去掉 表达式4 要么在 表达式4 前加if if语句常见问题解析 6 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else 表达式4 语句4 这样写语法上OK 但逻辑上是错误的 switch语句 C语言虽然没有限制if else 能够处理的分支数量 但当分支过多时 用if else 处理会不太方便 而且容易出错 这时 我们就需要另一种选择结构 switch语句 用来代替多分支的if else 语句 switch语句的格式 switch 表达式 case常量表达式1 语句1 case常量表达式2 语句2 case常量表达式n 语句n default 语句n 1 switch语句的执行过程 先计算表达式的值 假设为m 从第一个case开始 依次比较各常量表达式和m的值 如果相等 就执行 后面的所有语句 直至语句结束或碰到break 而不管是否与剩下的case匹配 如果不相等 就跳过 后面语句 继续比较下一个case 如果比到最后一个常量表达式都找不到相等的 那么就执行default后面的语句 说明 switch后面 里的表达式原则上允许为任意数据类型 但VC 6 0中只允许为整型或字符型 case后面必须是一个整数 或者是结果为整数的表达式 不能包含任何变量 default不是必须的 当没有default时 如果所有case都匹配失败 那么程序就没结果 动动脑 判断下面的示例是否正确 case10 printf case8 9 printf case A printf case A 19 printf case9 5 printf casea printf casea 19 printf 循环结构 所谓循环结构 就是重复地执行同一段代码 比如 我们要计算1 2 3 100之和 就是重复99次加法运算 循环结构有三种基本类型 for while和do while for循环 for循环的格式for循环的执行过程for循环的控制范围for循环的3个表达式 for循环的格式 for循环的一般格式 for 表达式1 表达式2 表达式3 语句 表达式1仅在第一次循环时执行 以后不再执行 表达式2一般是关系表达式 决定了是否还要继续下次循环 表达式3一般是自增或自减操作 使表达式2逐渐 不成立 for循环的执行过程 先执行表达式1 再执行表达式2 如果其值为真 则执行循环体 否则结束循环 执行完循环体后再执行表达式3 重复执行b 和c 直至表达式2的值为假 就结束循环 b 和c 是一次循环 会重复执行 for循环的主要作用就是不断执行b 和c for循环的控制范围 for 表达式1 表达式2 表达式3 语句1 语句2 当前情况下 for循环只能控制语句1执行的次数 无法控制语句2执行的次数 换句话说 语句2仅执行一次 多个for循环嵌套 1 for 表达式1 表达式2 表达式3 for 表达式4 表达式5 表达式6 语句1 语句2 多个for循环嵌套 2 for 表达式1 表达式2 表达式3 for 表达式4 表达式5 表达式6 语句1 语句2 for 表达式7 表达式8 表达式9 语句3 for循环的3个表达式 for循环中的表达式1 循环初始条件 表达式2 是否循环条件 和表达式3 循环趋向结束条件 都可以省略 但 必须保留 下面以1 100的和为例 省略表达式1 可以将表达式1移到for循环的前面 inti 1 sum 0 for i 100 i sum i 省略表达式2 如果不做处理就会成为死循环 for i 1 i sum i 所谓死循环 就是是否循环条件永远成立 循环会一直执行下去 永不结束 死循环对程序的危害很大 一定要避免 省略表达式3 不会修改表达式2 是否循环条件 中变量的值 可以在循环体中加入该语句 for i 1 i 100 sum i i 省略表达式1和表达式3 i 1 for i 100 sum i i 3个表达式同时省略 for 语法上完全OK 无实际意义相当于 while 1 补充 表达式1和表达式3可以是一般表达式也可以是逗号表达式 for i 0 j 100 i 100 i j sum i j 表达式2一般是关系或逻辑表达式 也可是数值或字符 只要非零 就执行循环 for c getchar n printf c n c while循环 while循环的一般格式 while 表达式 语句 先执行表达式 其值为真 则执行语句 执行完语句 再次执行表达式 如果为真 继续执行语句 如此循环往复 直至表达式为假 退出循环 while循环与for循环 for 表达式1 表达式2 表达式3 语句 等价于 表达式1 while 表达式2 语句 表达式3 while循环示例 回文数 从键盘上输入一个整数 如果该数是回文数 返回YES 否则返回NO 若任一自然数 将其各位数字反向排列所得自然数与其相等 则称这个自然数为回文数 如 12321是回文数 但12345不是回文数 do while循环 do while循环的一般格式 do 语句 while 表达式 do while循环与while循环的不同在于 它会先执行语句 然后再判断表达式是否为真 为真则继续循环 为假则终止循环 因此 do while循环至少要执行一次语句 跳出循环 使用循环时 如果想提前结束循环 在不满足是否循环条件的情况下结束循环或进入下一次循环 可以使用break语句或continue语句 break语句 当break用于switch语句时 会终止switch语句 当break用于循环时 会终止循环 break语句常和if语句一起使用 即满足条件时终止循环 break不能单独用于if语句 在多层嵌套的switch语句或循环中 break只能终止离Ta最近的switch语句或循环 continue语句 continue语句用以跳过循环中剩余的语句而强行进入下一次循环 continue语句只能用于循环 常与if语句一起使用 即满足条件时进入下一次循环 continue语句与break语句的不同点在于 break语句用来终止循环 循环语句不再有执行的可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑工程师岗位面试要点及常见问题解答
- 2025年焊接工艺考试热点钎焊操作规范及安全注意事项
- 2025年水利专业求职者必看初级灌区管理工面试攻略与模拟题解析
- 2025年特岗教师招聘考试指南初中语文教学法
- 2025年旅游策划与管理专业面试预测题及解析
- 2025年信息技术员招聘考试热点解析及模拟题
- 电力交易员基础知识培训课件
- 电刀使用课件
- 电冰箱基础知识培训教材课件
- 2025年特岗教师招聘初中数学面试技巧与预测题解析
- 选矿概论-6 浮选
- 温通刮痧技术操作流程图及考核标准
- 教师如何使用AI开展教学DeepSeek使用指南人工智能 课件
- 《企业竞争情报》课件
- 刑事撤案申请书
- 排水证授权委托书范本
- 《矿山隐蔽致灾因素普查规范》解读培训
- 2024年考研英语一阅读理解80篇试题及答案
- 金属非金属地下矿山紧急避险系统建设规范培训
- 新概念第二册单词表(完整版)
- 《商务跨文化交际》课件
评论
0/150
提交评论