C语言程序设计第1章xg.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3. 算法的描述工具 常用的描述算法的工具有:自然语言、传统流程图、结构化流程图、伪代码、PAD图、判定表和判定树等等。 (1) 用自然语言描述算法 用自然语言描述算法,就是用人们日常使用的语言,如汉语或英语等来描述算法。 例1-4 计算阶乘(factorial)5! =1×2×3×4×5。 解:可以使用2个变量p和i,其中: p——存放被乘数、部分积和最后结果, i——依次存放各个乘数。 1.5.3 结构化算法设计 用自然语言描述该算法如下: 算法开始 步骤1:p = 1 步骤2:i = 2 步骤3:p = p × I 步骤4:i = i + 1 步骤5:如果i≤5则转去执行步骤3,否则执行下一步 步骤6:输出p值 算法结束 优点:通俗易懂。 缺点:文字冗长,易出现二义性。 所以在开发软件时一般很少使用。 1.5.3 结构化算法设计 (1) 用自然语言描述算法 (2)用流程图描述算法 流程图是设计算法的有力图形工具之一。对于软件总体结构中的每一个模块,都可以画出其算法流程图,然后在编码阶段再根据流程图编写程序。 我们在阅读别人的文档不全的程序时,应首先根据一个模块中的程序画出流程图,然后才能分析清楚该程序模块采用了什么算法。 流程图是算法和程序的直观描述,我们既可以说它是“算法流程图”,又可称之为“程序流程图”,或称之为“程序框图”。因此,流程图是算法设计的辅助手段,也是阅读程序的得力助手。 1.5.3 结构化算法设计 例1-5 用流程图设计例1-4中题目的算法。 图1-5 算法流程图 开始 p = 1 i = 2 p = p * i i = i + 1 i ≤ 5 Y N 结束 输出p值 1.5.3 结构化算法设计 (2)用流程图描述算法 1.5.3 结构化算法设计 (2)用流程图描述算法 流程图一般由起止框、处理框、判断框、输入输出框、指向线、连接点、调用框和文字说明等构成。 ANSI(American National Standard Institute,美国国家标准化协会)规定的一些绘制流程图的常用图形符号如下: “起止框”,表示一个算法或程序 的开始或结束。 “处理框”,表示计算、赋值等操作。 “输入输出框”,表示需要从键盘输入数据 或将数据输出到屏幕等。 “指向线(箭头)”或“流程线”,表示算 法或程序的流向。 1.5.3 结构化算法设计 (2)用流程图描述算法 “判断框”,表示判断框内给定的条件是否满足,并根据判断的结果选择两个出口流向中的某一流向。它有一个入口,两个出口。在两个出口的地方要分别标明哪一个满足条件、或用Y(即yes)、或用T(即true,真),哪一个不满足条件、或用N(即no)、或用F(即false,假)。 1.3 C语言的特点 2. 语言简洁、紧凑。 ANSI C只有32个关键字(keyword,见P321附录C)。 新标准C也只有37个关键字。 C语言有9种控制语句,比其他高级语言的语法更简练、源程序更短。开发效率会更高。 1.3 C语言的特点 3. 数据类型丰富。 主要有字符型、整型、浮点型、枚举类型、数组类型、结构体类型、共用体类型、指针类型、空类型等等。 特别是指针类型,使用十分灵活有效,是C语言的精华。 可以方便地实现堆栈、队列、树、图、链表等复杂的数据结构及其相关的算法。 1.3 C语言的特点 4. 运算符十分丰富。 数据类型丰富,运算符也必然丰富。再加上C语言把括号、赋值、强制类型转换等都按照运算符来处理,使其表达式的种类多样化,运算类型十分丰富。 C语言共有34种运算符,分为15个优先级,有的从左往右运算(称左结合性)、有的从右往左运算(称右结合性)。(见P322附录D) 使用这些运算符可以实现其他高级语言难以实现的运算。 1.3 C语言的特点 5. 可直接对硬件进行操作。 C语言能够实现汇编语言的大部分功能,也可以直接对硬件进行操作。 比如C语言可以通过物理地址访问内存、能对二进制位(bit)进行操作、操作CPU内部的硬件、控制各种外部设备等等。 C语言是一种“带低级语言功能的高级语言”。因此,C语言既是一种系统描述语言,可用于编写系统软件;它又是一种通用的高级程序设计语言,适于编写应用软件。 1.3 C语言的特点 6. 生成目标代码质量高。 C语言编译系统采用了优化策略,C语言程序生成目标代码的效率一般仅比汇编语言低10%~20%,程序执行

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档