C语言程序设计 高等教育应用型本科计算机类课程规划教材 江义火 PPT讲稿第1章 程序设计概述.pptVIP

C语言程序设计 高等教育应用型本科计算机类课程规划教材 江义火 PPT讲稿第1章 程序设计概述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* C语言程序设计 江义火 主编 ISBN:978-7-5611-5634-6 大连理工大学出版社 第1章程序设计概述 C 语言程序设计 第1章程序设计概述 1.1 程序和程序设计语言 1.2 算法 1.3 结构化程序设计 本章小节 * 1.1 程序和程序设计语言 程序与程序设计的概念 程序(Program)由序列组成。计算机程序是按序设计的计算机指令的集合,它告诉计算机如何完成一个具体的任务。 程序设计(Programming)是指设计、编制、调试程序的过程,即根据要解决的问题,使用某种程序设计语言,设计出能够完成这一任务的计算机指令序列。 * 1.1 程序和程序设计语言 程序设计语言 计算机程序设计语言的发展经历从低级到高级,从具体到抽象,直到可以用自然语言来描述。其种类非常多,总的来说可以分成机器语言、汇编语言、高级语言三大类。 * 机器语言 机器指令(由0 和 1组成),可直接执行 难学、难记 依赖机器的类型 汇编语言 用助记符代替机器指令,用变量代替各类地址。 克服记忆的难点 其他与机器语言类似 高级语言 类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。 * 例如: 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 机器语言程序 MOV AX, 300H ADD BX, AX MOV [2100H], BX HLT 汇编语言源程序 main( ) { int a, b, c; a=300; b=18; c=a+b; printf(“ a+b= %d\n”, c); } 高级语言 源程序(C) 源程序需要 翻译 1.1 程序和程序设计语言 语言处理程序 用高级语言(或汇编语言)编写的程序,即源程序是语言处理程序要处理的对象,语言处理程序把源程序翻译成语义等价的计算机能够识别的低级语言程序(目标程序)。由此可见,对语言处理程序来说,源程序是其处理对象(输入程序),目标程序是其处理结果(输出程序),它是在高级语言和计算机之间起到翻译作用的程序。 * 1.1 程序和程序设计语言 程序设计的基本原则 正确性 有效性 鲁棒性 可理解性 可维护性 可移植性 * 1.2 算法 什么是算法 为解决一个问题而采取的方法和步骤。 是为解决某一个具体问题而采取的确定的、有限的方法和步骤。计算机算法即计算机能够执行的算法,是指以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程。 程序=算法+数据结构 程序=算法+数据结构+程序设计方法+语言工具和环境 * * 1.2 算法 一个算法应该具备以下五个特征: 有穷性(有限性)。任何一种算法都应在有限的操作步骤内可以完成,哪怕提出的解题方法是失败的。 确定性(唯一性)。解题算法中的任何一个操作步骤都应是清晰无误的,不会使人产生歧义或者误解。 可行性(能行性)。解题算法中的任何一个操作步骤在现有计算机软硬件条件下和逻辑思维中都能够实现。 有0到多个输入。解题算法中可以没有数据输入,也可以同时输入多个需要算法处理的数据。 要有输出结果。一个算法执行结束之后必须有数据处理结果输出,哪怕是输出错误的数据结果,没有输出的算法是毫无意义的。 * 1.2.2 算法的表示方法 算法的表示方法 用自然语言描述算法 用流程图描述算法 用N-S图描述算法 用伪代码描述 用计算机语言 示例:求解 S=1*2*3……*n*(n+1)的算法 * 用自然语言描述算法 易于理解,但冗长,不够精确,难于描述复杂算法。 ①确定n的一个值; ②假设i的初始值为1; ③假设S的初始值为1; ④如果i≤n时,转去执行⑤,否则转去执行⑦; ⑤计算S乘以i的值后,重新赋值给S; ⑥计算i加1的值,然后将该值重新赋给i,转去执行④; ⑦输出S 的值,算法结束。 * 用流程图表示算法 流程图的基本图框 起止框 输入输出框 判断框 处理框 流程线 连接点 用流程图描述算法 * 用N-S图描述算法 N-S结构图 A B P T F A B 当P成立时 A A 当P成立时 当型循环 顺序结构 直到型循环 选择结构 * 用N-S图描述算法 用伪代码描述 (1)Start; (2)输入n的值; (3)S ← 1; (4)i ← 1; (5)do while i=n (6){ S ← S × i; (7) i ← i + 1;} (8)输出S的值; (9)end * 用计算机语言描述 #include

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档