访客

郭盛华排名(郭盛华是哪里人)

184 hacker 数据提取

本文目录一览:

目前比较好上手的计算机语言?

当然是C语言,你可以去了解一下它的历史。

C语言的历史,

著名的计算机科学家丹尼斯·里奇(Dennis Ritchie)创造的。1967年, Ritchie进入贝尔实验室工作。贝尔实验室是当时世界上最有创造力的地方之一,著名的C语言、C++语言和Unix操作系统都诞生于此。一开始, 里奇和他的同事肯·汤普生开始研究DEC PDP-7机器,但是在这个机器上写程序很困难,只能用很底层很高深的汇编语言。于是汤普生设计了一种高级程序语言,并把它命名为B语言。但是由于B语言本身设计的缺陷,使他在内存的限制面前一筹莫展。1973年,里奇决定对B语言进行改良,他赋予了新语言强有力的系统控制方面的能力,并且新语言非常简洁、高效,里奇把它命名为C语言,意为B语言的下一代。

在开发C语言的同时,里奇和汤普生、布朗(贝尔实验室的另一名科学家)还接受了一个新任务,就是在DEC PDP-7上开发一个多任务、多用户的操作系统,1969年,他们用汇编语言完成了这个操作系统的第一个版本,里奇受一个更早的项目Multics的启发,将这个系统命名为Unix。

为了在全世界面前展现C语言强大的能力,里奇用C语言把Unix操作系统重写了一遍,这就是Unix第三版。而之前的第二版是用B语言开发的。1977年,为了推广贝尔实验室开发的Unix操作系统,里奇发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》,使C语言再向前跨出一大步,各种计算机都开始支持C语言。

1978年里奇和布朗一起出版了《C语言》一书,从而使C语言成为世界上应用最广泛的高级程序设计语言,而该书也成为计算机科学界最畅销的书籍之一。里奇把全部精力都放到Unix、C语言、C++语言的应用和推广上,曾在很多国家进行过教学和讲座活动。2000年,他来到了中国,在北京大学和复旦大学进行了题为《贝尔实验室与操作系统》的讲演,为推动中国Unix/Linux的应用和发展贡献了力量。

1983年,人们将计算机科学方面的最高荣誉——图灵奖颁发给了里奇,以表彰他对计算机科学所做出的杰出贡献。

C语言的特色

C语言是高级程序语言,也就是说程序员不必知道具体的中央处理器型号也可以为计算机进行程序编制。它主要用来进行计算机的程序设计。C语言具有高效、灵活、功能丰富、表达力强和移植性好等的特点,在计算机语言中备受青睐。

在程序能够运行前,源代码必须有编译器编译成机器语言。相对于汇编语言只能针对具体型号的CPU才能运行,C语言的便捷性是很明显的。

C语言的主要特性

C语言保留了低级语言的特性,例如涉及内存的指针。

C语言通过参数在函数里传递数值。

使用了预处理机制,使得程序里可以通过包含例如宏处理的方式来处理源程序。

C语言提供了一套标准库,这些库里提供了十分有用的功能。

但是并不是所有的这些特性都是有效的。例如,预处理通常作为一个独立的程序被处理,这使得与处理的程序并不一定被完全编译。

虽然C是高级语言,但是它同时拥有一些汇编语言的特性,对其它的语言来说这是接近低级语言的特点。例如,在C语言里,程序员可以对计算机内存进行管理。在默认的情况下,C语言不会对数组的范围进行检查,也就是说即使数组越界,C语言也不会作出错误提示。对计算机内存的管理使得程序员可以变出更快捷、更有效的程序,这对于设备驱动程序来说尤为重要。但是这也使得程序容易产生令人讨厌的“臭虫”,例如缓冲器溢出错误。然而,这些错误可以由一些工具来避免。

C语言的不足可以由由C语言发展而来的更新的编程语言改进。Cyclone语言的拥有提防对于内存错误的特性。C++和Objective C提供了用于面向对象的编程结构。Java和C#增加了面向对象的结构使得对内存的管理自动化。

C语言的版本

KR C

C不断的从它的第一版本进行改进。在1978年,Kernighan和里奇的C编程语言第一版出版。它介绍了下面的有关C语言版本的特性:

struct数据类型

long int数据类型

unsigned int数据类型

把运算符=+改为+=,依次类推。因为=+使得编译器混淆。

在以后的几年里,C编程语言一直被广泛作为C语言事实上的规范。在这本书中,C语言通常被表述成"KR C"。(第二版的包括了ANSI C标准)

KR C通常被作为C编译器所支持的最基本的C语言部分。虽然现在的编译器并不一定都完全遵循ANSI标准,但KR C作为C语言的最底要求仍然要编程人员掌握。但是无论怎样,现在使用广泛的C语言版本都已经与KR C相距甚远了,因为这些编译器都使用ANSI C标准。

ANSI C和ISO C

1989年,C语言被ANSI标准化。(ANSI X3.159-1989)。标准化的一个目的是扩展KR C。这个标准包括了一些新的特性。在KR出版后,一些新的特征被“非官方”的加到C语言中。

void函数

函数返回struct或union类型

void *数据类型

在ANSI标准化自己的过程中,一些新的特征被加了进去。ANSI也标准了函数库。ANSI C标准被ISO(国际标准化组织)采纳成为ISO 9899。ISO的第一个版本文件在1990年出版。

C99

在ANSI标准化后,C语言的标准在一段相当的时间内都保持不变,尽管C++继续在改进。(实际上,Normative Amendment1在1995年已经开发了一个新的C语言版本。但是这个版本很少为人所知。)标准在90年代才经历了改进,这就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。

在C99中包括的特性有:

可变范围的数组

新增加的数据类型,包括long long int,布尔类型和用于表示复数的类型

支持用//表示注释(这个特性实际上在C89的很多编译器上已经被支持了)

snprintf

但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的时候,微软和Borland却似乎对此不感兴趣

现在的很多高级语言都是与C语言不可分割的,比如C++,VC,或者说现在的高级平台.NET中的C# 等等 都是以C为基础的

如果你想学高级的语言,不妨先把C语言学好,在掌握那些高级语言的时候就更容易一些

THE END
相关文章
评论列表
  • 绿邪纯乏
    绿邪纯乏 Jul 5日, 2022 @ 11:36 am ng int数据类型 unsigned int数据类型 把运算符=+改为+=,依次类推。因为=+使得编译器混淆。 在以后的几年里,C编程语言一直被广泛作为C语言事实上的规范。在这本书中,C语言通常被表述成"KR C"。(第二版的包括了ANSI C标准) KR 回复
  • 泪灼眼戏
    泪灼眼戏 Jul 5日, 2022 @ 11:36 am 程序语言,并把它命名为B语言。但是由于B语言本身设计的缺陷,使他在内存的限制面前一筹莫展。1973年,里奇决定对B语言进行改良,他赋予了新语言强有力的系统控制方面的能 回复
发布评论
提交