- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12.1命令式语言的产生 命令式程序设计语言是基于动作的语言,以冯诺依曼计算机体系结构为背景。机器语言及汇编语言是最早的命令式语言。 在这种语言中,计算机被看做是动作的序列,程序就是用语言提供的操作命令书写的一个操作序列。 用命令式程序设计语言编写程序,就是描述解题过程中每一步的过程,程序的运行过程就是问题的求解过程,因此也称为过程式语言。 用C语言实现命令式copy功能 #include stdio.h int main() { FILE *fin,*fout; char filename1[80],filename2[80],ch; scanf(%s %s,filename1,filename2); fin=fopen(filename1,r); fout=fopen(filename2,w); while (fscanf(fin,%c,ch)!=EOF) fprintf(fout,%c,ch); fclose(fin); fclose(fout); return 0; } 最初,命令式语言的命令集是标准von Neumann-Ecker计算机指令集的简单抽象,其中包括赋值语句、条件语句和循环语句。 赋值语句能够动态地更新某个内存区域的值 条件语句和循环语句结合使用可以控制跳过或重复执行一条或多条语句。 程序语言只要具备了以上所有特性,它就是图灵完全的。 控制结构 输入/输出 出错和异常处理 过程抽象 表达式和赋值 支持各种数据结构的函数库 12.2 过程抽象 在命令式编程范例中,程序以“算法+数据结构”的方式建立模型。算法最终成为程序需要用到两种思想作为补充:过程抽象和逐步求精法。 定义:过程抽象允许程序员只关心函数的功能和接口,而不必知道它的具体实现 过程抽象将整个系统的功能分为若干部分,强调功能完成的过程和步骤。使用过程抽的象有利于控制、降低整个程序的复杂度,但是这种方法本身自由度大,难于规范化和标准化,操作起来有一定难度,在质量上不易保证。 定义:逐步求精法的过程把算法从最普通的形式转化为详细精确的命令的执行,从而实现过程抽象。 将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。 12.3 表达式和赋值 表达式是值、变量、函数、操作符的组合,按照和语言相关的优先级进行计算得到另一个值。语句是命令式语言中最小的独立元素。 本质上,表达式是一个值的表示,这个值就是对表达式求值的结果。和表达式不同,命令的本质是改变状态。 考虑下面的代码片断i = 1 + 1;“1 + 1”是一个表达式,对它进行求值计算后得到2这样一个值。i = 1 + 1则是一个语句,因为它改变了变量i的状态。 此外,由于全局变量和引用类型的使用使得函数也可能具有表达式和语句双重身份。 如果不存在全局变量和引用类型,程序语言中函数和数学中的函数比较类似, 函数无法影响程序状态,只能通过返回值返回计算结果,这时,函数只能是表达式(这种情况下,返回空的函数没有任何意义),这种函数的参数传递叫值传递。 但如果函数能够修改全局变量或者参数的类型是引用类型,那么函数中就可以改变这些变量的状态,从而无须返回结果。 几乎所有的高级语言都支持引用/指针类型,所以具有返回值的函数既能用着表达式,又能用着语句;无返回结果的函数只能用着语句。 12.4 支持数据结构的库 命令式语言的基本数据结构-数组和记录。在此基础上,现代编程语言对函数库进行了扩充,使开发复杂的应用程序更加容易。在实践中,程序员依靠库来避免在每次需要用的时候都重新编写那些通用的函数和数据结构。 12.5 命令式编程和C语言 早期的C 语言主要是用于UNIX系统。 目前最流行的C语言有以下几种: ??? ·Microsoft C 或称 MS C ??? ·Borland Turbo C 或称 Turbo C ??? ·ATT C 这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。 C语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字,9种控制语句, 注意:在C语言中,关键字都是小写的。 C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型高级程序设计语言的一个特点,与解释型的BASIC语言是不同的。 12.5.1 C语言的一般特征 1.一个C语言源程序可以由一个或多个源文件组成
文档评论(0)