- 1、本文档共18页,可阅读全部内容。
- 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.1 计算机编程语言
所谓计算机程序,是计算机所执行的一系列指令的集合,通过这些指令集合,计算机可以实现数值计算、信息处理、信息显示等功能。
计算机系统采用电信号表示其内部的所有信息,而每个电信号往往采用通、断两个状态表示,因而,计算机内的所有信息均采用二进制格式保存,无论是执行指令、需要处理的数据,还是显示的文字符号。例如,文字处理时,在屏幕某个位置显示字母“A”,实际是将65这个数据的二进制格式送给了显卡,则由显卡根据65对应的字母A的点阵特征,输出视频信号给显示器,从而在显示器的某个位置“画”出字母“A”。
从第一台电子计算机开始,就采用二进制格式存储计算机指令,这种格式的指令称为机器语言,是CPU唯一能够识别的内容。例如,将数18送给普通微机CPU内部的某个寄存器BX(寄存器是CPU内部用于存放数据的单元),其机器语言格式如下:
这样以若干0和1组成的指令不利于记忆,一般人往往无法记住CPU某个指令的二进制格式,为此,引入了助记符的概念,即采用便于记忆的英文单词或其缩写格式代表相应的机器语言,如,对上面的机器语言,采用下面格式表示:
MOV BX,18
用“MOV”这样的缩写表示传送数据,一般程序员只要了解代表指令的这样助记符,就可以编写程序。
但是,这样书写的计算机程序,计算机的CPU是没法识别的,为此需要把助记符格式的程序翻译成对应的机器语言,这个过程称为编译(Compile),是由专门的工具实现的,如微软公司提供的MASM工具就可以进行编译工作。
采用助记符格式的编程语言,称为汇编语言,所有的CPU系统都具有自己的汇编语言。汇编语言虽然解决了程序设计的基本问题(不需要记忆那些0、1的组合),但仍然存在如下问题:汇编语言需要程序员了解CPU的结构和基本工作原理。如果需要计算18+20的结果,必须先将参与计算的一个数送到计算机内部的某个寄存器中(如上面的BX寄存器),然后才能执行加法指令,加的结果还需要再送回内存的某个区域,以便CPU进行下一步的计算。程序员必须知道CPU内部有哪些寄存器,其中又有哪些寄存器能够用于存放参与计算的数据。
上面的例子用汇编书写如下:
MOV BX,18
ADD BX,20
MOV [1000],BX
对编程人员来说,仅仅需要确定让CPU计算加法,不想了解其细节。基于这样的目的,发明了各种高级编程语言,如Fortran、Basic、C等,它们均采用符合人类自然描述语言的语法书写计算机程序,如Basic语言实现上述计算的格式如下:
A=10+20
高级语言简化了程序设计的难度,程序员不必了解细节,编写的程序由专门的编译工具转换成机器语言。正是这些高级语言的产生,才使得计算机编程能够推广开来。
常见的高级编程语言包括:
* DOS应用程序:Fortran、Basic、Pascal、C
* Windows应用程序:Visual C++、Visual Basic、Delphi、C++ Builder、Java
编程语言除了进行简单的加、减、乘、除计算外,有时还需要进行更复杂的科学计算,如三角、指数、对数等函数计算,而CPU并没有与这些函数对应的指令,只能采取一些近似的数值算法。这些数值算法并非每个编程人员都清楚,因而每个编程语言都提供了这些函数的通用算法,并以库函数的形式提供给程序员,程序员编程时,只需要简单地调用这些标准函数即可,如Visual Basic采用sin(x)进行正弦函数计算。
当编译工具把程序员编写的高级语言程序(称为源程序)编译成机器语言时,遇到其中的函数,并不能转换成机器语言。这样编译的程序称为目标程序,以.obj为后缀。不管是什么编程语言,编译后的目标程序都是统一的机器格式。
为了产生真正可以运行的程序,还需要将编译好的目标程序与编程语言提供的库文件中某些函数的指令连接在一起。这个步骤称为链接(Link),只有经过链接的程序才能产生可执行的.exe文件。
所有语言的编程步骤如下:
编辑(编写源程序)、编译(转换成目标程序)、链接(生成可执行程序)
需要说明的是,不同语言编译的方式不同。有的语言是先将所有程序代码一起编译成机器语言,再链接生成可执行文件,如C语言、Pascal语言,这种语言称为编译型语言,最后以可执行的exe文件运行;有的语言则可以边编译边执行
文档评论(0)