- 1、本文档共110页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 结构化程序设计(汪同庆)
第五章 结构化程序设计 语句 语句是构成程序的基本成分。 C语言程序常用的语句: 声明语句 类型说明符 变量名; 类型说明符 函数名(参数表); 表达式语句 表达式; 函数调用语句 函数名(参数表); 空语句 ; 语句 C语言程序常用的语句: 复合语句 语句 C语言程序常用的语句: 流程控制语句: 条件判断语句 if if-else switch 循环执行语句 while do-while for 跳转语句 goto 程序设计和算法 程序设计 程序 = 数据结构 + 算法 任何计算问题的解决方案包括 按照特定顺序去执行一系列动作。 算法(Algorithm) 为解决某个特定的问题而采用的确定且有限的步骤。 例如 “早晨上学准备算法”: 起床-穿衣-洗漱-吃早餐-上学 算法的表示 算法的表示方法 自然语言 伪代码 流程图 计算机语言 举例 问题 计算1+2+3+…+100 数据结构 定义整型变量 i 保存加数 定义整型变量 sum 保存每次累加的和 算法的自然语言表示 问题 计算1+2+3+…+100 算法的自然语言表示 算法的伪代码表示 问题 计算1+2+3+…+100 伪代码表示 算法的流程图表示 流程图表示 算法的计算机语言表示 C语言表示 程序的控制结构 程序控制 计算机程序中指定语句执行的顺序。 顺序执行 程序中的语句按照它们的书写顺序一句接一句地执行。 控制转移 把待执行的下一个语句指定为不是书写顺序中的下一个语句。 goto语句带来很多问题。 程序结构不清晰、可读性差、不利于维护。 结构化技术 结构化技术(1970s):所有的程序只用3种结构就可以写出来。 顺序结构(Sequence structures) Built into C Programs executed sequentially by default 选择结构(Selection structures) C has three types: if, if-else, and switch 循环结构(Repetition structures) C has three types: while, do/while and for 结构化程序 3种控制结构都是单入/单出控制结构。 结构化程序由3种结构通过以下方式组合而成: 堆叠(stacking) 嵌套(nesting) 顺序结构 顺序结构 按语句书写的顺序执行。 程序设计举例 问题: 把十进制整数407转换成八进制形式并输出。 分析与设计 转换规则:除8取余法。 用三个变量分别保存八进制形式的三位数,即三次除法运算所得的余数。 程序设计举例 源代码(cw0501.c) 关系运算 关系运算(比较运算) 比较两个值,结果为“真”或“假”。 举例:a3 如果a=8,则结果为“真” 如果a=1,则结果为“假” 用关系运算进行条件判断 关系表达式表示一个条件,根据其结果判断条件是否满足。 举例:a3 如果a=8,结果为“真”,即条件满足 如果a=1,结果为“假”,即条件不满足 关系运算符 关系运算符 关系表达式 关系表达式 表达式1 关系运算符 表达式2 表达式1和表达式2可以是任何表达式。 举例 关系表达式 关系表达式的值是一个逻辑值:“真”或“假” C语言没有逻辑类型,因此 用整数 1 表示“真” 用整数 0 表示“假” 即关系表达式的值是整数 1 或 0 。 举例 若a=1,b=2,c=3 关系表达式的使用 举例:写出下面各条件的关系表达式 x为不小于 -5 的整数 x为非零的数 x的平方大于m与n的和 if选择结构 if选择结构 用于在可选择的几个操作之间做出决策。 伪代码语句举例: … if student’s grade is greater than or equal to 60 Print “Passed” … 如果条件满足(学生的课程成绩大于或等于60) 那么就打印 “Passed”,然后程序按顺序执行下一条伪代码语句 否则,即条件不满足(学生的课程成绩小于60) 就忽略打印操作,顺序执行下一条伪代码语句 if选择结构 if选择结构是单入单出的 举例 if-else选择结构 if 选择结构 只有在条件满足时,才会执行一个操作; 否则就会跳过这个操作。 if-else 选择结构 条件满足时所执行的操作与不满足时所执行的操作不同。 伪代码语句举例: … if student’s grade is greater than or equal to 60 Print “Passed” else Print “Failed” … if-else选择结构 if 选择结构 举例 条件运算符 条件运算符:? : 三目运算符 右结合 条件表达式 表达式1?表达式2:表达式3
文档评论(0)