计算机概论论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机概论论文
学院:信息科学与工程学院
年级专业:
姓名:
学号:
完成时间:2015年1月6日
一、序论
1、论题:了解程序设计语言的发展及应用
2、写作意图:在大体上把握程序设计语言的基本情况。
3、内容提要:在第一节C语言课时老师曾说过,人与人的交流靠的是语言。那么人若想和机器交流,就要掌握机器能懂的语言,那就是程序设计语言。程序设计语言能够实现人与计算机的交流,指挥计算机进行复杂的工作。本文由此出发,对程序设计语言进行概述,其中包括各类程序设计语言的特点及应用,还有程序设计语言的发展趋势,对程序设计语言进行整体的把握。
4、关键字:计算机程序设计语言
二、本论
(一)、程序设计语言概述
1、机器语言的特点
从年代表来看,机器语言属于最早的程序设计语言,即第一代计算机语言。美国普林斯顿大学的冯·诺依曼于1945年提出计算机体系结构设计思想。计算机从1946年问世至今都是以这种思想为基本依据的。其中很重要的一个思想就是二进制。计算机的内部电路是由开关和其他电子器件组成,而这些器件只有两种状态,即开或关。一般情况下,“开”状态用1表示,“关”状态用0表示,计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。所以,计算机语言就是一串串由“0”和“1”组成的指令序列,然后交由计算机执行。计算机语言又称面向机器的语言或低级语言,是计算机在发展早期唯一的程序设计语言。
类似与“1011010100000000”的一串代码被称为指令,一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。指令的基本格式如:操作码字段+地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。通过多个“0”和“1”可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。
机器语言的一个很大的优点是它可以直接被计算机识别,不需要进行任何翻译。虽然大多数其他的语言可以既可被编译又可被解译,但大多数只在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。机器语言具有灵活、直接执行和速度快等特点。由于使用的是针对特定型号计算机的语言,因此,机器语言的运算效率是所有语言中最高的。
但是,用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。总结说来,缺陷如下。一,繁琐;二,可靠性差;三,难以理解;四,可读性差;五,可移植性差。所以现在,除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。
2、汇编语言的特点
汇编语言也是利用计算机所有硬件特性可以直接控制硬件的语言,又称符号语言。汇编语言是在20世纪50年代,数学家Grace Hopper发明。在汇编语
言中,使用助记符代替操作码,用地址符号或标号代替地址码。采用符号来代替机器语言的二进制码,把机器语言变成了汇编语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。
有了汇编语言,编写程序有了很大的进步。汇编语言优点颇多,能够直接访问与硬件相关的储存器或I/O端口;能够不受编译器的限制,对生成的二进制码进行完全的控制;能够对关键码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;能够根据特定的应用对代码做最佳的优化,提高运行速度;能够最大限度的发挥硬件的功能。
尽管如此,汇编语言依然存在局限性。编写的代码非常难懂,不好维护;很容易产生bug,难以调试;只能针对特定的体系结构和处理器进行优化;开发效率很低,时间长且单调;编写的程序仍然依赖于机器。这些问题值得注意。
3、高级语言的特点
高级语言属于第三代程序设计语言,比起前面的两种更加简单易用。在高级语言下,其语法和结构更类似普通英文,远离对计算机硬件的直接操作,不必关心机器的具体实现,一般人经学习后都可以编写程序。它允许用英文写解题的计算程序,程序中所使用的运算符号和运算式子,都和我们日常用的数学式子差不多。高级语言容易学习,通用性强,书写出的程序比较短,便于推广和交流,是很理想的一种程序设计语言。高级语言发展于50年代中叶到70年代,有些流行的高级语言已经被大多数计算机厂家采用,固化在计算机的内存里。
高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易语言,中文版的C语言习语言等等,这些语言的语法、命令格式都不相同。其中就包括我们正在学习的C语言和即将接触的C++。从我们近期的初步学习来看,高级语言对于初学者还是比较容易掌握的。这就体现了它的优越性。
程序设计语言从机器语言到高级语言的抽象,带来的主要好处有:高级语
言接近算法语言,易学、易掌握,一般工程技术人员只要几周时间的培训就可
以胜任程序员的工作;高级语言为程序员提供了结构化程序设计的环境和工具,
使得设计出来的程序可读性好,可维护性强,可靠性高;高级语言远离机器语
言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率
高;由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周
期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要
的创造性劳动,以提高程序的质量。
(二)、各类程序设计语言的应用
1、过程化语言用于将算法表示成命令