




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章C程序流程设计 C语句概述 程序的三种基本结构 选择型程序设计 循环型程序设计 辅助控制语句 4 1C语句概述 C语句 以 作分隔符 编译后产生机器指令 C语句分类表达式语句 表达式加分号构成 空语句 程序控制语句 9种 如total total limit a 3 func printf Hello world n 用 括起来的一组语句一般形式 数据说明部分 执行语句部分 说明 后不加分号语法上和单一语句相同复合语句可嵌套 复合语句 结构化程序设计基本思想 任何程序都可以用三种基本结构表示 限制使用无条件转移语句 goto 结构化程序 由三种基本结构反复嵌套构成的程序叫 优点 结构清晰 易读 提高程序设计质量和效率三种基本结构顺序结构分支结构循环结构 4 2程序的三种基本结构 算法 算法 是对特定问题求解步骤的一种描述 它是指令的有限序列 其中每一条指定表示一个或多个操作 算法不是唯一的 对于同一个问题 可以有不同的解决方案 算法的特性 1 有穷性 2 确定性 3 可行性 4 输入 5 输出 算法中必须总是在执行有穷步之后结束 且每一步都可在有穷时间内完成 算法中每一条指令必须有确切的含义 不会产生二义性 并且在任何条件下 算法只有惟一的一条执行路径 即对于相同的输入只能得出相同的输出 一个算法是能行的 即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的 一个算法有零个或多个输入 这些输入取自于某个特定的对象的集合 一个算法有一个或多个输出 算法的表示方法 文字描述和图形描述 其中前者又有自然语言 伪代码等 后者主要有流程图 N S图图等 1 流程图 实例分析 例 求1 2 3 5的和 例 求M N的最大公约数 N S 返回 N S图 有三种基本的矩形框 分别表示三种基本结构 1 顺序结构 按照程序语句依次执行 只有当语句A执行完了之后 语句B才可以执行 例 求半径为3的圆的面积 我们首先要知道求圆面积参数 PI和半径 然后再利用公式求出面积 最后将所得的结果输出 N S图 2 选择 分支 结构 根据给定的条件进行判断 则判断结果决定执行两支中或多分支中一个分支 根据条件P进行判断 如果条件为真 成立 则执行语句A 否则执行语句B 例 根据成绩确定等级 如果成绩 85则为优秀 小于60则为不合格 否则为及格 N S图 3 循环结构 当给定条件成立时反复执行某一程序段 它又可分为两类循环结构 当型循环和直到型循环 当条件P成立 则反复执行语句A 每执行完一次 又返回去检查P是否成立 若不成立 则调出循环 例 求1 2 3 10的和 if语句 条件选择语句 if语句的三种形式形式一 格式 if expression statement执行过程 例 if x y printf d x 形式二 格式 if expression statement1elsestatement2执行过程 例 if x y max x elsemax y 4 3选择型程序设计 格式三 格式 if expr1 statement1elseif expr2 statement2elseif expr3 statement3 elsestatementn 执行过程 例 if salary 1000 index 0 4 elseif salary 800 index 0 3 elseif salary 600 index 0 2 elseif salary 400 index 0 1 elseindex 0 如 if a b if后面的表达式类型任意 语句可以是复合语句if x if x 0 if x if x 0 例考虑下面程序的输出结果 includemain intx y scanf d d CompileError 说明 一般形式 if语句嵌套 ch4 4 c includemain intx y printf Enterintegerx y scanf d d 运行 Enterintegerx y 12 23 XYEnterintegerx y 12 12 X Y 例输入两数并判断其大小关系 缺省 时 else总是和它上面离它最近的未配对的if配对 if else配对原则 例 if a b if b c printf a b c elseprintf a b 修改 if a b if b c printf a b c elseprintf a b 实现if else正确配对方法 加 实现if else正确配对方法 一般形式 switch 表达式 caseE1 语句组1 break caseE2 语句组2 break caseEn 语句组n break default 语句组 break 执行过程 switch语句 开关分支语句 E1 E2 En是常量表达式 且值必须互不相同语句标号作用 必须用break跳出case后可包含多个可执行语句 且不必加 switch可嵌套多个case可共用一组执行语句 如 case A case B case C printf score 60 n break 说明 例switch score case5 printf Verygood case4 printf Good case3 printf Pass case2 printf Fail default printf dataerror 运行结果 score为5时 输出 Verygood Good Pass Fail dataerror 例子 1 ch4 5 c includemain intc printf Entermornorhorother c getchar switch c case m printf nGoodmorning n break case n printf nGoodnight n break case h printf nHello n break default printf n n break 例子 2 根据输入字母输出字符串 概述C语言可实现循环的语句 用goto和if构成循环while语句do while语句for语句goto语句及用goto构成循环goto语句一般格式 goto语句标号 标号 语句 4 4循环型程序设计 功能 无条件转移语句说明 不能用整数作标号只能出现在goto所在函数内 且唯一只能加在可执行语句前面限制使用goto语句 4 4循环型程序设计 1 ch5 1 c includemain inti sum 0 i 1 loop if i 100 sum i i gotoloop printf d sum sum 0 1sum 1 2 3sum 3 3 6sum 6 4 sum 4950 100 5050 例用if和goto语句构成循环 一般形式 while 表达式 循环体语句 执行流程 while语句 一般形式 while 表达式 循环体语句 执行流程 while语句形式和执行流程 特点 先判断表达式 后执行循环体说明 循环体有可能一次也不执行循环体可为任意类型语句下列情况 退出while循环条件表达式不成立 为零 循环体内遇break return goto无限循环 while 1 循环体 While语句特点和说明 用while循环求 ch5 2 c includemain inti sum 0 i 1 while i 100 sum sum i i printf d sum 例子 ch5 21 c includemain inti 1 while i 10 printf d d d n i i i i i 运行结果 1 1 12 2 43 3 94 4 165 5 256 6 367 7 498 8 649 9 8110 10 100 例显示1 10的平方 一般形式 do循环体语句 while 表达式 执行流程 do while语句 特点 先执行循环体 后判断表达式说明 至少执行一次循环体do while可转化成while结构 do while语句特点和说明 一般形式 for expr1 expr2 expr3 循环体语句 执行流程 for语句 for 循环变量赋初值 循环条件 循环变量增值 循环体语句 说明 for语句中expr1 expr2 expr3类型任意 都可省略 但分号 不可省无限循环 for for语句可以转换成while结构 expr1 while expr2 循环体语句 expr3 for语句一般应用形式 例 includemain inti 0 for i 0 i 10 i putchar a i 运行结果 abcdefghij 例 includemain inti 0 for i 10 i putchar a i 例 includemain inti 0 for i 10 putchar a i 例 includemain inti 0 for i 10 putchar a i i 例子 三种循环可互相嵌套 层数不限外层循环可包含两个以上内循环 但不能相互交叉嵌套循环的执行流程 1 while while 2 do do while while 3 while do while 4 for do while while 嵌套循环的跳转禁止 从外层跳入内层跳入同层的另一循环向上跳转 循环的嵌套 for i 1 i 10 i for j 1 j 10 j printf j 9 4d n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产4150台便携式B超项目可行性研究报告
- 年产7.1万吨电梯尼龙滚轮项目可行性研究报告
- 纳米发电机材料项目可行性研究报告
- 防汛知识培训会讲话课件
- 物流行业数字化转型路径及推动因素
- 合同范本机器供货合同2篇
- 福建外商投资企业集体合同2篇
- 建设工程设计方案中标文件合同2篇
- 跨境电商合规框架-洞察及研究
- 经外周静脉穿刺中心静脉导管护理查房
- 国企投资融资管理办法
- 水电站大坝安全现场检查技术规程 -DL-T 2204
- 中国阅兵仪式课件
- 中医特色在手术室护理中的应用
- 肺结核的课件
- 渝23TG02 钢管桁架预应力混凝土叠合板图集 DJBT50-165
- 海洋弧菌护理查房
- 2025-2030中国玉米脱粒机行业现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 生产精益培训
- 《第十四届全国交通运输行业“大象科技杯”城市轨道交通行车调度员(职工组)职业技能大赛技术方案》
- 2025年柳州市城中区人民法院招录聘用人员考试试题
评论
0/150
提交评论