- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序要使计算机能完成人们预定的工作,就必须把要完成工作的具体步骤编写成计算机能执行的一条条指令,计算机执行这些指令序列后,就能完成指定的功能,这样的指令序列就是程序。简单说程序是能完成一定功能的指令序列。要想学会编写程序,首先要学习提供指令的程序设计语言;其次就好认识许多字不一定能写出好文章一样,仅仅学习了程序设计语言还不能编写出好的程序,还要学习更多和程序设计有关的知识和技巧。
程序的功能一般是指其处理数据的能力,所以一个程序包括以下两个方面内容:
对数据的描述。在程序中要指定处理数据的类型和形式,即数据结构(data structure)。
对操作的描述。即操作步骤,也就是算法(algorithm)。数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。
作为程序设计人员,必须认真考虑和设计数据结构和操作步骤(即算法)。因此,著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:
程序=数据结构+算法
当然这些要素都离不开一个与计算机交互的平台——语言和环境。因此,可以这样表示程序:
程序=算法+数据结构+语言和环境
算法是程序的灵魂,是解决问题所需要采用的合适方法,决定程序做什么和怎么做;数据结构是加工对象的组织方式;程序设计语言是程序设计的工具和环境。
大家更熟悉的一个词可能是软件,软件是具有一定综合功能的程序、数据及相关文档的集合。只有打好程序设计的基,并掌握一定的软件开发技术后,才有可能去开发具有实用性的软件。
11 引言1.1.1 程序设计语言及其分类
1程序设计语言其功能
程序设计语言是一种指挥的工具?一种程序员之间交流的方式?一种表述高层设计的媒介?一种算法的记述方式?一种表述观念间关系的途径?一种试验工具?一种控制计算机化的设备的途径?一种通用程序设计语言必须所有这些东西,这样才能服务。——这是Stroustrup[1994] 对程序设计语言的论述。
发明程序设计语言的目的就是为了使机更容易使用。语言是计算机软件中非常独特的一部,属于系统软件,但又和应用软件息息相关。是使人类能够用某些命令、指令让计算机为人类进行数值、逻辑运算。
2. 程序设计语言可以按对硬件依赖的程度分类
人们把程序设计语言按其计算机硬件依赖的程度分为低级语言和高级语言。低级语言包括机器语言和汇编语言。
机器语言就是一台机器本身的语言,这台机器可以直接响应的指令的记述形式,是唯一可以被计算机直接执行的语言。面向机器程序语言的指令由许多的01组成,一条计算机指令指示计算机一次完成一个最基本的操作。由这种语言编写的程序冗长可读性差、移植性差容易出错晦涩难懂,是一般人类所无法接受的。但这样的程序执行效率高,节省内存,运行速度快,用于直接控制计算机的硬件。
为了克服机器语言的缺点,产生了汇编语言。汇编语言是机器语言的一种变形,是将机器指令助记成为可读易懂的符号,但仍只能完成机层次的操作;用汇编语言编写的程序要在计算机上执行,先要将用汇编语言编写的源程序转换成机器语言程序,称完成这个转换功能的程序为汇编程序。语言的缺点是指令功能简单,即使完成一个算术表达式的运算也需编写大段程序需要对硬件进行了解,完成的程序不具可移植性。语言执行速度快,可直接控制硬件,适用于实时性要求较高的自动控制系统。?
为了克服以上两种语言的缺陷,了许多高级语言。高级语言的共同特点是完全不依赖于硬件,接近于自然语言(当然是英语)。基本构成是语句,语句的功能要比机器语言指令的功能强大多,另外还提供了丰富的函数库。
3.程序设计语言还可以按其采用的范型分类
1)面向过程的语言
面向过程的语言虽可独立于计算机编写程序,但用这类语言编写程序时,程序不仅要说明做什么,更重要的是非常详细地告诉计算机如何做,程序需要详细描述解题的过程和细节。
2)面向问题的语言
不必关心问题的求解算法和求解的过程,只需指出问题是做什么数据的输入和输出形式,就能得到所需结果。面向问题语言又称为非过程化语言或陈述性语言,如报表语言、SQL( Structured Query Language)语言等。SQL语言是数据库查询和操纵语言,能直接使用数据库管理系统。由于使用面向问题语言解题只要告诉计算机做什么,不必告诉计算机如何做3)面向对象的语言
为克服面向过程语言过分强调求解过程的细节,程序不易复用的缺点,面向对象程序设计方法和面向对象语言。面向对象语言引入了对象、消息、类、继承、封装、抽象、多态性等机制和概念。用面向对象语言进行程序设计时,以问题域中的对象为基础,将具有类似性质的对象抽象成类,并利用继承机制,仅对差异进行程序设计,可以提高软件开发效率。
4.其他分类方式
按应用领域分类有人工智能程序设计语言(如lisp)、逻辑推理程序设计语言(如Prolog)、系统
文档评论(0)