- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 程序设计基础 1.1 程序设计语言 1.2 程序设计 1.3 C语言概述 本章学习目标 l? 计算机语言按其发展过程一般分为:机器语言、汇编语言和高级语言 l???算法的概念、特性及描述 l???结构化程序设计的概念及设计步骤 l??? C语言的发展和应用现状 l??? 初识C语言,C语言的特点和编译 1.1 程序设计语言 1.1.1 机器语言 1.1.2 汇编语言 1.1.3 高级语言 1.1.1 机器语言 机器语言是最底层的计算机语言;用机器语言编写的程序,计算机硬件可以直接识别。 机器语言程序是由二进制0和1组成的系列;可移植性差,但程序执行效率高。 1.1.2 汇编语言 为了克服机器语言的缺点,人们对机器语言进行了改进,用一些容易记忆和辨别的有意义的符号代替机器指令,形成了汇编语言,也称为符号语言。 汇编语言也是一种面向机器的语言,但比机器语言易读、易改,执行速度与机器语言相当,比高级语言快很多,所以直到现在仍在实时控制、实时处理领域中广泛应用。 1.1.3 高级语言 20世纪50年代中期开始逐步发展出面向问题的程序设计语言,称为高级语言。 高级语言的显著特点是独立于具体的计算机硬件,通用性和可移植性好。 在使用高级语言设计程序时,可以有两种设计方法:一种是面向过程的程序设计方法,如BASIC、PASCAL、FORTRAN、COBOL、C;另一种是面向对象的程序设计方法,如Visual Basic、Visual C++、Visual Foxpro、Delphi、Java等。 1.2 程序设计 1.2.1 算法 1.2.2 结构化程序设计 1.2.3 程序设计的步骤 1.2.1 算法 数据结构 + 算法 = 程序 ——沃思(Nikiklaus Wirth) 一、算法及其特性 1、算法 所谓算法,就是解决某类问题的办法。确切地说,就是对某一类特定的问题,给出解决该问题的一系列(有穷的)操作,而每一操作都有其确定的意义,并在有限时间内可以计算出结果。 计算机算法可分为两大类:数值算法和非数值算法。 2、算法的特性 (1)确定性 算法中每一个操作步骤都有确切的含义 (2)有穷性 算法的步骤不能是无限的。 (3)可执行性 算法中每个步骤对计算机来说都是可以有效执行的,并得到确定的结果。 (4)输入 一个算法有零个或多个输入。 (5)输出 一个算法必须有一个或多个输出 3、算法的评价 如何评价一个算法呢?对算法的要求有:必须是正确的,必须能高效率执行,即占用内存空间少,所需运行时间短。于是,对算法的评价可以从两个方面进行: (1)执行算法所需的时间长短; (2)执行算法所需的计算机内容容量大小。 二、算法的描述 常用的描述算法的方法有:自然语言、伪代码、流程图。 1、自然语言 自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言描述算法具有通俗易懂的优点,但缺点也比较多: (1)比较繁琐。 (2)容易出现“歧义性”。 (3)用自然语言容易描述顺序执行的步骤。 例1.1 将两个变量x和y的值互换 用自然语言描述如下: 步骤1 将x值存入中间变量z中:x→z 步骤2 将y值存入变量x中:y→x 步骤3 将中间变量z的值存入y中:z→y 2、伪代码 伪代码(pseudo code)一般介于自然语言与程序设计语言之间,它具有自然语言灵活的特点,同时又接近于程序设计语言的描述。 伪代码与程序设计语言最大的区别就在于,伪代码描述比较自由,不像程序设计语言那样受语法的约束,只要描述得人们能理解就行,而不必考虑计算机处理时所要遵循的规定或其他一些细节。 例如,在例1.1中,将两个变量x和y的值互换,可以用伪代码描述如下: BEGIN x→z y→x z→y END 3、流程图 流程图是用一些图框、流程线以及文字说明来表示算法。用图来表示算法,直观、形象、容易理解。 (1)传统流程图 美国国家标准化协会ANSI规定了一些常用的流程图符号,各种流程图符号表示如下: 例1.2 判断一个数是否是素数的算法用流程图表示如图1.2所示。 (2)结构化流程图 ①顺序结构 ②选择结构 ③循环结构 以上三种基本结构有以下共同的特点: 只有一个入口。 ???? 只有一个出口 ?? 每一个基本结构中的每一部分都有机会被执行到。 结构内不存在“死循环”(即无终止的循环)。 (3)N-S流程图 ①
文档评论(0)