What is 计算机程序语言、C语言?

  1. 什么是计算机程序?

所谓程序,就是一组计算机能识别和执行的指令,每一条指令使计算机执行特定的操作,一个特定的指令序列用来完成一定的功能。

计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成;计算机的本质是程序的机器,程序和指令是计算机系统中最基本的概念。

  1. 什么是计算机语言?

计算机语言,是一种计算机和人都能识别的语言。

机器语言

计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令,指令变成电信号,让计算机执行各种操作。

机器指令

机器指令是计算机能在直接识别和接受的二进制代码;机器指令的集合就是该计算机的机器语言。在语言的规则中规定的各种指令的表示形式及其作用。

机器语言与人们习惯的语言差别太大,难学,难写,难记,难检查,难修改,难以推广使用,初期只有极少的计算机专业人员会编写计算机程序。

符号语言(又称为符号汇编语言或汇编语言)

为了克服机器语言的上述缺点,人们用一些英文字母和数字表示一个指令,创造出符号语言;计算机并不能直接识别和执行符号语言的指令,需要用一种称为汇编程序的软件把符号语言的指令转换成机器指令。

一般一条符号语言的指令对应转换为一条机器指令,转换的过程称为“代真”或“汇编”,符号语言又称为符号汇编语言汇编语言

虽然汇编语言比机器语言简单好记些,但仍然难以普及,不同型号的计算机的机器语言和汇编语言是互不相通的,机器语言和汇编语言是完全依赖于具体机器特性的,是面向机器的语言,由于它“贴近”计算机或离计算机“很近”,故称为低级语言

高级语言

为了克服低级语言的缺点,20世纪50年代创造出第一个计算机高级语言------FORTRAN语言。它很接近于人们习惯使用的自然语言和数学语言。程序中用到的语句和指令使用英文单词表示的,所用的运算符和运算表达式和人们日常所用的数学式子差不多,很容易理解。这种语言功能很强,且不依赖于具体机器,用它写出的程序对任何型号的计算机都适用(只须作很少修改),它与具体机器距离”远“,故称为计算机高级语言

当然,计算机也不是直接能识别高级语言程序,也需要进行”翻译“,用一种叫编译程序的软件把高级语言写的程序(称为源程序)转换为机器指令的程序(称为目的程序),然后计算机执行机器指令程序,最后得到结果。

高级语言的一个语句往往对应多条机器指令,人们称高级语言的出现是计算机发展史上”惊人的成就“。

高级语言经历的不同阶段
  1. 非结构化语言

初期的语言属于非结构化语言,编程风格比较随意,只要符合语法规则即可,没有严格的规范要求,程序中的流程可以随意跳转,使程序难以阅读和维护,早期的BASIC,FORTRAN和ALGOL等都属于非结构化的语言。

  1. 结构化语言

“结构化程序设计方法”,规定程序必须由具有良好特性的基本结构(顺序结构,选择结构,循环结构)构成,程序中的流程不允许随意跳转,程序总是由上到下顺序执行各个基本结构。这种结构清晰,易于编写,阅读和维护。QBASIC,FORTRAN77和C语言等属于结构化的语言,这些语言的特点是支持结构化程序设计方法。

非结构化和结构化语言都是基于过程的语言,在编写程序时需要具体指定每一个过程的细节,在编写规模较小的程序时还能得心应手,在处理规模较大的程序时显得捉襟见肘、力不从心了。在实践的发展中,程序面向的不是过程而是一个个对象,对象是由数据以及对数据进行的操作组成的。

  1. 面向对象的语言

后来在处理较大规模问题时,人们开始使用面向对象的语言。C++、C#、Visual Basic 和Java等语言是支持面向对象程序设计的语言。

  1. C语言的发展及其特点
C语言的发展

1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,最初C语言只是为描述和实现UNIX操作系统提供的一种工作语言而设计的。

1973年,KenThompson和D.M.Richie合作把UNIX的90%以上用C语言改写,即UNIX第五版。

1978年以后,C语言先后移植到大、中、小和微型计算机上,很快风靡全世界,成为世界上应用最广泛的程序设计高级语言之一。

1978年,Brian W.Kernighan 和 Dennis M.Ritchie合著了深远的名著The Programming Language 这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它实际上是第一个C语言标准。

1983年,美国国家标准协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C语言标准草案。

1989年,ANSI公布了一个完整的C语言标准------ANSI X3. 159-1989(常称为ANSI C 或 C89)。

1990年,国际标准化组织ISO接受C89作为国际标准ISO/IEC9899:1990,它和ANSI的C 89基本上是相同的。

1999年,ISO又对C语言标准进行了修订,在基本上保留原来的C语言特征得基础上,针对应用的需要增加了一些功能,尤其是C++中的一些功能,并在2001年和2004年先后进行了两次技术修正,被称为C99,C99是C89的扩充。

C语言的特点

C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可以用于编写应用软件,又可用于编写系统软件。掌握C语言称为计算机开发人员的一项基本功。

  1. 语言简洁、紧凑、使用方便、灵活。

C语言一共只有37个关键字,9个控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分,比其他许多高级语言简练,源程序短,因此输入程序是工作量少。

  1. 运算符丰富

C语言的运算符包含的范围很广泛,共有34种运算符,C语言把括号、赋值和强制类型转换等都作为运算符处理。

  1. 数据类型丰富

C语言提供的数据类型包括整型、浮点型、字符型、数组类型、指针类型、结构体类型和共用体类型等,C99又扩充了复数浮点类型、超长整型和布尔类型等。

  1. 具有结构化的控制语句

if...else,while do...while switch和for.用函数作为程序的模块单位,便于实现程序的模块化。C语言是完全模块化和结构化的语言。

  1. 语法限制不太严格,程序设计自由度大
  1. C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

C语言既具有高级语言的功能又具有低级语言的许多功能,可用来编写系统软件,C语言这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。

  1. 用C语言编写的程序可移植性好。

标准链接库是用可移植的C语言编写的,几乎在所有的计算机系统中都可以使用C语言。

  1. 生成目标代码质量高,程序执行效率高。

C原来是专门为编写系统软件而设计的,许多大的应用软件也都用C语言编写,这是因为C语言的可移植性好,硬件控制能力高,表达能力强。

目前C的主要用途之一是编写嵌入式系统程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值